Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Network-accessible API (AV:N), straightforward enumeration once account held (AC:L), any Portal account required (PR:L), no write or availability impact confirmed by description.
Primary rating from Vendor (https://github.com/apolloconfig/apollo).
CVSS VectorVendor: https://github.com/apolloconfig/apollo
Lifecycle Timeline
2DescriptionCVE.org
Summary
Apollo Portal versions before 2.5.0 do not verify application and namespace permissions when an authenticated user requests a release by ID through GET /envs/{env}/releases/{releaseId}.
When configView.memberOnly.envs is enabled for the requested environment, a low-privileged Portal user can supply a valid release ID belonging to an application or namespace they are not authorized to view. The endpoint returns the release data without calling UserPermissionValidator.shouldHideConfigToCurrentUser(...).
Impact
An authenticated attacker who obtains or guesses a valid release ID can read configuration data from other applications and namespaces. Exposed configuration may contain sensitive values such as credentials or service endpoints. The issue does not allow configuration modification and does not directly affect availability.
Affected versions
Apollo Portal versions earlier than 2.5.0 are affected when configView.memberOnly.envs is enabled.
Patches
The issue is fixed in Apollo 2.5.0. The fix adds the missing application and namespace permission check before returning release data.
- Fix: https://github.com/apolloconfig/apollo/pull/5378
- Fix commit: https://github.com/apolloconfig/apollo/commit/362735ded4f13b62f6ab9df135d7096066e8e291
- Patched release: https://github.com/apolloconfig/apollo/releases/tag/v2.5.0
Workarounds
Upgrade to Apollo 2.5.0 or later. If an immediate upgrade is not possible, backport the permission check from PR #5378 and restrict Apollo Portal access to trusted users until the fix is deployed.
Credits
Apollo Portal thanks @lesignals for reporting this issue.
AnalysisAI
Sensitive configuration data exposure in Apollo Portal before 2.5.0 allows authenticated low-privileged users to read configuration from any application or namespace when the configView.memberOnly.envs feature is enabled. The GET /envs/{env}/releases/{releaseId} endpoint skips the authorization check (UserPermissionValidator.shouldHideConfigToCurrentUser), enabling disclosure of credentials and service endpoints via a guessed or enumerated release ID. No active exploitation or public exploit code has been identified, and EPSS indicates low immediate risk.
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2025-210473
GHSA-jxpj-9j24-w337