CVE-2023-44387
Gradle has incorrect permission assignment for symlinked files used in copy or archiving operations
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
Gradle is a build tool with a focus on build automation and support for multi-language development. When copying or archiving symlinked files, Gradle resolves them but applies the permissions of the symlink itself instead of the permissions of the linked file to the resulting file. This leads to files having too much permissions given that symlinks usually are world readable and writeable. While it is unlikely this results in a direct vulnerability for the impacted build, it may open up attack vectors depending on where build artifacts end up being copied to or un-archived. In versions 7.6.3, 8.4 and above, Gradle will now properly use the permissions of the file pointed at by the symlink to set permissions of the copied or archived file.
Gradle es una herramienta de compilación centrada en la automatización de la compilación y soporte para el desarrollo en varios idiomas. Al copiar o archivar archivos vinculados simbólicamente, Gradle los resuelve pero aplica los permisos del enlace simbólico en lugar de los permisos del archivo vinculado al archivo resultante. Esto lleva a que los archivos tengan demasiados permisos, dado que los enlaces simbólicos suelen ser legibles y escribibles por todo el mundo. Si bien es poco probable que esto resulte en una vulnerabilidad directa para la compilación afectada, puede abrir vectores de ataque dependiendo de dónde terminen copiándose o desarchivándose los artefactos de la compilación. En las versiones 7.6.3, 8.4 y superiores, Gradle ahora usará correctamente los permisos del archivo al que apunta el enlace simbólico para establecer los permisos del archivo copiado o archivado.
A flaw was found in Gradle. When copying files or creating archives, Gradle does not preserve symbolic links, instead resolving them to their underlying target file, but permissions of the new file use those of the link instead of those from the target file. This issue can lead to files with broader permissions than intended, as symbolic links are usually world-readable and writeable.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2023-09-28 CVE Reserved
- 2023-10-05 CVE Published
- 2023-10-06 EPSS Updated
- 2024-08-02 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-732: Incorrect Permission Assignment for Critical Resource
CAPEC
References (7)
URL | Tag | Source |
---|---|---|
https://github.com/gradle/gradle/releases/tag/v7.6.3 | Release Notes | |
https://github.com/gradle/gradle/releases/tag/v8.4.0 | Release Notes | |
https://security.netapp.com/advisory/ntap-20231110-0006 | Third Party Advisory |
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://github.com/gradle/gradle/commit/3b406191e24d69e7e42dc3f3b5cc50625aa930b7 | 2024-01-21 |
URL | Date | SRC |
---|---|---|
https://github.com/gradle/gradle/security/advisories/GHSA-43r3-pqhv-f7h9 | 2024-01-21 | |
https://access.redhat.com/security/cve/CVE-2023-44387 | 2023-12-06 | |
https://bugzilla.redhat.com/show_bug.cgi?id=2242485 | 2023-12-06 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Gradle Search vendor "Gradle" | Gradle Search vendor "Gradle" for product "Gradle" | < 7.6.3 Search vendor "Gradle" for product "Gradle" and version " < 7.6.3" | - |
Affected
| ||||||
Gradle Search vendor "Gradle" | Gradle Search vendor "Gradle" for product "Gradle" | >= 8.0.0 < 8.4.0 Search vendor "Gradle" for product "Gradle" and version " >= 8.0.0 < 8.4.0" | - |
Affected
|