Description
This affects all versions of package org.nanohttpd:nanohttpd. Whenever an HTTP Session is parsing the body of an HTTP request, the body of the request is written to a RandomAccessFile when the it is larger than 1024 bytes. This file is created with insecure permissions that allow its contents to be viewed by all users on the host machine. **Workaround:** Manually specifying the -Djava.io.tmpdir= argument when launching Java to set the temporary directory to a directory exclusively controlled by the current user can fix this issue.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:NAffected software
| Vendor | Product | Versions |
|---|---|---|
| n/a | org.nanohttpd:nanohttpd | < unspecified |
References
- https://github.com/JLLeitschuh/security-research/security/advisories/GHSA-2r85-x9cf-8fcgThird Party Advisory
- https://github.com/NanoHttpd/nanohttpd/blob/efb2ebf85a2b06f7c508aba9eaad5377e3a01e81/core/src/main/java/org/nanohttpd/protocols/http/tempfiles/DefaultTempFile.java%23L58Broken Link
- https://github.com/NanoHttpd/nanohttpd/blob/efb2ebf85a2b06f7c508aba9eaad5377e3a01e81/core/src/main/java/org/nanohttpd/protocols/http/tempfiles/DefaultTempFileManager.java%23L60Broken Link
- https://snyk.io/vuln/SNYK-JAVA-ORGNANOHTTPD-2422798Third Party Advisory
- https://github.com/JLLeitschuh/security-research/security/advisories/GHSA-2r85-x9cf-8fcgThird Party Advisory
- https://github.com/NanoHttpd/nanohttpd/blob/efb2ebf85a2b06f7c508aba9eaad5377e3a01e81/core/src/main/java/org/nanohttpd/protocols/http/tempfiles/DefaultTempFile.java%23L58Broken Link
- https://github.com/NanoHttpd/nanohttpd/blob/efb2ebf85a2b06f7c508aba9eaad5377e3a01e81/core/src/main/java/org/nanohttpd/protocols/http/tempfiles/DefaultTempFileManager.java%23L60Broken Link
- https://snyk.io/vuln/SNYK-JAVA-ORGNANOHTTPD-2422798Third Party Advisory
Timeline
- Published
- May 1, 2022
- Last modified
- Jun 17, 2026
- NVD status
- Modified