CVE-2024-2700

Information Exposure
Affects
Quarkus
in
Quarkus
No items found.
Versions
<3.2.12.Final, >=3.3.0.CR1 <=3.8.3, >=3.9.0.CR1 <=3.9.1
Exclamation circle icon
Patch Available

This Vulnerability has been fixed in the Never-Ending Support (NES) version offered by HeroDevs.

Overview

Quarkus is a Kubernetes-native Java framework optimized for cloud-native applications, containers, and serverless workloads. It is designed around fast startup, low memory use, build-time processing, and developer-friendly integrations across REST, HTTP, security, data, messaging, and observability extensions.

An Information Exposure vulnerability (CVE-2024-2700) has been identified in Quarkus core runtime configuration recording, which allows attackers with local build-environment access to persist Quarkus namespace configuration values from the build environment into the deployed application's runtime defaults.

Per OWASP: Access control enforces policy such that users cannot act outside of their intended permissions. Failures typically lead to unauthorized information disclosure, modification, or destruction of all data or performing a business function outside the user's limits.

This issue affects multiple versions of Quarkus in the io.quarkus:quarkus-core package.

Details

Module Info

Vulnerability Info

This High-severity vulnerability is found in the io.quarkus:quarkus-core package in multiple versions of Quarkus. When Quarkus builds an application, BuildTimeConfigurationReader records runtime defaults for configuration roots and mappings so generated runtime configuration can start with build-time default values. In affected versions, the helper used for runtime defaults filters EnvConfigSource but keeps other local sources, including system properties and build-system properties. The runtime @ConfigMapping path also reads mapped values from the raw build config instead of from the filtered runtime-default config.

private SmallRyeConfig getConfigForRuntimeDefaults() {
    SmallRyeConfigBuilder builder = ConfigUtils.emptyConfigBuilder();
    for (ConfigSource configSource : config.getConfigSources()) {
        if (configSource instanceof EnvConfigSource) {
            continue;
        }
        builder.withSources(configSource);
    }
    return builder.build();
}

for (ConfigClassWithPrefix mapping : runTimeMappings) {
    Set<String> mappedProperties = ConfigMappings.mappedProperties(mapping, allProperties);
    for (String property : mappedProperties) {
        unknownBuildProperties.remove(property);
        ConfigValue value = config.getConfigValue(property);
        if (value != null && value.getRawValue() != null) {
            runTimeDefaultValues.put(property, value.getRawValue());
        }
    }
}

A quarkus.* property supplied through a local build source can therefore be serialized into the built application's runtime defaults. If the deployment environment does not override the recorded value, the application can run with developer or CI settings that were meant only for build-time testing, such as permissive TLS behavior or destructive database startup behavior. Application-specific properties outside the Quarkus namespace are not captured by this issue.

Mitigation

Only recent versions of Quarkus are community-supported. The affected 2.16.x line is End-of-Life and will not receive public updates to address this issue.

Users of the affected components should apply one of the following mitigations:

  • Upgrade Quarkus to a currently supported release that contains the fix.
  • Leverage a commercial support partner like HeroDevs for post-EOL security support.
Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
High
ID
CVE-2024-2700
PROJECT Affected
Quarkus
Versions Affected
<3.2.12.Final, >=3.3.0.CR1 <=3.8.3, >=3.9.0.CR1 <=3.9.1
NES Versions Affected
Published date
July 29, 2026
≈ Fix date
April 16, 2024
Category
Information Exposure
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for Quarkus
Rss feed icon
Subscribe via RSS
or

By submitting the form I acknowledge receipt of our Privacy Policy.

Thanks for signing up for our Newsletter! We look forward to connecting with you.
Oops! Something went wrong while submitting the form.