Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify target ConfigService endpoint
-
DeliveryEnumerate protected appId
-
ExploitCraft non-canonical appId variant
-
InstallSend unauthenticated request to /configs
-
C2Auth check skips signature verification
-
ExecuteCollation resolves variant to real app
-
ImpactRead protected configuration data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires that AccessKey/management-key authentication is enabled for the target app (the very control being bypassed) AND that the deployment's backing database uses a collation that treats a non-canonical appId variant as equivalent to the canonical appId - specifically accent-insensitive collations (accent-variant appIds) or PAD SPACE collations such as MySQL utf8_general_ci (trailing-space appId variants). The attacker must also know or guess the real protected appId to craft the variant. Limiting factors: apps without AccessKey auth enabled are not protected by the bypassed control in the first place, and deployments using strictly binary/case-and-space-sensitive collations for appId are not exploitable; the impact is confined to read access to configuration data (C:H, with I:N/A:N) on the /configs and /configfiles endpoints. No user interaction and no authentication are needed against a vulnerable-collation deployment. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, 7.5 High) presents a network, unauthenticated, low-complexity confidentiality breach, which overstates real-world ease: the description makes clear that exploitation is conditional on (1) AccessKey/management-key authentication actually being enabled for the target app, and (2) the deployment's database collation treating a non-canonical appId variant as equivalent to the real one. That second condition is a non-default, environment-specific factor, so AC:L is arguably optimistic - a case-by-case AC:H is defensible. No EPSS score, no SSVC decision, and no KEV entry were provided; there is no evidence of active exploitation and no public POC was supplied, so this is currently a patch-in-normal-cycle priority rather than an emergency, weighted upward for deployments that rely on AccessKey auth as their primary confidentiality control. Note also a data conflict: the GitHub advisory package metadata lists 'vulnerable <= 2.0.1, fixed in: None' while the advisory text and release notes state the fix is 2.5.2 - the version range in the machine-readable feed appears incomplete and should be verified against the vendor advisory. |
| Exploit ScenarioDerived | An attacker who knows the protected appId of a target Apollo deployment (e.g. 'orders-service') sends an unauthenticated GET to the ConfigService /configs endpoint using a non-canonical variant such as a trailing-space or accented form of that appId. Because the variant misses the AccessKey cache and skips signature verification but still matches the real app under a PAD SPACE or accent-insensitive collation, the service returns the protected application's configuration - potentially exposing database credentials, API keys, and other secrets stored in config. No public POC was provided, but the technique requires only crafted HTTP requests. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 13, 2026
Authentication bypass in Apollo (Ctrip apolloconfig) ConfigService allows an unauthenticated remote attacker to read protected configuration data from /configs and /configfiles endpoints even when AccessKey/management-key authentication is enabled. The flaw stems from ConfigService accepting a non-canonical appId variant (e.g. accented or trailing-space forms) that misses the AccessKey secret cache lookup - causing signature verification to be skipped - while the downstream release lookup still resolves the value to the real, protected app under equivalence-treating database collations. No public exploit identified at time of analysis, and it is not listed in CISA KEV; the confidentiality-only impact drives the CVSS 7.5 (High) rating.
RemediationAI
Vendor-released patch: Apollo 2.5.2 - upgrade apollo-configservice, then apollo-adminservice, then apollo-portal in that order (per the v2.5.2 release notes at https://github.com/apolloconfig/apollo/releases/tag/v2.5.2; there is no schema change from 2.5.1 to 2.5.2, so it is a straightforward binary redeploy). The core fix validates ConfigService AccessKey app IDs during client authentication (commit 310809d557e01c6803051736cd525e333ffe00ec). If immediate upgrade is not possible, reduce exposure by restricting network access to the ConfigService /configs and /configfiles endpoints to trusted client subnets via firewall or reverse-proxy allowlisting (trade-off: must enumerate all legitimate Apollo client sources or risk breaking config delivery), and consider aligning the underlying database collation to a case/accent/space-sensitive collation for the appId columns so variant values no longer resolve to the canonical app (trade-off: a collation change can affect existing lookups and requires careful testing). Review the advisory GHSA-4w3q-qpfq-v992 for authoritative guidance; the related raw-config-file parsing issue was split into GHSA-h4pc-58cc-hc95 and should be tracked separately.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apollo is a distributed configuration-management platform (com.ctrip.framework.apollo, distributed via Maven) whose ConfigService component serves runtime config to client applications and enforces per-app access control through AccessKey signatures. The root cause is CWE-20 (Improper Input Validation): appId is extracted from config/notification requests and used as the exact cache key to fetch that app's AccessKey secrets, but the extracted string is not canonicalized before this security-relevant comparison. When the database collation for the underlying release lookup is accent-insensitive or uses PAD SPACE semantics (common MySQL defaults such as utf8_general_ci for trailing spaces), a variant appId like 'app ' or an accented equivalent fails the strict in-memory cache-key match - so ConfigService concludes no secrets are configured and skips verification - yet the SQL release query treats the variant as equal to the canonical appId and returns the protected app's data. The mismatch between an exact-match security check and a collation-loose data lookup is the essence of the bypass.
Know when Canonical gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network and unauthenticated (AV:N/PR:N), but AC:H because success depends on a non-default equivalence-treating DB collation and knowing the appId; confidentiality-only read (C:H, I:N/A:N).
Primary rating from Vendor (https://github.com/apolloconfig/apollo).
CVSS VectorVendor: https://github.com/apolloconfig/apollo
Lifecycle Timeline
2DescriptionCVE.org
Summary
Apollo ConfigService may allow unauthorized access to configuration data when AccessKey / management key authentication is enabled and ConfigService accepts a non-canonical appId variant during authentication while downstream request handling resolves it to the protected app.
Details
ConfigService extracts appId from configuration and notification requests and uses the extracted value to look up available AccessKey secrets. If the extracted appId is a non-canonical variant that does not exactly match the AccessKey cache key, ConfigService may treat the request as having no available secrets and allow it to continue without signature verification.
This can happen when downstream release lookup still matches the real appId under database collations that treat the values as equivalent. Examples include accent variants under accent-insensitive collations, or trailing-space variants under PAD SPACE collations.
Impact
An unauthenticated remote attacker may read configuration data from affected ConfigService endpoints when AccessKey / management key authentication is enabled for the target app and the deployment database collation treats a non-canonical appId variant as equivalent to the real appId.
Affected endpoints
The primary impact is on ConfigService configuration read endpoints under /configs and /configfiles. Notification endpoints using appId parameters are also hardened as defense-in-depth.
Status
Fixed in Apollo 2.5.2. Users should upgrade to Apollo 2.5.2 or later.
Related advisory
The raw config file endpoint parsing issue originally described in this advisory has been split into GHSA-h4pc-58cc-hc95 so each independently fixable vulnerability can receive its own CVE.
Executive ViewAI
Apollo ConfigService, used to manage application settings and credentials across enterprise infrastructure, is vulnerable to unauthorized credential exposure. An attacker with network access can bypass authentication protections to directly read sensitive configuration data including database passwords, API keys, and integration credentials. This vulnerability puts all dependent applications and systems at risk of compromise.
No vendor-released patch identified at time of analysis. Implement network segmentation restricting all ConfigService access to authorized internal subnets; deploy a reverse proxy or application firewall requiring multi-factor authentication or additional authentication tokens before accessing ConfigService; enable comprehensive audit logging on /configs and /configfiles endpoints with real-time alerts for access anomalies; immediately rotate all secrets stored in Apollo configurations; require VPN or bastion host gateway for all ConfigService communication to prevent direct internet exposure.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
The (1) EPHEMERAL, (2) HTTPS, (3) MVG, (4) MSL, (5) TEXT, (6) SHOW, (7) WIN, and (8) PLT coders in ImageMagick before 6.
When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT
Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8
GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of
The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe
Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by lev
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 17 and earlier, and
Local privilege escalation in the GNU C Library (glibc) dynamic loader ld.so allows unprivileged local users on affected
EUVD-2026-44725
GHSA-4w3q-qpfq-v992
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB