LearnCTEM.com, Best CTEM Learning Platform
CVE Intelligence Hub

CVE-2026-124078: plist.js (npm package 'plist') Security Vulnerability

CVE-2026-124078 explained: high Security Vulnerability in plist.js (npm package 'plist'). CVSS 8.7. Affected versions, detection, fixes and CTEM priority.

Last updated: Nov 6, 2026

CVSS
8.7 HIGH
EPSS
n/a
CISA KEV
Not listed
CWE
CWE-674

Sources: National Vulnerability Database, CVE.org, CISA KEV, FIRST EPSS

CVE-2026-124078 Overview

plist.js (npm package 'plist') before 5.0.1 contains an uncontrolled resource consumption vulnerability in the binary property-list parser (parseBinary) that allows unauthenticated attackers to crash a Node.js process by exploiting unmemoized recursive resolution of shared object references for arrays and dictionaries. Attackers can craft a small binary plist (under 200 bytes) containing chained self-referencing object indices to trigger exponential (2^N) resolution calls and memory growth, causing an unrecoverable out-of-memory crash and denial of service.

Critical Impact

Remote, unauthenticated attackers can exploit this Security Vulnerability in plist.js (npm package 'plist'). The CVSS base score is 8.7 (High).

Affected Products

  • plist.js (npm package 'plist'): see the vendor advisory for the exact affected versions

Discovery Timeline

  • 2026-11-06: CVE-2026-124078 published to the National Vulnerability Database by disclosure@vulncheck.com
  • 2026-11-06: last updated in the NVD database

Technical Details for CVE-2026-124078

Vulnerability Analysis

CVE-2026-124078 is a Security Vulnerability weakness (CWE-674, CWE-776) in plist.js (npm package 'plist'). Based on its CVSS vector, the flaw can be reached over the network, needs no login, and needs no user interaction.

With a CVSS base score of 8.7, apply the vendor fix and confirm exposure on internet facing and business critical assets first.

Root Cause

The vendor description states: plist.js (npm package 'plist') before 5.0.1 contains an uncontrolled resource consumption vulnerability in the binary property-list parser (parseBinary) that allows unauthenticated attackers to crash a Node.js process by exploiting unmemoized recursive resolution of shared object references for arrays and dictionaries. Attackers can craft a small binary plist (under 200 bytes) containing chained self-referencing object indices to trigger exponential (2^N) resolution calls and memory growth, causing an unrecoverable out-of-memory crash and denial of service.

Attack Vector

Based on the CVSS vector, the flaw can be reached over the network, needs no login, and needs no user interaction. Attack complexity is low complexity.

No exploitation in the wild is confirmed by CISA at the time of the last update. Check the references below for any vendor or researcher proof of concept.

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Detection Methods for CVE-2026-124078

Detection Strategies

  • Inventory every instance of plist.js (npm package 'plist') and compare the running version with the affected range above.
  • Check external attack surface scans for internet facing instances of the component.
  • Run an authenticated vulnerability scan once your scanner ships a check for this CVE.

Monitoring Recommendations

  • Forward plist.js (npm package 'plist') application, access and audit logs to your SIEM for retrospective hunting.
  • Alert on new processes, configuration changes or outbound connections from the affected service.
  • Track the vendor advisory and the CISA KEV catalog for changes in exploitation status.

How to Mitigate CVE-2026-124078

Immediate Actions Required

  • Apply the fixed version of plist.js (npm package 'plist') named in the vendor advisory.
  • Prioritize internet facing and business critical instances first.
  • Rescan after the change to confirm the exposure is closed.

Patch Information

Use the fixed version listed in the vendor advisory for plist.js (npm package 'plist').

Workarounds

  • If patching must wait, restrict network access to the affected service and place it behind authentication or a web application firewall rule.

CWE References

Technical References

This entry is built directly from NVD, CISA KEV and EPSS data. Verify fixed versions in the vendor advisory before you deploy.

Frequently asked questions

CVE-2026-124078 is a high severity Security Vulnerability in plist.js (npm package 'plist') with a CVSS score of 8.7. Apply the vendor fix and confirm exposure on internet facing and business critical assets first.

Related CVEs

HIGH8.7
CVE-2026-41680
Marked Project Marked

Marked is a markdown parser and compiler. From 18.0.0 to 18.0.1, a critical Denial of Service (DoS) vulnerability exists in marked. By providing a specific 3-byte input sequence a tab, a vertical tab, and a newline (\x09\x0b\n)—an unauthenticated attacker can trigger an infinite recursion loop during parsing. This leads to unbounded memory allocation, causing the host Node.js application to crash via Memory Exhaustion (OOM). This vulnerability is fixed in 18.0.2.

Apr 24, 2026
HIGH8.7
CVE-2026-3520
Expressjs Multer

Multer is a node.js middleware for handling `multipart/form-data`. A vulnerability in Multer prior to version 2.1.1 allows an attacker to trigger a Denial of Service (DoS) by sending malformed requests, potentially causing stack overflow. Users should upgrade to version 2.1.1 to receive a patch. No known workarounds are available.

Mar 4, 2026
HIGH8.7
CVE-2026-25048
Mlc-Ai Xgrammar

xgrammar is an open-source library for efficient, flexible, and portable structured generation. Prior to version 0.1.32, the multi-level nested syntax caused a segmentation fault (core dumped). This issue has been patched in version 0.1.32.

Mar 5, 2026
HIGH8.7
CVE-2026-32944
Parseplatform Parse-Server

Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.21 and 8.6.45, an unauthenticated attacker can crash the Parse Server process by sending a single request with deeply nested query condition operators. This terminates the server and denies service to all connected clients. Starting in version 9.6.0-alpha.21 and 8.6.45, a depth limit for query condition operator nesting has been added via the `requestComplexity.queryDepth` server option. The option is disabled by default to avoid a breaking change. To mitigate, upgrade and set the option to a value appropriate for your app. No known workarounds are available.

Mar 18, 2026
HIGH8.7
CVE-2026-33498
Parseplatform Parse-Server

Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.55 and 9.6.0-alpha.44, an attacker can send an unauthenticated HTTP request with a deeply nested query containing logical operators to permanently hang the Parse Server process. The server becomes completely unresponsive and must be manually restarted. This is a bypass of the fix for CVE-2026-32944. This issue has been patched in versions 8.6.55 and 9.6.0-alpha.44.

Mar 24, 2026
HIGH8.7
CVE-2026-41636
Apache Thrift

Uncontrolled Recursion vulnerability in Apache Thrift Node.js bindings This issue affects Apache Thrift: before 0.23.0. Users are recommended to upgrade to version 0.23.0, which fixes the issue.

Apr 28, 2026
Your next credential

Earn your free CTEM certification.

Learn to scope, prioritize, validate and mobilize fixes for CVEs like CVE-2026-124078 with a free CTEM certification.

Free to takePublicly verifiable

Beginner / Practitioner / Program Leader

Explore certifications