Skip to main content

Armeria xDS CVE-2026-11752

| EUVDEUVD-2026-37979 MEDIUM
External Control of File Name or Path (CWE-73)
2026-06-18 https://github.com/line/armeria GHSA-hgw6-8c77-v4gq
5.9
CVSS 4.0 · Vendor: https://github.com/line/armeria
Share

Severity by source

Vendor (https://github.com/line/armeria) PRIMARY
5.9 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.8 MEDIUM

Network MITM path requires no privileges but high complexity; scope changes as host secrets are exfiltrated to attacker-controlled systems; no integrity or availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (https://github.com/line/armeria).

CVSS VectorVendor: https://github.com/line/armeria

Attack Vector
Network
Attack Complexity
High
Privileges Required
High
User Interaction
None
Scope
X

Lifecycle Timeline

3
CVSS changed
Jun 19, 2026 - 06:22 NVD
5.9 (MEDIUM)
Source Code Evidence Fetched
Jun 18, 2026 - 18:04 vuln.today
Analysis Generated
Jun 18, 2026 - 18:04 vuln.today

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 maven packages depend on com.linecorp.armeria:armeria-xds (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 1.40.0.

DescriptionCVE.org

External Control of File Name or Path in xDS SDS DataSource

Summary

DataSourceStream in the :xds module resolves control-plane-supplied filename and environment_variable fields from SDS Secret resources without any allow-list or base-directory confinement. A semi-trusted or compromised xDS control plane (or an attacker who can MITM SDS responses) can read arbitrary local files and environment variables on the xDS client host.

Affected component: xds/src/main/java/com/linecorp/armeria/xds/DataSourceStream.java Introduced in: Armeria 1.38.0 (commit b199560b10, "Add support for SDS", #6597) Affected versions: 1.38.0, 1.39.0

Impact

A semi-trusted or compromised xDS control plane (or an attacker who can inject/MITM SDS responses) can:

  • Read arbitrary files on the xDS client host - TLS private keys, /etc/passwd, mounted Kubernetes service-account tokens, cloud credential files, etc.
  • Read arbitrary environment variables - AWS_SECRET_ACCESS_KEY, CI tokens, database credentials, etc.

The read bytes are consumed as TLS key/cert/CA material. Combined with CWE-295 (silent disabling of upstream TLS peer verification), the exfiltrated secret can be presented to an attacker-chosen upstream, enabling data exfiltration. This is a confused-deputy / information-disclosure primitive driven entirely by control-plane-supplied configuration.

Severity: High - arbitrary host-level file and environment variable read via control-plane-pushed configuration.

Patches

1.40.0

The fix should:

  1. Confine filename resolution to an operator-configured allow-list of base directories. After normalization, reject any path that escapes the allow-listed root.
  2. Gate environment_variable behind an explicit operator allow-list of permitted variable names.
  3. Default to denying both filename and environment_variable DataSources for control-plane-delivered (SDS) secrets unless explicitly enabled by the operator. This is stricter than upstream Envoy but appropriate when the control plane is not fully trusted.
  4. Document the trust model clearly so operators understand that enabling file/env DataSources grants the control plane host-level read capability.

Workarounds

  • Ensure the xDS control plane channel is authenticated and encrypted (mTLS) to prevent MITM injection of malicious SDS responses.
  • Run the xDS client with minimal filesystem permissions and a restricted environment to limit the blast radius of arbitrary reads.
  • If SDS file-based secrets are not needed, consider using inline DataSource bytes only (delivered over the SDS stream itself) and auditing control-plane configurations to ensure no filename or environment_variable DataSources are present.

AnalysisAI

Arbitrary file and environment variable reads on xDS client hosts are possible in Armeria versions 1.38.0 and 1.39.0 via the armeria-xds module's SDS (Secret Discovery Service) implementation. The DataSourceStream class resolves control-plane-supplied filename and environment_variable fields from SDS Secret resources without any path confinement or allow-listing, enabling a compromised or semi-trusted xDS control plane - or an attacker who can MITM unprotected SDS gRPC streams - to extract TLS private keys, Kubernetes service-account tokens, cloud credential files, and environment variables such as AWS_SECRET_ACCESS_KEY. No public exploit has been identified at time of analysis and this CVE does not appear in the CISA KEV catalog, but the confused-deputy pattern and Kubernetes deployment context make it a high-priority upgrade for affected users.

Technical ContextAI

Armeria is a Java-based microservices framework; its :xds module implements the Envoy xDS control-plane API, including SDS (Secret Discovery Service), a streaming gRPC protocol used to dynamically push TLS credentials to service mesh clients. The vulnerable class DataSourceStream.java (package com.linecorp.armeria:armeria-xds, Maven artifact pkg:maven/com.linecorp.armeria:armeria-xds) was introduced in Armeria 1.38.0 via commit b199560b10 ('Add support for SDS', PR #6597). CWE-73 (External Control of File Name or Path) is the root cause: the software accepts externally supplied path strings - delivered over the SDS protobuf stream - and passes them directly to filesystem or environment-variable APIs without normalizing, restricting to a base directory, or consulting any operator-defined allow-list. The read bytes are consumed as TLS key, certificate, or CA material, meaning the exfiltrated data is silently used in TLS handshakes rather than surfaced as an error. The advisory also references CWE-295 (improper certificate verification), indicating that the stolen credential can then be presented to an attacker-controlled upstream with peer verification silently disabled, forming a complete exfiltration chain.

RemediationAI

Upgrade com.linecorp.armeria:armeria-xds to version 1.40.0, the vendor-confirmed fixed release per GHSA-hgw6-8c77-v4gq. Version 1.40.0 confines filename DataSource resolution to an operator-configured allow-list of base directories, gates environment_variable DataSources behind an explicit allow-list of permitted variable names, and defaults to denying both for control-plane-delivered SDS secrets unless explicitly enabled. If immediate upgrade is not feasible, apply the following compensating controls with awareness of their trade-offs: (1) Enforce mTLS on the xDS control plane channel to prevent MITM injection of malicious SDS responses - this adds certificate lifecycle management overhead but eliminates the network injection attack path. (2) Run the xDS client process with a minimal filesystem permission set (e.g., read-only root filesystem, dropped capabilities, restrictive seccomp/AppArmor profiles in Kubernetes) and a stripped environment - this limits blast radius but may require pod security policy changes and careful testing. (3) Audit all SDS configurations and eliminate any filename or environment_variable DataSource entries, restricting secret delivery to inline byte DataSources only - this eliminates the vulnerable code path entirely but reduces operational flexibility for secret rotation via filesystem.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Share

CVE-2026-11752 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy