CVE-2023-5675: Quarkus: JAX-RS authorization not enforced on methods
MEDIUMQuarkus RESTEasy Classic and Reactive endpoints can silently skip authorization when their methods are declared in an abstract Java class or customized by annotation-processor extensions, even if 'deny-unannotated-endpoints' or 'default-roles-allowed' is enabled. The flaw is network-reachable with no privileges or user interaction (CVSS 6.5), but it is not in CISA KEV, has no public exploit or Nuclei template, and has no EPSS score, so near-term mass exploitation looks unlikely. It matters for AI teams because Quarkus is a common Java base for model-serving gateways, RAG backends and agent tool APIs, where a missed access check can expose prompts, retrieved data or inference endpoints. Apply the Red Hat fixes (RHSA-2024:0494 and RHSA-2024:0495) or upgrade to a patched Quarkus release, then audit every JAX-RS endpoint inherited from abstract classes to confirm authorization is actually enforced.
What is the risk?
Medium. Exploitation is trivial in principle (network, low complexity, no privileges), but it only affects applications whose endpoints are defined in abstract classes or modified by annotation-processor extensions, and it requires the developer to rely on the global deny or default-roles settings. There is no KEV listing, public exploit, or scanner template, and EPSS is unavailable, so exploitation likelihood is unquantified. Confidentiality and integrity impact are limited (low/low), with no availability impact. Confidence in this assessment is MEDIUM because affected version ranges are not provided in the data.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| io.quarkus/quarkus-resteasy | — | — | No patch |
| io.quarkus/quarkus-resteasy-reactive | — | — | No patch |
| quarkus-resteasy-reactive | — | — | No patch |
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade to the patched Quarkus release referenced in Red Hat advisories RHSA-2024:0494 and RHSA-2024:0495. 2) Until patched, add explicit security annotations (@RolesAllowed, @Authenticated, or @DenyAll) directly on each concrete endpoint method rather than relying on global properties. 3) Inventory JAX-RS resources that inherit methods from abstract classes or use Quarkus extensions with annotation processors. 4) Use authenticated and unauthenticated integration tests against each endpoint to confirm 401/403 responses. 5) Review access logs for unauthenticated calls to endpoints that should require roles.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2023-5675?
Quarkus RESTEasy Classic and Reactive endpoints can silently skip authorization when their methods are declared in an abstract Java class or customized by annotation-processor extensions, even if 'deny-unannotated-endpoints' or 'default-roles-allowed' is enabled. The flaw is network-reachable with no privileges or user interaction (CVSS 6.5), but it is not in CISA KEV, has no public exploit or Nuclei template, and has no EPSS score, so near-term mass exploitation looks unlikely. It matters for AI teams because Quarkus is a common Java base for model-serving gateways, RAG backends and agent tool APIs, where a missed access check can expose prompts, retrieved data or inference endpoints. Apply the Red Hat fixes (RHSA-2024:0494 and RHSA-2024:0495) or upgrade to a patched Quarkus release, then audit every JAX-RS endpoint inherited from abstract classes to confirm authorization is actually enforced.
Is CVE-2023-5675 actively exploited?
No confirmed active exploitation of CVE-2023-5675 has been reported, but organizations should still patch proactively.
How to fix CVE-2023-5675?
1) Upgrade to the patched Quarkus release referenced in Red Hat advisories RHSA-2024:0494 and RHSA-2024:0495. 2) Until patched, add explicit security annotations (@RolesAllowed, @Authenticated, or @DenyAll) directly on each concrete endpoint method rather than relying on global properties. 3) Inventory JAX-RS resources that inherit methods from abstract classes or use Quarkus extensions with annotation processors. 4) Use authenticated and unauthenticated integration tests against each endpoint to confirm 401/403 responses. 5) Review access logs for unauthenticated calls to endpoints that should require roles.
What systems are affected by CVE-2023-5675?
This vulnerability affects the following AI/ML architecture patterns: model serving, RAG pipelines, inference gateways, agent tool APIs.
What is the CVSS score for CVE-2023-5675?
CVE-2023-5675 has a CVSS v3.1 base score of 6.5 (MEDIUM).
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0040AI Model Inference API AccessAML.T0049Exploit Public-Facing ApplicationCompliance Controls Affected
What are the technical details?
Original Advisory
A flaw was found in Quarkus. When a Quarkus RestEasy Classic or Reactive JAX-RS endpoint has its methods declared in the abstract Java class or customized by Quarkus extensions using the annotation processor, the authorization of these methods will not be enforced if it is enabled by either 'quarkus.security.jaxrs.deny-unannotated-endpoints' or 'quarkus.security.jaxrs.default-roles-allowed' properties.
Exploitation Scenario
An organization exposes a Quarkus-based inference gateway whose REST resource methods are defined in an abstract base class, assuming 'quarkus.security.jaxrs.deny-unannotated-endpoints=true' protects them. An external attacker discovers the endpoints through normal API probing and calls them without credentials. Because authorization is not enforced, the attacker can query the model or retrieval backend and read or alter limited data returned by the service.
Weaknesses (CWE)
CWE-285 — Improper Authorization: The product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action.
- [Architecture and Design] Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) to enforce the roles at the appropriate boundaries. Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.
- [Architecture and Design] Ensure that you perform access control checks related to your business logic. These checks may be different than the access control checks that you apply to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:NReferences
- access.redhat.com/errata/RHSA-2024:0494vendor-advisoryx_refsource_REDHAT
- access.redhat.com/errata/RHSA-2024:0495vendor-advisoryx_refsource_REDHAT
- access.redhat.com/security/cve/CVE-2023-5675vdb-entryx_refsource_REDHAT
- bugzilla.redhat.com/show_bug.cgiissue-trackingx_refsource_REDHAT
Timeline
Related Vulnerabilities
CVE-2025-512010.0smolagents: sandbox escape enables unauthenticated RCE
Same attack type: Data LeakageCVE-2023-376510.0MLflow: path traversal allows arbitrary file read
Same attack type: Data LeakageCVE-2025-282810.0LangChain RequestsToolkit: SSRF exposes cloud metadata
Same attack type: Auth BypassCVE-2025-5376710.0Azure OpenAI: SSRF EoP, no auth required (CVSS 10)
Same attack type: Auth BypassCVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same attack type: Auth Bypass