CVE-2026-120237: ag-ui-protocol ag-ui resource exhaustion in interrupt expiry

CVE-2026-120237 · Severity: medium · CVSS 4.3 · Published 2026-11-01

AG-UI is a protocol for integrating AI agents into frontend applications. A flaw in the interrupt expiry logic allows a server to send interrupts without an expiration time, causing them to never expire and permanently blocking the client from processing further run requests, resulting in a complete session lockup with no automatic recovery.

Technologies: Ag-Ui-Protocol Ag-Ui. Vendors: Ag-Ui-Protocol.

Quick answers

Is CVE-2026-120237 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-120237 being exploited in the wild.
How severe is CVE-2026-120237?
Medium severity, with a CVSS score of 4.3, published 1 November 2026.
Which products and versions are affected?
Ag-Ui-Protocol Ag-Ui up to 0.0.58.
Is there a fix for CVE-2026-120237?
No fixed version is recorded yet. Default expiresAt to a bounded TTL when the field is omitted, or reject interrupts without expiresAt. Enforce a maximum number of pending interrupts per thread.</anigation> </invoke> If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-120237 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-120237?
Check whether you run Ag-Ui-Protocol Ag-Ui at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

Default expiresAt to a bounded TTL when the field is omitted, or reject interrupts without expiresAt. Enforce a maximum number of pending interrupts per thread.</anigation> </invoke>

Technical details

The isInterruptExpired function in the Interrupt component treats a missing expiresAt field as "never expires" (expiresAt === undefined returns false), with no default TTL fallback. An unauthenticated remote attacker can send a RUN_FINISHED message with interrupts lacking expiresAt, causing pending interrupts to accumulate indefinitely and gate all subsequent runAgent calls on that thread. The flaw requires no user interaction beyond initiating normal agent communication.

Affected products

  • ag-ui-protocol ag-ui up to 0.0.58

Timeline

  • 2026-08-25: disclosed: Bug report opened on GitHub issue #2525
  • 2026-11-01: advisory: CVE published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.