Skip to content

Eclipse EDC: OAuth2 Credential Exfiltration Vulnerability

The Eclipse Foundation is a Common Vulnerabilities and Exposures (CVE) Numbering Authority. This issue it used to request and track the progress of the assignment of a CVE for a vulnerability in the project code for an Eclipse open source project.

Basic information

Project name: Eclipse Dataspace Components

Project id: technology.edc

Request type: publication

Versions affected: [0.2.1, 0.6.2]

Common Weakness Enumeration:

  • CWE-201: Insertion of Sensitive Information Into Sent Data
  • CWE-522: Insufficiently Protected Credentials

Common Vulnerability Scoring System: {cvss}

6.9

CVSS:4.0/AV:A/AC:H/AT:P/PR:H/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N/AU:Y/V:D/RE:L/U:Amber

Exploitable Metrics

  • Attack Vector: Adjacent, because attackers have to be part of a dataspace, such as Catena-x, which is not the general public internet. A comparison to a VPN is not unreasonable.
  • Attack Complexity: High, because an attacker has to go through a contract negotiation, and a transfer process per guess.
  • Attack Requirements: Present, because there has to be some infrastructure and pre-existing setup in place, like onboarding
  • Privileges required: attacker has to be a legit member of a dataspace, and they have to fulfill all requirements (Policies) imposed by the provider
  • User Interaction: not required.

Vulnerable System Impact Metrics

  • Confidentiality: High, as leaking private keys could allow an attacker to pose as the provider
  • Integrity: Low, because no modification of data is possible, if downstream systems such as databases are configured properly (i.e. without internet access)
  • Availability: Low, because the reachability/availability is not affected

Subsequent System Impact Metrics

  • Confidentiality: not disputed
  • Integrity: downstream systems cannot be modified by this vulnerability
  • Availability: not affected

Supplemental Metrics

  • Value Density: every exploit event gives access to exactly one value, i.e. secret stored in the vault
  • Vulnerability Response Effort: Low, because it is sufficient to disable Http-PUSH from the dataplane config, or remove the OAuth2 module from the build file
  • Provider Urgency: Amber, as this exploit is not available in all combinations of modules and scenarios

Summary:

In Eclipse Dataspace Components from version 0.2.1 to 0.6.2, we have identified a security vulnerability in the EDC Connector component (https://github.com/eclipse-edc/Connector) regarding the OAuth2-protected data sink feature. When using a custom, OAuth2-protected data sink, the OAuth2-specific data address properties are resolved by the provider data plane. Problematically, the consumer-provided clientSecretKey, which indicates the OAuth2 client secret to retrieve from a secrets vault, is resolved in the context of the provider's vault, not the consumer. This secret's value is then sent to the tokenUrl, also consumer-controlled, as part of an OAuth2 client credentials grant. The returned access token is then sent as a bearer token to the data sink URL.

Links:

  • {primary resolution link}

Tracking

This section will completed by the project team.

  • Reserve an entry only
  • We're ready for this issue to be reported to the central authority (i.e., make this public now)

Note that for those projects that host their repositories on GitHub, the use of GitHub Security Advisories is recommended but is not required.

This section will be completed by the EMO.

CVE: {cve}

  • All required information is provided
  • CVE Assigned
  • Pushed to Mitre
  • Accepted by Mitre
Edited by Marta Rybczynska
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information