---
id: "CVE-2026-124016"
page: "https://infrastack.ai/live/CVE-2026-124016"
kind: "vulnerability"
aliases: ["CVE-2026-124016"]
title: "postal-mime: crafted email causes CPU exhaustion and event loop blocking"
severity: "medium"
cvss: 6.9
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["email-parsing", "node.js", "package", "postal-mime"]
not_affected_if: ["no-untrusted-email-input", "trusted-mail-only"]
published_at: "2026-11-10T20:19:04+00:00"
first_seen_at: "2026-11-10T20:46:04+00:00"
updated_at: "2026-11-10T20:47:58+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-124016", "first_seen_at": "2026-11-10T20:46:04+00:00"}]
exploit_sources: []
---

# postal-mime: crafted email causes CPU exhaustion and event loop blocking

Link for people: https://infrastack.ai/live/CVE-2026-124016 (this .md is for agents)

postal-mime, a JavaScript email parser, becomes very slow on specially crafted multipart emails with deeply nested boundaries. An unauthenticated remote sender can block the Node.js event loop for seconds per message, causing denial of service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed version with `npm ls postal-mime`
- Look for `postal-mime` in `package.json` and lockfiles for any version below `4.2.1`
- Find where the parser runs on inbound mail, such as a mail-receiving service or webhook, since only that path is exposed

## Fix

- `postal-mime` `4.2.1` (fixed version, per the vulnerability record; the product data lists no ranges)

## Timeline

- 2026-11-10T20:46:04+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-124016

## Documents

- [advisory] Vendor advisory: github.com https://github.com/postalsys/postal-mime/security/advisories/GHSA-q8wm-54mj-r36p
- [advisory] Third-party advisory: www.vulncheck.com https://www.vulncheck.com/advisories/postal-mime-algorithmic-complexity-dos-via-processline
- [fix] Release notes: github.com https://github.com/postalsys/postal-mime/releases/tag/v4.2.1

## From the sources

postal-mime before 4.2.1 contains an algorithmic complexity denial of service vulnerability that allows unauthenticated remote attackers to cause excessive CPU consumption in the PostalMime.processLine() function by crafting deeply nested multipart email messages with boundary lines sharing long prefixes with open boundaries. Attackers can deliver a malicious email with nesting up to the default maxNestingDepth of 256, causing per-line parsing cost to scale as O(depth x shared prefix length) and blocking the Node.js event loop for seconds per message.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
