Apache bRPCでHTTP/2の不正なDATAフレームによりサービス停止のおそれ
Summary
Apache bRPCのHTTP/2サーバーで、パディング指定の空のDATAフレームを処理する際に整数アンダーフローと範囲外読み取りが起きる脆弱性です。認証なしの遠隔の攻撃者により、サービス妨害(DoS)を引き起こされるおそれがあります。修正版のbRPC 1.18.0へ更新するか、修正パッチを適用してください。
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
Apache bRPCのHTTP/2サーバーで、パディング指定の空のDATAフレームを処理する際に整数アンダーフローと範囲外読み取りが起きる脆弱性です。認証なしの遠隔の攻撃者により、サービス妨害(DoS)を引き起こされるおそれがあります。修正版のbRPC 1.18.0へ更新するか、修正パッチを適用してください。
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| Apache Software Foundation | Apache bRPC |
< 1.18.0 |
1.18.0 |
Original description The description as published by the source.
Integer underflow and out-of-bounds read in the HTTP/2 server DATA frame parser in Apache bRPC allows an unauthenticated remote attacker to cause denial of service by sending a malformed DATA frame with the PADDED flag set and a zero-length payload.
Root Cause:
The HTTP/2 DATA frame handler computed the fragment size from the attacker-controlled payload length and, when the PADDED flag was present, decremented the fragment size before ensuring that the frame contained the mandatory pad length byte. A zero-length padded DATA frame could therefore underflow the unsigned fragment size and read the pad length byte past the end of the frame buffer.
Affected Scenarios:
Apache bRPC servers that accept HTTP/2 traffic are affected when a remote client can send crafted HTTP/2 frames to the server. HTTP/2 may be reached through cleartext h2c detection on an HTTP port or through TLS ALPN negotiation.
How to Fix:
(Choose one of the following options)
- Upgrade Apache bRPC to version 1.18.0, which fixes this issue.
- Apply this patch: https://github.com/apache/brpc/pull/3325
Note:
The fix validates that a padded DATA frame has enough payload bytes for the pad length field before decrementing the fragment size or reading the pad length byte. Malformed zero-length padded DATA frames are rejected with HTTP/2 FRAME_SIZE_ERROR.
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
References
- web nvd.nist.gov
- web lists.apache.org
- web github.com