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

CVE-2023-20578

NVDCIRCLENISA

EUVD-2023-24757 · Published Aug 13, 2024

A TOCTOU (Time-Of-Check-Time-Of-Use) in SMM may allow an attacker with ring0 privileges and access to the BIOS menu or UEFI shell to modify the communications buffer potentially resulting in arbitrary code execution.

Technologies

Amd Epyc 7663P FirmwareAmd Epyc 7663PAmd Epyc 7203PAmd Epyc 7371Amd Epyc 72F3Amd Epyc 7303P FirmwareAmd Epyc 7601 FirmwareAmd Epyc 9224 FirmwareAmd Epyc 8324P FirmwareAmd Epyc 8534P FirmwareAmd Epyc 8124P FirmwareAmd Epyc 7303 FirmwareAmd Epyc 7513 FirmwareAmd Epyc 7251Amd Epyc 7F52 FirmwareAmd Epyc 7443P FirmwareAmd Epyc 8434Pn FirmwareAmd Epyc 7543P FirmwareAmd Epyc 7232P FirmwareAmd Epyc 7713Amd Epyc 7742Amd Epyc 7313P FirmwareAmd Epyc 7601Amd Epyc 9554P FirmwareAmd Epyc 73F3 FirmwareAmd Epyc 8534Pn FirmwareAmd Epyc 8024P FirmwareAmd Epyc 7473X FirmwareAmd Epyc 7351P FirmwareAmd Epyc 9734 FirmwareAmd Epyc 8324PAmd Epyc 7543 FirmwareAmd Epyc 7F32Amd Epyc 7742 FirmwareAmd Epyc 7502P FirmwareAmd Epyc 7401P FirmwareAmd Epyc 7443Amd Epyc 9654P FirmwareAmd Epyc 7552 FirmwareAmd Epyc 74F3 FirmwareAmd Epyc 9384X FirmwareAmd Epyc 7702P FirmwareAmd Epyc 7542 FirmwareAmd Epyc 7773XAmd Epyc 9684XAmd Epyc 7643 FirmwareAmd Epyc 7551P FirmwareAmd Epyc 7203Amd Epyc 7272 FirmwareAmd Epyc 7373X FirmwareAmd Epyc 9754Amd Epyc 9534Amd Epyc 7702Amd Epyc 7252 FirmwareAmd Epyc 7F32 FirmwareAmd Epyc 7443PAmd Epyc 9374FAmd Epyc 9554PAmd Epyc 7763Amd Epyc 9684X FirmwareAmd Epyc 7281 FirmwareAmd Epyc 7453 FirmwareAmd Epyc 8434PAmd Epyc 7302P FirmwareAmd Epyc 8434PnAmd Epyc 9124 FirmwareAmd Epyc 7642Amd Epyc 7501Amd Epyc 7281Amd Epyc 7663 FirmwareAmd Epyc 7352Amd Epyc 9454Amd Epyc 8024PnAmd Epyc 7502PAmd Epyc 75F3 FirmwareAmd Epyc 7302 FirmwareAmd Epyc 9124Amd Epyc 9554 FirmwareAmd Epyc 7301 FirmwareAmd Epyc 9734Amd Epyc 7663Amd Epyc 7543Amd Epyc 8024Pn FirmwareAmd Epyc 9374F FirmwareAmd Epyc 7473XAmd Epyc 7573XAmd Epyc 7773X FirmwareAmd Epyc 7551Amd Epyc 7F72Amd Epyc 7001Amd Epyc 7532 FirmwareAmd Epyc 8224Pn FirmwareAmd Epyc 7402PAmd Epyc 7252Amd Epyc 9254Amd Epyc 8224PAmd Epyc 7H12 FirmwareAmd Epyc 9254 FirmwareAmd Epyc 72F3 FirmwareAmd Epyc 7713P FirmwareAmd Epyc 7643PAmd Epyc 7501 FirmwareAmd Epyc 9634 FirmwareAmd Epyc 9634Amd Epyc 7702 FirmwareAmd Epyc 7262Amd Epyc 7401PAmd Epyc 8124Pn FirmwareAmd Epyc 7351 FirmwareAmd Epyc 7282 FirmwareAmd Epyc 7452 FirmwareAmd Epyc 9654PAmd Epyc 9454 FirmwareAmd Epyc 7543PAmd Epyc 7451 FirmwareAmd Epyc 7443 FirmwareAmd Epyc 7301Amd Epyc 7313PAmd Epyc 9384XAmd Epyc 7001 FirmwareAmd Epyc 7402P FirmwareAmd Epyc 7302Amd Epyc 8434P FirmwareAmd Epyc 9354 FirmwareAmd Epyc 7502 FirmwareAmd Epyc 7763 FirmwareAmd Epyc 7282Amd Epyc 74F3Amd Epyc 7552Amd Epyc 9274FAmd Epyc 7203P FirmwareAmd Epyc 7453Amd Epyc 7662 FirmwareAmd Epyc 73F3Amd Epyc 7643Amd Epyc 9654 FirmwareAmd Epyc 9454P FirmwareAmd Epyc 9184XAmd Epyc 7303Amd Epyc 7H12Amd Epyc 7702PAmd Epyc 7502Amd Epyc 7452Amd Epyc 7402 FirmwareAmd Epyc 7262 FirmwareAmd Epyc 9334Amd Epyc 9184X FirmwareAmd Epyc 9474F FirmwareAmd Epyc 8024PAmd Epyc 7542Amd Epyc 8324Pn FirmwareAmd Epyc 7351Amd Epyc 7F52Amd Epyc 7551 FirmwareAmd Epyc 7662Amd Epyc 7643P FirmwareAmd Epyc 7261 FirmwareAmd Epyc 7313 FirmwareAmd Epyc 7413 FirmwareAmd Epyc 7551PAmd Epyc 7401 FirmwareAmd Epyc 7313Amd Epyc 7343Amd Epyc 75F3Amd Epyc 7413Amd Epyc 7272Amd Epyc 9754 FirmwareAmd Epyc 8324PnAmd Epyc 9534 FirmwareAmd Epyc 7F72 FirmwareAmd Epyc 7373XAmd Epyc 9354Amd Epyc 7351PAmd Epyc 7402Amd Epyc 9334 FirmwareAmd Epyc 9474FAmd Epyc 9754S FirmwareAmd Epyc 8534PAmd Epyc 7642 FirmwareAmd Epyc 7713PAmd Epyc 7451Amd Epyc 8224PnAmd Epyc 7232PAmd Epyc 9224Amd Epyc 9454PAmd Epyc 9174FAmd Epyc 9554Amd Epyc 7303PAmd Epyc 7713 FirmwareAmd Epyc 8224P FirmwareAmd Epyc 9354PAmd Epyc 7573X FirmwareAmd Epyc 7352 FirmwareAmd Epyc 9654Amd Epyc 7343 FirmwareAmd Epyc 7302PAmd Epyc 9754SAmd Epyc 7513Amd Epyc 8124PAmd Epyc 7371 FirmwareAmd Epyc 7251 FirmwareAmd Epyc 7401Amd Epyc 7203 FirmwareAmd Epyc 8534PnAmd Epyc 8124PnAmd Epyc 9274F FirmwareAmd Epyc 9174F FirmwareAmd Epyc 7532Amd Epyc 9354P FirmwareAmd Epyc 7261

Weaknesses

CWE-367

CVSS scores

  • v3.16.4CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H

MITRE ATT&CK

Inferred

Where this vulnerability fits in an attack

Privilege Escalation

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