VYPR
Unrated severityNVD Advisory· Published Jun 15, 2026

CVE-2026-50879

CVE-2026-50879

Description

linx-server v2.3.8 uploadPostHandler writes oversized multipart bodies to temporary disk before enforcing the max file size, enabling a remote DoS via disk exhaustion.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

linx-server v2.3.8 uploadPostHandler writes oversized multipart bodies to temporary disk before enforcing the max file size, enabling a remote DoS via disk exhaustion.

Vulnerability

linx-server v2.3.8's uploadPostHandler parses incoming multipart POST requests via Go's r.FormFile("file") before the application-level Config.maxSize check is performed. During this parsing, Go's HTTP server may spool the request body (including the file part) to a temporary directory on disk. The size limit enforced by Config.maxSize is applied only after FormFile returns, meaning an attacker can submit a crafted, oversized multipart payload that consumes temporary disk space even though the upload will ultimately be rejected. This behavior was described in a security advisory detailing the root cause [1].

Exploitation

An unauthenticated remote attacker with network access to the /upload/ endpoint can send a single POST request with a file part exceeding the configured Config.maxSize. The multipart parser writes the oversized content to a temporary location on disk before linx-server rejects the upload due to size. By repeating this request or sending multiple concurrent requests, the attacker can fill the temporary storage directory, leading to a denial-of-service condition [1].

Impact

A successful exploitation results in exhaustion of temporary disk space, which prevents the server from handling subsequent uploads and can disrupt normal operations. The denial of service is achieved without the attacker needing to authenticate or bypass the application's final size limit; the effect is solely on the temporary storage during multipart parsing [1].

Mitigation

As of the available references, no official patch has been published for linx-server v2.3.8. The vendor has not released a fixed version addressing the spooling behavior before the size check. Depending on deployment, operators may mitigate the risk by limiting the size of incoming request bodies at a reverse proxy or load balancer, or by adjusting temporary file system quotas and monitoring disk usage. However, the fundamental issue remains in the v2.3.8 code base [1].

AI Insight generated on Jun 15, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

2

Patches

0

No patches discovered yet.

Vulnerability mechanics

Root cause

"linx-server checks the configured maximum file size after Go's multipart parser has already flushed attacker-controlled data to temporary disk storage."

Attack vector

An unauthenticated remote attacker sends a crafted multipart POST request to the /upload/ endpoint ([ref_id=1]). The request contains a file part whose size exceeds the configured `Config.maxSize`. Go's HTTP multipart parser spools the oversized request body to temporary disk storage before linx-server evaluates the size limit, resulting in uncontrolled temporary disk consumption ([CWE-400]).

Affected code

The vulnerability is within the uploadPostHandler component, specifically the POST /upload/ handler. linx-server 2.3.8 calls `r.FormFile("file")` before checking `Config.maxSize`, allowing multipart body parsing to write to temporary storage before the size check is enforced.

What the fix does

No patch is provided in the bundle. The advisory [ref_id=1] recommends that the `Config.maxSize` check be moved before the call to `r.FormFile()`, or that a custom `http.MaxBytesReader` wrapper be applied to the request body so the parser itself enforces the size limit before any data is written to temporary storage.

Preconditions

  • networkAttacker must be able to reach the /upload/ endpoint

Reproduction

As documented in [ref_id=1]: run linx-server 2.3.8 with a small Config.maxSize and a known temporary directory; send POST /upload/ with a multipart file part much larger than the configured maximum; monitor the temporary directory while the request is processed; repeat or send several requests in parallel to increase temporary disk consumption.

Generated on Jun 15, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

1

News mentions

0

No linked articles in our index yet.