CVE-2021-21290
Local Information Disclosure Vulnerability in Netty on Unix-Like systems due temporary files
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
1Exploited in Wild
-Decision
Descriptions
Netty is an open-source, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. In Netty before version 4.1.59.Final there is a vulnerability on Unix-like systems involving an insecure temp file. When netty's multipart decoders are used local information disclosure can occur via the local system temporary directory if temporary storing uploads on the disk is enabled. On unix-like systems, the temporary directory is shared between all user. As such, writing to this directory using APIs that do not explicitly set the file/directory permissions can lead to information disclosure. Of note, this does not impact modern MacOS Operating Systems. The method "File.createTempFile" on unix-like systems creates a random file, but, by default will create this file with the permissions "-rw-r--r--". Thus, if sensitive information is written to this file, other local users can read this information. This is the case in netty's "AbstractDiskHttpData" is vulnerable. This has been fixed in version 4.1.59.Final. As a workaround, one may specify your own "java.io.tmpdir" when you start the JVM or use "DefaultHttpDataFactory.setBaseDir(...)" to set the directory to something that is only readable by the current user.
Netty es un framework de aplicación de red de código abierto y asíncrono controlado por eventos para el desarrollo rápido de servidores y clientes de protocolo de alto rendimiento mantenibles. En Netty anterior a la versión 4.1.59.Final, se presenta una vulnerabilidad en sistemas similares a Unix que involucra un archivo temporal no seguro. Cuando se usan los decodificadores multiparte de netty, la divulgación de información local puede ocurrir por medio del directorio temporal del sistema local si el almacenamiento temporal de cargas en el disco está habilitado. En sistemas tipo Unix, el directorio temporal se comparte entre todos los usuarios. Tal y como, escribir en este directorio utilizando las API que no establezcan explícitamente los permisos de archivo/directorio puede conducir a una divulgación de información. Cabe señalar que esto no afecta a los sistemas operativos MacOS modernos. El método "File.createTempFile" en sistemas similares a Unix crea un archivo aleatorio, pero, por defecto creará este archivo con los permisos "-rw-r - r--". Por lo tanto, si se escribe información confidencial en este archivo, otros usuarios locales pueden leer esta información. Este es el caso en el que "AbstractDiskHttpData" de netty es vulnerable. Esto ha sido corregido en la versión 4.1.59.Final. Como solución alternativa, se puede especificar su propio "java.io.tmpdir" al iniciar la JVM o utilizar "DefaultHttpDataFactory.setBaseDir(...)" para establecer el directorio en algo que solo el usuario actual pueda leer
In Netty there is a vulnerability on Unix-like systems involving an insecure temp file. When netty's multipart decoders are used, a local information disclosure can occur via the local system temporary directory if temporary storing uploads on the disk is enabled. On unix-like systems, the temporary directory is shared between all user. As such, writing to this directory using APIs that do not explicitly set the file/directory permissions can lead to information disclosure.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2020-12-22 CVE Reserved
- 2021-02-08 CVE Published
- 2023-11-08 EPSS Updated
- 2024-08-03 CVE Updated
- 2024-08-03 First Exploit
- ---------- Exploited in Wild
- ---------- KEV Due Date
CWE
- CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
- CWE-378: Creation of Temporary File With Insecure Permissions
- CWE-379: Creation of Temporary File in Directory with Insecure Permissions
- CWE-668: Exposure of Resource to Wrong Sphere
CAPEC
References (41)
URL | Date | SRC |
---|---|---|
https://github.com/netty/netty/security/advisories/GHSA-5mcr-gq6c-3hq2 | 2024-08-03 |
URL | Date | SRC |
---|---|---|
https://github.com/netty/netty/commit/c735357bf29d07856ad171c6611a2e1a0e0000ec | 2023-11-07 | |
https://www.oracle.com/security-alerts/cpuApr2021.html | 2023-11-07 | |
https://www.oracle.com/security-alerts/cpuapr2022.html | 2023-11-07 | |
https://www.oracle.com/security-alerts/cpuoct2021.html | 2023-11-07 |
URL | Date | SRC |
---|---|---|
https://www.debian.org/security/2021/dsa-4885 | 2023-11-07 | |
https://access.redhat.com/security/cve/CVE-2021-21290 | 2022-07-05 | |
https://bugzilla.redhat.com/show_bug.cgi?id=1927028 | 2022-07-05 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Netty Search vendor "Netty" | Netty Search vendor "Netty" for product "Netty" | < 4.1.59 Search vendor "Netty" for product "Netty" and version " < 4.1.59" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 9.0 Search vendor "Debian" for product "Debian Linux" and version "9.0" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 10.0 Search vendor "Debian" for product "Debian Linux" and version "10.0" | - |
Affected
| ||||||
Quarkus Search vendor "Quarkus" | Quarkus Search vendor "Quarkus" for product "Quarkus" | <= 1.13.7 Search vendor "Quarkus" for product "Quarkus" and version " <= 1.13.7" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Corporate Lending Process Management Search vendor "Oracle" for product "Banking Corporate Lending Process Management" | 14.2.0 Search vendor "Oracle" for product "Banking Corporate Lending Process Management" and version "14.2.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Corporate Lending Process Management Search vendor "Oracle" for product "Banking Corporate Lending Process Management" | 14.3.0 Search vendor "Oracle" for product "Banking Corporate Lending Process Management" and version "14.3.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Corporate Lending Process Management Search vendor "Oracle" for product "Banking Corporate Lending Process Management" | 14.5.0 Search vendor "Oracle" for product "Banking Corporate Lending Process Management" and version "14.5.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Credit Facilities Process Management Search vendor "Oracle" for product "Banking Credit Facilities Process Management" | 14.2.0 Search vendor "Oracle" for product "Banking Credit Facilities Process Management" and version "14.2.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Credit Facilities Process Management Search vendor "Oracle" for product "Banking Credit Facilities Process Management" | 14.3.0 Search vendor "Oracle" for product "Banking Credit Facilities Process Management" and version "14.3.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Credit Facilities Process Management Search vendor "Oracle" for product "Banking Credit Facilities Process Management" | 14.5.0 Search vendor "Oracle" for product "Banking Credit Facilities Process Management" and version "14.5.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Trade Finance Process Management Search vendor "Oracle" for product "Banking Trade Finance Process Management" | 14.2.0 Search vendor "Oracle" for product "Banking Trade Finance Process Management" and version "14.2.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Trade Finance Process Management Search vendor "Oracle" for product "Banking Trade Finance Process Management" | 14.3.0 Search vendor "Oracle" for product "Banking Trade Finance Process Management" and version "14.3.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Banking Trade Finance Process Management Search vendor "Oracle" for product "Banking Trade Finance Process Management" | 14.5.0 Search vendor "Oracle" for product "Banking Trade Finance Process Management" and version "14.5.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Communications Brm - Elastic Charging Engine Search vendor "Oracle" for product "Communications Brm - Elastic Charging Engine" | 12.0.0.3 Search vendor "Oracle" for product "Communications Brm - Elastic Charging Engine" and version "12.0.0.3" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Communications Design Studio Search vendor "Oracle" for product "Communications Design Studio" | 7.4.2 Search vendor "Oracle" for product "Communications Design Studio" and version "7.4.2" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Communications Messaging Server Search vendor "Oracle" for product "Communications Messaging Server" | 8.1 Search vendor "Oracle" for product "Communications Messaging Server" and version "8.1" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Nosql Database Search vendor "Oracle" for product "Nosql Database" | < 20.3 Search vendor "Oracle" for product "Nosql Database" and version " < 20.3" | - |
Affected
| ||||||
Netapp Search vendor "Netapp" | Active Iq Unified Manager Search vendor "Netapp" for product "Active Iq Unified Manager" | - | linux |
Affected
| ||||||
Netapp Search vendor "Netapp" | Active Iq Unified Manager Search vendor "Netapp" for product "Active Iq Unified Manager" | - | windows |
Affected
| ||||||
Netapp Search vendor "Netapp" | Cloud Secure Agent Search vendor "Netapp" for product "Cloud Secure Agent" | - | - |
Affected
| ||||||
Netapp Search vendor "Netapp" | Snapcenter Search vendor "Netapp" for product "Snapcenter" | - | - |
Affected
|