Vulnerabilities

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.

  1. 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