Bug 2566744 (CVE-2026-121837)

Summary: CVE-2026-121837 quarkus-rest-data-panache: quarkus-rest-data-panache: getter-level @SecureField ignored for filter and sort
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: ant, cescoffi, fmongiar, gsmet, jmartisk, manderse, olubyans, ozzy, pjindal, rguimara, sbiarozk, security-response-team, varjain
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in the REST Data Panache component of Quarkus. When a security constraint is applied to an entity property using the @SecureField annotation on its getter method rather than the field itself, the generated REST resource fails to enforce this constraint for filtering and sorting operations. This allows an authenticated user to infer sensitive data values by observing which records match specific filter criteria or how they are ordered, even though the values are omitted from the final response.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Deadline: 2026-12-31   

Description OSIDB Bzimport 2026-11-04 07:00:55 UTC
A vulnerability was found in io.quarkus:quarkus-rest-data-panache where getter-level @SecureField annotations are ignored during the generation of filter and sort logic for REST Data Panache resources. When @SecureField(rolesAllowed = ...) is placed on a property getter, the generated list endpoint does not check for the required roles when processing filter (?field=value) or sort (?sort=field) parameters.
While the sensitive values are correctly masked in the resulting JSON response, an attacker with access to the endpoint can perform the following actions:
Determine if any records match a specific sensitive value by using filter parameters.

Determine the relative ordering of records based on the sensitive field using sort parameters.

Systematically infer sensitive values through repeated targeted filtering.


This issue only affects @SecureField when placed on the getter; placing the annotation directly on the field is not affected.