Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-16028— Protocol::HTTP2 versions before 1.14 for Perl allow memory exhaustion via closed streams that stream_state never removes from the connection stream table

Quick assessment

Affected
CVE-2026-16028
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

以下是该漏洞描述的中文翻译: Protocol::HTTP2 在 1.14 版本之前的版本中,存在内存耗尽漏洞,原因是已关闭的流(closed streams)从未从连接的流表(stream table)中被 移除。 当流进入 CLOSED 状态时, 会释放并发槽位并清除流的大部分键值对,但该流在连接流表中的条目本身仍会保留,且发行版中的代码没有任何机制将其移除。由于流标识符是单调递增的,对端可以在单个连接上无限地打开和关闭流,每次关闭都会留下一个残留守项,并在连接的生命周期内一直保留。 参数无法限制这种内存增长。

AI Predicted 5.3 Difficulty: Moderate EPSS 0.63% · P48

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 1

VendorProduct Version RangeStatus
None None < 1.14 affected

I. Basic Information for CVE-2026-16028

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Protocol::HTTP2 versions before 1.14 for Perl allow memory exhaustion via closed streams that stream_state never removes from the connection stream table
Source: CVE Program / CVE List V5
Vulnerability Description
Protocol::HTTP2 versions before 1.14 for Perl allow memory exhaustion via closed streams that stream_state never removes from the connection stream table. When a stream reaches the CLOSED state, stream_state returns the concurrency slot and clears most of the stream's keys, but the entry itself stays in the connection stream table and nothing in the distribution removes it. Stream identifiers increase monotonically, so a peer can open and close streams on one connection indefinitely, each close leaving a residual entry that is retained for the life of the connection. SETTINGS_MAX_CONCURRENT_STREAMS does not bound this. That setting caps how many streams are live at once and is enforced, while the growth is made of streams the cap has already released, so it accumulates with concurrency never exceeding one. The client keeps the same table and grows the same way against a hostile server. Measured against a server built on this module, roughly 920 bytes are retained per closed stream for about 19 bytes on the wire, so 100,000 sequential streams on one connection grow server resident memory by about 88 MiB. The streams are ordinary requests that the application accepts and completes.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
在移除最后引用时对内存的释放不恰当(内存泄露)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
- - 0 ~ 1.14 -

II. Public POCs for CVE-2026-16028

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-16028

登录查看更多情报信息。

Patches & Fixes for CVE-2026-16028 (1)

Vendor Pages for CVE-2026-16028 (2)

IV. Related Vulnerabilities

V. Comments for CVE-2026-16028

No comments yet


Leave a comment