CVE-2026-57954: Elide Authorization Bypass in Sort Expressions
Elide, a Java framework for building APIs, contains a flaw in how it validates sorting requests. When users ask an API to sort data by a specific field, Elide is supposed to check whether they have permission to see that field. In versions up to 7.1.17, this permission check is skipped for sort expressions, meaning an attacker with basic API access can sort results by fields they shouldn't be able to access. By observing how the rows reorder when sorting by different fields, an attacker can infer the relative values of hidden fields—essentially reading data they have no permission to see. This vulnerability affects both JSON:API and GraphQL endpoints.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 4.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
- Weaknesses (CWE)
- CWE-862
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-29 / 2026-06-30
NVD description (verbatim)
Elide through 7.1.17 fails to enforce @ReadPermission on client-supplied sort expressions in SortingImpl.getValidSortingRules, allowing attackers to sort collections by forbidden fields. Attackers can infer hidden field values through row ordering analysis, leaking relative field ordering across all rows via both JSON:API and GraphQL read paths.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-57954 is an authorization bypass in Elide's SortingImpl.getValidSortingRules method. The framework fails to enforce @ReadPermission annotations on sort expressions supplied by clients. An authenticated user can exploit this by requesting sorts on forbidden fields; the absence of permission validation allows the sort to execute, leaking field ordering information across all rows. The vulnerability does not require elevated privileges (PR:L indicates low privilege requirement), network isolation is bypassed (AV:N), and no user interaction is needed. The attack surface spans both JSON:API and GraphQL read operations, enabling inference-based information disclosure.
Business impact
This vulnerability creates a covert data leakage channel for systems using Elide to protect sensitive information. An attacker with valid API credentials—potentially obtained through phishing, supply chain compromise, or insider threat—can systematically probe for hidden or restricted fields and infer their values without direct access. In healthcare, financial, or PII-heavy applications, this could expose patient IDs, account balances, or confidential classifications. The CVSS score of 4.3 reflects that impact is limited to confidentiality (no integrity or availability loss) and requires authentication, but the ability to leak data across all rows in bulk makes this a meaningful privacy and compliance risk.
Affected systems
Elide framework versions through 7.1.17 are vulnerable. Deployments using Elide to serve APIs with JSON:API or GraphQL endpoints and relying on @ReadPermission to restrict field access are at risk. Applications that use Elide for internal tools, multi-tenant systems, or APIs with role-based access controls should be considered in scope. The vendor_products field in the source data is empty, so consult your Elide dependency tree and upgrade path against the official Elide release notes to confirm your exposure.
Exploitability
Exploitation requires valid API credentials (PR:L) but no special network position or user interaction. An attacker can craft sort requests programmatically and execute them at scale. The attack is deterministic and repeatable: by sorting on sequential or derived fields and analyzing result ordering, an attacker builds a map of hidden data. No special tools or zero-day knowledge is required; standard API clients suffice. The lack of CVSS attack complexity (AC:L) confirms this is straightforward to execute once the vulnerability is known.
Remediation
Upgrade Elide to a patched version that enforces @ReadPermission on sort expressions in SortingImpl.getValidSortingRules. Verify against the official Elide GitHub repository and advisory for the specific version that resolves this issue. As an interim mitigation, review and tighten @ReadPermission annotations on all model fields, and consider disabling sorting on sensitive fields at the API schema level if patches cannot be deployed immediately.
Patch guidance
Check the Elide project's releases page and security advisory for the first patched version after 7.1.17. Update your build.gradle, pom.xml, or equivalent dependency manager to pull the fixed version. Run your integration tests with a test suite that specifically exercises sorting on permission-denied fields to verify the patch is effective. If you maintain a private fork or customized Elide build, audit SortingImpl.getValidSortingRules in your codebase to ensure the permission check is in place.
Detection guidance
Monitor API logs for repeated sort requests on unusual or non-existent field names, particularly from single authenticated users or service accounts. Look for patterns like rapid iteration through field names or sorts on fields that rarely appear in normal application workflows. Implement runtime checks on sorting requests that log when a sort attempts a field marked with @ReadPermission restrictions. Consider deploying a WAF rule to rate-limit or block sort requests from a single user within short time windows if your threat model warrants it.
Why prioritize this
Although the CVSS score is MEDIUM (4.3), this vulnerability should be prioritized for patching because it enables information disclosure at scale without leaving obvious audit trails. Attackers can infer sensitive data quietly, and the flaw affects every authenticated user by default. Systems handling regulated data (HIPAA, PCI, GDPR) should treat this as high priority to avoid compliance violations and reputational risk.
Risk score, explained
The CVSS 3.1 score of 4.3 (MEDIUM) reflects: (1) confidentiality impact limited to inference-based leakage rather than direct reads, (2) authentication requirement (PR:L) reducing attack surface to valid users, (3) low attack complexity and network accessibility raising the floor above LOW, and (4) no integrity or availability impact. The score appropriately captures that this is a real but bounded privacy risk, not a critical system compromise. Context-specific risk may differ: a public-facing API is higher risk than an internal tool, and datasets with high PII density are higher risk than generic catalogs.
Frequently asked questions
Can an unauthenticated attacker exploit this?
No. The CVSS vector shows PR:L, meaning the attacker must have valid API credentials. However, if your system allows public sign-ups or has weak credential hygiene, the practical bar is lower.
Will patching break our API clients?
Patching enforces permission checks on sorting, so clients that request sorts on forbidden fields will now receive an error instead of reordered results. Review your client code to ensure it only sorts on fields your users are allowed to see. Most well-designed clients already do this, so breakage should be minimal.
How can we temporarily reduce risk before patching?
Disable sorting on sensitive fields in your Elide model annotations, implement field-level access controls via @ReadPermission, and monitor logs for suspicious sort patterns. A WAF rule blocking rapid sort iterations from single users can also help, though it's not a substitute for patching.
Does this affect our GraphQL and JSON:API endpoints equally?
Yes. The vulnerability is in the core SortingImpl.getValidSortingRules method, so both JSON:API and GraphQL read operations that use sorting are affected if they rely on @ReadPermission.
This analysis is provided for informational purposes. SEC.co makes no warranty as to the accuracy or completeness of this vulnerability assessment. Vendor product and version information was not provided in the source data; consult official Elide release notes and security advisories to confirm your specific exposure and patch availability. Testing and validation in your own environment is required before deploying patches to production. This advisory does not constitute legal advice; compliance obligations vary by jurisdiction and data classification. Source: NVD (public-domain), retrieved 2026-08-08. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2022-42479MEDIUMMissing Authorization in TemplateHouse Soledad – MEDIUM Severity Access Control Bypass
- CVE-2022-45813MEDIUMBeRocket Advanced AJAX Product Filters Missing Authorization Flaw
- CVE-2023-25969MEDIUMMissing Authorization in ThemeHunk Contact Form Plugin
- CVE-2023-32959MEDIUMMetroStore Missing Authorization Vulnerability – Patch Guide
- CVE-2024-24709MEDIUMShareaholic Missing Authorization Vulnerability – Update Required
- CVE-2024-31435MEDIUMMissing Authorization in Inisev Social Media & Share Icons Plugin—Patch Guidance
- CVE-2024-33685MEDIUMMissing Authorization in Jegstudio Startupzy 1.1.1 – MEDIUM Severity Vulnerability
- CVE-2024-33909MEDIUMMissing Authorization in Avirtum iPages Flipbook – CVSS 5.3 Patch Guide