CVE-2026-123635 json
Refused calls drain the HTTP/2 connection flow-control window in elixir-grpc grpc_server
published 2d ago modified yesterday also EEF-CVE-2026-123635 , EUVD-2026-125453 , GHSA-7x9q-vvph-rjcr
- cvss
- 6.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 24%
- public exploits
- 0
- none known
Summary
Missing Release of Resource after Effective Lifetime vulnerability in elixir-grpc grpc_server allows a client to stall all later calls on a shared HTTP/2 connection via calls that the server refuses while their DATA frames are in flight.
The stream handler grpc_stream_h (grpc_server/src/grpc_stream_h.erl) requests flow from Cowboy only for request data that has arrived. When the server refuses a call early, for example because the body exceeds max_body_size or the method is not implemented, Cowboy drops the DATA frames still in flight for that stream. Their bytes are not returned to the connection flow-control window. After enough refused calls the window is empty. No call on that connection can then send a request body, and each call waits until its deadline. Other connections are not affected.
This issue affects grpc_server: from 1.0.0 before 1.1.0.
Patch / fix
- hex grpc_server 1.1.0
- elixir-grpc grpc_server 1.1.0
Is CVE-2026-123635 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
0.32% chance of exploitation in the next 30 days, higher than 24% of all scored CVEs (FIRST EPSS, 2026-11-14).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | grpc_server | >=1.0.0, <1.1.0 |
1.1.0 |
Affected products
- elixir-grpc grpc_server
Classification
- Weakness
-
- CWE-772 Missing Release of Resource after Effective Lifetime
References
-
github.com
/elixir-grpc/grpc/commit/0332faae5f5e132314794dbfdae5edecbccea292
related, web
-
github.com
/elixir-grpc/grpc/commit/61a71948e6e7b95efb27d48e7084c764503cc802
patch
-
github.com
/elixir-grpc/grpc/security/advisories/GHSA-7x9q-vvph-rjcr
vendor-advisory, related, advisory
-
cna.erlef.org
/cves/CVE-2026-123635.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-123635
related
-
hex.pm
/packages/grpc_server
package
Sources
- CVE List CVE-2026-123635
- NVD CVE-2026-123635
- OSV EEF-CVE-2026-123635
- Maintainer advisory GHSA-7x9q-vvph-rjcr
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of elixir-grpc/grpc published their own advisory on GitHub. Reviewed sources take precedence over it.