New MCP server — Bring vulnerability intelligence into your AI
Back to feed

CVE-2021-22789

NVDCIRCLENISA

EUVD-2021-9924 · Published Sep 2, 2021

A CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability that could cause a Denial of Service on the Modicon PLC controller / simulator when updating the controller application with a specially crafted project file exists in Modicon M580 CPU (part numbers BMEP* and BMEH*, all versions), Modicon M340 CPU (part numbers BMXP34*, all versions), Modicon MC80 (part numbers BMKC80*, all versions), Modicon Momentum Ethernet CPU (part numbers 171CBU*, all versions), PLC Simulator for EcoStruxureª Control Expert, including all Unity Pro versions (former name of EcoStruxureª Control Expert, all versions), PLC Simulator for EcoStruxureª Process Expert including all HDCS versions (former name of EcoStruxureª Process Expert, all versions), Modicon Quantum CPU (part numbers 140CPU*, all versions), Modicon Premium CPU (part numbers TSXP5*, all versions).

Technologies

Schneider-Electric Modicon Quantum 140Cpu65160CSchneider-Electric Modicon Momentum 171Cbu78090Schneider-Electric Modicon Premium Tsxp57 2834MSchneider-Electric Modicon M580 Bmep581020HSchneider-Electric Modicon M580 Bmeh582040Schneider-Electric Modicon Premium Tsxp57 4634MSchneider-Electric Modicon Quantum 140Cpu65160Schneider-Electric Modicon Premium Tsxp57 1634MSchneider-Electric Modicon M580 Bmeh582040CSchneider-Electric Modicon M580 Bmep584040Schneider-Electric Modicon M340 Bmxp342020Schneider-Electric Modicon M580 Bmeh584040SSchneider-Electric Modicon M580 Bmeh584040CSchneider-Electric Modicon Premium Tsxp57 6634MSchneider-Electric Modicon M580 Bmep585040Schneider-Electric Modicon M580 Bmep582020HSchneider-Electric Modicon M580 Bmep582040SSchneider-Electric Modicon M340 Bmxp342030Schneider-Electric Modicon Mc80 Bmkc8020301Schneider-Electric Modicon Quantum 140Cpu65150Schneider-Electric Modicon Momentum 171Cbu98091Schneider-Electric Modicon Mc80 Bmkc8020310Schneider-Electric Modicon M580 Bmeh586040CSchneider-Electric Modicon Mc80 Bmkc8030311Schneider-Electric Modicon M580 Bmeh586040SSchneider-Electric Modicon Premium Tsxp57 554MSchneider-Electric Modicon Quantum 140Cpu65150CSchneider-Electric Modicon M580 Bmep581020Schneider-Electric Modicon M580 Bmep583020Schneider-Electric Modicon Premium Tsxp57 2634MSchneider-Electric Modicon Momentum 171Cbu98090Schneider-Electric Modicon M580 Bmep585040CSchneider-Electric Plc Simulator For Ecostruxure Control ExpertSchneider-Electric Modicon M340 Bmxp341000Schneider-Electric Modicon M580 Bmep583040Schneider-Electric Modicon M580 Bmep586040CSchneider-Electric Modicon M580 Bmeh584040Schneider-Electric Modicon M580 Bmeh582040SSchneider-Electric Plc Simulator For Ecostruxure Process ExpertSchneider-Electric Modicon M580 Bmep582020Schneider-Electric Modicon M580 Bmep584040SSchneider-Electric Modicon M580 Bmeh586040Schneider-Electric Modicon Premium Tsxp57 5634MSchneider-Electric Modicon M580 Bmep582040HSchneider-Electric Modicon M580 Bmep584020Schneider-Electric Modicon M340 Bmxp342010Schneider-Electric Modicon M580 Bmep582040Schneider-Electric Modicon M580 Bmep586040Schneider-Electric Modicon Premium Tsxp57 454M

Weaknesses

CWE-119

CVSS scores

  • v3.16.5CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
  • v2.04.0AV:N/AC:L/Au:S/C:N/I:N/A:P

MITRE ATT&CK

Inferred

Where this vulnerability fits in an attack

Initial Access

References

Potentially impacted assets

See if this affects your attack surface

Latest trending attack

Criticalyesterday

Google Brotli decoder - Remote Code Execution via compressed requests (Exploitation Check)

This control is the second step of the Patrowl response to CVE-2026-111497 (Node2Shell). It complements the first control of 22 October 2026, which focused on the Node.js runtime, and does not replace it. Why a second control CVE-2026-111497 is an out-of-bounds write in the Google Brotli decoder, the library that decompresses Brotli ("br") data. It was first published as a Node.js vulnerability, because Node.js bundles this decoder. Later publications showed that the flaw is in the library itself. Every product that embeds an affected version of the decoder is concerned, whatever its language or vendor. A public proof of concept demonstrates code execution. Any server that decompresses request bodies sent with "Content-Encoding: br" exposes the decoder to unauthenticated attackers. Known cases include Express 5 and NestJS 11 on Node.js, Koa and Fastify setups, Bun, Envoy and Istio with request decompression enabled, and any application or reverse proxy that decodes Brotli request bodies with an affected library. The flaw also works in the other direction. A malicious server can compromise an unpatched client that decodes a Brotli response, for example Node.js fetch(), Python clients (requests, httpx, aiohttp, Scrapy) with the Brotli or brotlicffi package, or libcurl builds with Brotli support. What this control checks Patrowl sends small, valid Brotli-compressed requests to each asset and observes whether the server decodes them. The check does not depend on the technology: it detects the behaviour, whatever the stack behind it. These requests are what any legitimate client could send. They never reach the vulnerable code path and cannot affect the availability of the service. How to read the result Potentially impacted means the asset decodes Brotli request bodies: the attack surface is exposed. It does not confirm that the asset is vulnerable. The version of the Brotli decoder in use is not visible from the outside. This check covers applications that parse request bodies on their root path. A Not impacted result does not rule out exposure on other routes, nor on the client side. Checking the versions on the servers remains the only exhaustive verification. Affected and fixed versions Google Brotli 1.0.3 to 1.2.0 are affected, fixed in 1.0.10, 1.1.1 and 1.2.1. Fixed releases of the main products embedding it: Node.js 22.23.4, 24.22.1 and 26.12.1 (end-of-life lines 20.x and older and 25.x receive no fix), Bun 1.4.4, Envoy 1.37.8, 1.38.6, 1.39.3 and 1.40.0, Istio 1.29.9, 1.30.6 and 1.31.2, Python Brotli 1.2.1 and brotlicffi 1.2.1.0. Products that link against the system library depend on the Brotli package of the Linux distribution. Recommendations Update every component that embeds the Brotli decoder (only real fix). Start with the assets flagged by this control. Restart the processes after the update. Rebuild containers, single-executable applications and appliances that bundle an affected runtime or library. Reduce the exposure until the update is deployed. Reject requests with "Content-Encoding: br" at the reverse proxy, load balancer or WAF, case-insensitively and including lists such as "gzip, br". On Envoy and Istio, disable request decompression for Brotli. Review outbound calls. List the features that fetch content from servers you do not control, and patch the services that host them first.

Take 15 minutes to discover our platform with our experts

Patrowl Intel platform screenshot