Skip to main content
VulnerabilityPublished

CVE-2026-56018: GTERMARS JavaScript::Minifier::XS · Memory Leak

Affects GTERMARS JavaScript::Minifier::XSSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 7.5 High : upgrade to 0.16 soon.

Data as of 9 Nov 2026, 23:24 UTC

CVSS 3.1 base score
7.5High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.6% chance of exploitation in 30 days – higher than 49% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 0.16
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 29 Jun 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 10 Nov 2026.

What to do

Upgrade JavaScript::Minifier::XS and JavaScript-Minifier-XS to 0.16.

Affected software

ProductAffectedFixed in
GTERMARSJavaScript::Minifier::XSAffected
  • <0.16
Fixed in
  • 0.16
GitHubJavaScript-Minifier-XSpkg:github/JavaScript-Minifier-XSOther threatsAffected
  • <0.16
Fixed in
  • 0.16

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

If you cannot patch yet, avoid running long-lived processes that repeatedly call minify() on affected versions or implement external memory management controls to limit resource exhaustion.

Description

JavaScript::Minifier::XS versions before 0.16 for Perl leak memory on every call to minify(), allowing unbounded memory growth. In JsMinify (XS.xs) the cleanup frees only the NodeSet structures and never the per-token contents buffers allocated in JsSetNodeContents; JsDiscardNode unlinks nodes without freeing their contents. Each token's contents buffer is therefore leaked on every call, and the two early returns taken when the node list is empty leak the whole NodeSet. A long-lived process that minifies repeatedly, such as an asset pipeline or a server-side minifier endpoint, grows in memory without bound until it exhausts available memory and is killed, causing denial of service.

References

Community reviews

Loading reviews…