// For flags

CVE-2024-41178

Apache Arrow Rust Object Store: AWS WebIdentityToken exposure in log files

Severity Score

7.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Attend
*SSVC
Descriptions

Exposure of temporary credentials in logs in Apache Arrow Rust Object Store (`object_store` crate), version 0.10.1 and earlier on all platforms using AWS WebIdentityTokens. 

On certain error conditions, the logs may contain the OIDC token passed to AssumeRoleWithWebIdentity https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html . This allows someone with access to the logs to impersonate that identity, including performing their own calls to AssumeRoleWithWebIdentity, until the OIDC token expires. Typically OIDC tokens are valid for up to an hour, although this will vary depending on the issuer.

Users are recommended to use a different AWS authentication mechanism, disable logging or upgrade to version 0.10.2, which fixes this issue.

Details:

When using AWS WebIdentityTokens with the object_store crate, in the event of a failure and automatic retry, the underlying reqwest error, including the full URL with the credentials, potentially in the parameters, is written to the logs. 

Thanks to Paul Hatcherian for reporting this vulnerability

Exposición de credenciales temporales en registros en Apache Arrow Rust Object Store (caja `object_store`), versión 0.10.1 y anteriores en todas las plataformas que utilizan AWS WebIdentityTokens. En determinadas condiciones de error, los registros pueden contener el token OIDC pasado a AssumeRoleWithWebIdentity https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html. Esto permite que alguien con acceso a los registros se haga pasar por esa identidad, incluida la realización de sus propias llamadas a AssumeRoleWithWebIdentity, hasta que caduque el token OIDC. Normalmente, los tokens OIDC son válidos por hasta una hora, aunque esto variará según el emisor. Se recomienda a los usuarios utilizar un mecanismo de autenticación de AWS diferente, deshabilitar el registro o actualizar a la versión 0.10.2, que soluciona este problema. Detalles: cuando se utilizan AWS WebIdentityTokens con la caja object_store, en caso de error y reintento automático, el error de solicitud subyacente, incluida la URL completa con las credenciales, potencialmente en los parámetros, se escribe en los registros. Gracias a Paul Hatcherian por informar de esta vulnerabilidad.

*Credits: Paul Hatcherian
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:Attend
Exploitation
None
Automatable
Yes
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-07-17 CVE Reserved
  • 2024-07-23 CVE Published
  • 2024-07-24 EPSS Updated
  • 2024-08-13 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-532: Insertion of Sensitive Information into Log File
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Apache Software Foundation
Search vendor "Apache Software Foundation"
Apache Arrow Rust Object Store
Search vendor "Apache Software Foundation" for product "Apache Arrow Rust Object Store"
>= 0.5.0 <= 0.10.1
Search vendor "Apache Software Foundation" for product "Apache Arrow Rust Object Store" and version " >= 0.5.0 <= 0.10.1"
en
Affected