CVE-2023-5675: Quarkus: JAX-RS authorization not enforced on methods

MEDIUM
Published April 25, 2024
CISO Take

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.

Sources:NVDRed Hat Security AdvisoriesATLAS

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?

Reconnaissance
Attacker probes the exposed Quarkus REST API to find endpoints that should require authentication.
AML.T0006
Initial Access
Attacker sends unauthenticated requests to methods inherited from abstract classes where authorization is not enforced.
AML.T0049
Impact
Attacker reads or modifies limited data or invokes inference functions behind the unprotected endpoint.
AML.T0040

What systems are affected?

PackageEcosystemVulnerable RangePatched
io.quarkus/quarkus-resteasy——No patch
io.quarkus/quarkus-resteasy-reactive——No patch
quarkus-resteasy-reactive——No patch

How severe is it?

CVSS 3.1
6.5 / 10
EPSS
N/A
Exploitation Status
No known exploitation
Sophistication
Trivial

What is the attack surface?

AVACPRUISCIA
AVNetwork
ACLow
PRNone
UINone
SUnchanged
CLow
ILow
ANone

What should I do?

1 step
  1. 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.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

ISO 42001
A.6.2.6-AI system operation and monitoring
NIST AI RMF
MANAGE 2.3-Respond to previously unknown risks
OWASP LLM Top 10
LLM06-Excessive Agency

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

model servingRAG pipelinesinference gatewaysagent tool APIs

MITRE ATLAS Techniques

AML.T0040AI Model Inference API Access
AML.T0049Exploit Public-Facing Application

Compliance Controls Affected

ISO 42001: A.6.2.6
NIST AI RMF: MANAGE 2.3
OWASP LLM Top 10: LLM06

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:N

References

Timeline

Published
April 25, 2024
Last Modified
November 5, 2026
First Seen
November 5, 2026

Related Vulnerabilities