Skip to content

v1.2.2

Latest
Compare
Choose a tag to compare
@tawoyinfa tawoyinfa released this 07 Nov 11:18
· 4 commits to main since this release

Release Notes: Security Enhancement - Fine-Grained GraphQL Authorization

Security Vulnerability Fixed

  • Patched security vulnerability in request approval workflow that allowed a requester or member of an approver group to self-approve their access request
  • Implemented field-level authorization controls in GraphQL schema
  • Prevented unauthorized manipulation of approver fields during request creation
  • Fixed potential privilege escalation through approval parameter injection

Technical Implementation

GraphQL Schema Enhancements

  • Added granular @auth directives at both type and field levels
  • Implemented strict field-level permissions for sensitive fields:
    • approval status
    • approver information
    • request metadata
  • Restricted owner permissions to appropriate operations
  • Added separate authorization rules for approvers using ownerField

Authorization Rules

  • Created distinct permission sets for:
    • Request owners (create, read own requests)
    • Approvers (read, update approval fields)
    • Auditors (read-only access)
    • IAM-authenticated services
  • Enforced separation of duties through schema-level controls
  • Prevented unauthorized modification of approval-related fields

Security Impact

  • Ensures requesters cannot modify approval fields
  • Enforces proper segregation between requesters and approvers
  • Prevents authorization bypass through parameter manipulation
  • Maintains audit trail integrity
  • Protects against unauthorized privilege escalation

Required Actions

Technical Notes

  • Implementation uses AWS AppSync @auth directives
  • Leverages multiple authorization rules per field
  • Combines owner-based and group-based access control
  • Maintains IAM-based access for system operations