Security research · GHSA-h4qj-j2x9-q553
Unauthenticated lighttpd request-body disk exhaustion
Published Jul 21, 2026 · catalog updated Jul 21, 2026 · Unauthenticated lighttpd request-body disk
Last checked Nov 2, 2026. A connected source was read within the last 7 days.
Open the advisory
Exploitation likelihood is not on this record for GHSA-h4qj-j2x9-q553. A missing EPSS score is not a low risk. Compare Unauthenticated lighttpd request-body disk with the linked advisory before you change production.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (Unauthenticated lighttpd request-body disk).
- No version range is stored. A customer cannot check an installed version against this record.
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- EPSS is missing. A missing score is not a low risk.
- Severity
- Medium5.3
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- Awaiting synchronization with FIRST
- Remediation
- Not established
- Affected products
- See sources for product scope
## Summary The WebGUI lighttpd listener accepts request bodies up to 2 GiB and uses lighttpd's default non-streaming request-body mode. In that mode, lighttpd buffers the complete body into temporary files before passing the request to PHP/FastCGI. This happens before OPNsense authentication and CSRF validation. An unauthenticated client can therefore allocate root-filesystem space by holding one or more large POST requests in progress. The configured temporary directories ( , , and ) are all on the root filesystem in the tested default installation, so the fallback list does not isolate the impact. The deployed runtime used lighttpd ; its generated configuration contained the same and values. ## Root cause generates the following settings: is measured in KiB, so this permits a 2 GiB request. The configuration does not set ; lighttpd's default value is , which buffers the full body before connecting to FastCGI and uses temporary files once the in-memory threshold is exceeded. The later PHP limits do not prevent the front-end buffering step: References: - https://redmine.lighttpd.net/projects/lighttpd/wiki/server_max-request-sizeDetails - https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ResourceTuning - https://redmine.lighttpd.net/projects/1/wiki/Server_upload-dirsDetails ## Bounded dynamic proof The test deliberately used one 16 MiB request, far below both the configured 2 GiB maximum and the available 26 GiB root-filesystem space: SSH is used only as an observer; the HTTP request itself has no session cookie, credentials, or CSRF token. Observed result: | Property | Value | | --- | --- | | Authenticated | | | HTTP payload sent | bytes | | Maximum temporary data observed | bytes | | Temporary files before request | | | Peak temporary files | | | Application response | ( ) | | Temporary files after request | | The temporary files appeared as approximately 1 MiB chunks named . The CSRF rejection arrived only after the entire body had been accepted and spooled
No affected version ranges are stored yet. Use the vendor advisory before you decide this record does not apply.
How to fix GHSA-h4qj-j2x9-q553
No stored fix
No vendor fix text is stored. Use the linked advisory before you change production.
Version check
No version range is stored, so an installed version cannot be checked on this page.
Advisory
Open the inventory_github record and follow its fix.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
Exploitation likelihood is not on this record for GHSA-h4qj-j2x9-q553. A missing EPSS score is not a low risk. Compare Unauthenticated lighttpd request-body disk with the linked advisory before you change production.
Which versions are affected?
Affected version ranges are not on this record. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-400: Uncontrolled Resource Consumption. EPSS is not on this record yet. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Technology hubs
Code
The project this record applies to. Exploit listings stay in References.
No public source repository is identified for this product.
Timeline
Detection, updates, and resolution for this record.
Jul 21, 2026 · Maintainer security tabs
Detected
## Summary The WebGUI lighttpd listener accepts request bodies up to 2 GiB and uses lighttpd's default non-streaming request-body mode. In that mode, lighttpd buffers the complete body into temporary files before passing the request to PHP/FastCGI. This happens before OPNsense authentication and CSRF validation. An unauthenticated client can therefore allocate root-filesystem space by holding one
Sources
- Maintainer security tabsVendor advisoryGHSA-h4qj-j2x9-q553
## Summary The WebGUI lighttpd listener accepts request bodies up to 2 GiB and uses lighttpd's default non-streaming request-body mode. In that mode, lighttpd buffers the complete body into temporary files before passing the request to PHP/FastCGI. This happens before OPNsense authentication and CSRF validation. An unauthenticated client can therefore allocate root-filesystem space by holding one
github.com
Freshness
Last verified in this catalog Jul 21, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.
- Maintainer security tabsNov 2, 2026