Skip to main content
EPSS 0.3%top 80%

CVE-2026-49473: CWE-436: Interpretation Conflict in cedar-policy authorization-for-expressjs

0
High
Published: 08/12/2026 (08/12/2026, 23:22:38 UTC)
Source: GCVE Database
Vendor/Project: cedar-policy
Product: authorization-for-expressjs

Description

@cedar-policy/authorization-for-expressjs is an open-source Express.js middleware that integrates Cedar authorization into Express applications by mapping HTTP requests to Cedar actions and evaluating authorization policies before allowing requests to proceed. Versions prior to 0.3.0 have an issue where, under certain circumstances, the middleware matches incoming requests against Cedar action mappings using req.originalUrl, which includes the query string, while Express routes requests using only the path component. The middleware uses req.originalUrl to match incoming requests against Cedar action mappings. In Express, req.originalUrl includes the query string, while route matching uses only the path. This creates a divergence between what Cedar authorizes and what Express executes. When an application defines separate actions for overlapping path prefixes with different authorization requirements (for example, GET /users for listing all users with admin-only access, and GET /users/{id} for retrieving a single user with any authenticated user access), an actor can append a query string to bypass the more restrictive policy. Sending GET /users/?x=1 causes the middleware to match against /users/{id} (with id parameter set to ?x=1) and evaluate the less restrictive action, while Express routes the request to the /users list handler. This allows inappropriate access to the more restrictive endpoint. This issue has been addressed in version 0.30. Some workarounds are available. Validate and sanitize incoming request paths before they reach the authorization middleware. Ensure that applications do not rely solely on the middleware for authorization when defining multiple actions on overlapping path prefixes with different permission levels.

CVSS v3.1

Score 8.8high

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected software

npmghsa
@cedar-policy/authorization-for-expressjs
Affected versions
<0.3.0

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 08/13/2026, 12:57:56 UTC

Technical Analysis

@cedar-policy/authorization-for-expressjs is an Express.js middleware integrating Cedar authorization by mapping HTTP requests to Cedar actions. Versions before 0.3.0 use req.originalUrl (including query strings) for authorization matching, while Express routes based on the path only. This discrepancy causes a divergence between authorization checks and actual routing. For example, GET /users/?x=1 is authorized as GET /users/{id} (less restrictive) but routed to GET /users (more restrictive). This allows bypassing stricter authorization policies via query string manipulation. The vulnerability is addressed in version 0.3.0. Workarounds include validating and sanitizing request paths before authorization and avoiding reliance solely on this middleware for overlapping path prefixes with different permissions.

Potential Impact

An attacker with limited privileges can bypass stricter authorization controls by manipulating the query string in HTTP requests. This leads to unauthorized access to sensitive endpoints that should be restricted, potentially exposing sensitive data or functionality. The vulnerability affects confidentiality, integrity, and availability as indicated by the CVSS score of 8.8 (high severity).

Mitigation Recommendations

A fix is available in version 0.3.0 of @cedar-policy/authorization-for-expressjs. Users should upgrade to this version to resolve the issue. Until upgrading, applications should validate and sanitize incoming request paths before they reach the authorization middleware. Additionally, do not rely solely on this middleware for authorization when defining multiple actions on overlapping path prefixes with different permission levels.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Gcve Source
db.gcve.eu
Osv Id
GHSA-g4w6-vmgf-xqvx
Osv Schema Version
1.4.0
Aliases
["CVE-2026-49473"]
Ecosystems
["npm"]
Database Specific Severity
HIGH
Cvss Version
3.1

Threat ID: 6a4452e927e9c797198e1a9b

Added to database: 06/30/2026, 23:36:09 UTC

Last enriched: 08/13/2026, 12:57:56 UTC

Last updated: 09/11/2026, 18:03:39 UTC

Views: 122

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses