🔍 CVE-2026-81755

0.0
CVSS Score
UNKNOWN
2026-10-21
2026-10-22 16:56
✅ 완료

🇰🇷 한글 설명

Apache bRPC 1.18.0 미만 버전의 스트리밍 RPC 구성 요소에서 제어되지 않는 리소스 소비 취약점이 발견되었습니다. 공격자가 단일 RPC 요청에 과도한 수의 스트림 식별자를 포함하여 보낼 경우, 서버 메모리가 고갈되어 서비스 거부(DoS) 상태가 될 수 있습니다.

💡 쉬운 설명

공격자가 한 번의 요청에 수백만 개의 가짜 통로를 만들어 달라고 서버에 요청하여 서버의 메모리를 모두 써버리게 만드는 공격입니다. 이로 인해 서버가 과부하에 걸려 정상적인 서비스를 제공할 수 없게 됩니다.

🇺🇸 원문 (English)

Uncontrolled resource consumption in the streaming RPC component of Apache bRPC (version < 1.18.0) allows a remote attacker to exhaust server memory and cause denial of service by sending a single RPC request that declares an excessive number of streams. Root Cause: In the streaming RPC feature, a client can declare multiple streams in one RPC request by putting extra stream identifiers into the repeated field `stream_settings.extra_stream_ids` of the RPC meta. On the server side, `StreamAccept` creates one response stream for every stream identifier declared by the request, without limiting the number of streams accepted in a single RPC. The request body size is only bounded by `max_body_size` (default 64MB), which is enough to carry millions of stream identifiers. Each accepted stream allocates its own bthread execution queue and associated resources, so a single crafted request can make the server create a huge number of streams and exhaust memory, leading to denial of service. Affected Scenarios: Use a bRPC server that serves streaming RPC and calls `StreamAccept` to accept streams from untrusted clients. How to Fix: (Choose one of the following options)  1. Upgrade bRPC to the 1.18.0 version. 2. Apply this patch: https://github.com/apache/brpc/pull/3493 Note: The fix adds a new gflag `stream_max_streams_per_request` with a default value of 64. Requests declaring more streams than the limit are rejected before any response stream is created. Applications that legitimately need to accept more than 64 streams in one RPC must raise this flag; otherwise such requests will fail after applying the fix.

📍 영향받는 시스템

Apache bRPC version < 1.18.0 (Streaming RPC 사용 시)

⚔️ 공격 벡터

단일 RPC 요청 내 `stream_settings.extra_stream_ids` 필드에 과도한 수의 스트림 식별자를 포함하여 전송

🛡️ 대응 방법

bRPC를 1.18.0 버전으로 업그레이드하거나 제공된 패치를 적용하여 스트림 개수 제한 설정을 활성화하십시오.

🔧 검증 코드

설치된 bRPC 버전을 확인하여 1.18.0 미만일 경우 취약한 상태로 판단합니다.

Shell / Script
brpc_version_check=$(brpc_version_command_here 2>/dev/null); if [[ $brpc_version_check < "1.18.0" ]]; then echo "Vulnerable"; else echo "Safe"; fi

💻 영향받는 소프트웨어

Apache HTTP Server