title: Apache bRPC: HTTP request smuggling vulnerability
description: Request smuggling vulnerability in HTTP server in Apache bRPC 0.9.5~1.7.0 on all platforms allows attacker to smuggle request.
Vulnerability Cause Description：
The http_parser does not comply with the RFC-7230 HTTP 1.1 specification.
Attack scenario:
If a message is received with both a Transfer-Encoding and a Content-Length header field, such a message might indicate an attempt to perform request smuggling or response splitting.
One particular attack scenario is that a bRPC made http server on the backend receiving requests in one persistent connection from frontend server that uses TE to parse request with the logic that 'chunk' is contained in the TE field. in that case an attacker can smuggle a request into the connection to the backend server.
Solution:
You can choose one solution from below:
1. Upgrade bRPC to version 1.8.0, which fixes this issue. Download link:  https://github.com/apache/brpc/releases/tag/1.8.0
2. Apply this patch:  https://github.com/apache/brpc/pull/2518
problem types: CWE-444 Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling')
affected:
{
defaultStatus: unaffected
product: Apache bRPC
vendor: Apache Software Foundation
versions:
lessThan: 1.8.0, status: affected, version: 0.9.5, versionType: semver
}
metrics:
other: [
content: {'text': 'moderate'}
type: Textual description of severity
]