aio-libs aiohttp up to 3.7.x Header request smuggling

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
4.5$0-$5k0.00

Summaryinfo

A vulnerability labeled as problematic has been found in aio-libs aiohttp up to 3.7.x. This vulnerability affects unknown code of the component Header Handler. Such manipulation leads to request smuggling. This vulnerability is uniquely identified as CVE-2023-47641. The attack can be launched remotely. No exploit exists. The affected component should be upgraded.

Detailsinfo

A vulnerability was found in aio-libs aiohttp up to 3.7.x. It has been rated as problematic. Affected by this issue is an unknown part of the component Header Handler. The manipulation with an unknown input leads to a request smuggling vulnerability. Using CWE to declare the problem leads to CWE-444. The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination. Impacted is integrity. CVE summarizes:

aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Affected versions of aiohttp have a security vulnerability regarding the inconsistent interpretation of the http protocol. HTTP/1.1 is a persistent protocol, if both Content-Length(CL) and Transfer-Encoding(TE) header values are present it can lead to incorrect interpretation of two entities that parse the HTTP and we can poison other sockets with this incorrect interpretation. A possible Proof-of-Concept (POC) would be a configuration with a reverse proxy(frontend) that accepts both CL and TE headers and aiohttp as backend. As aiohttp parses anything with chunked, we can pass a chunked123 as TE, the frontend entity will ignore this header and will parse Content-Length. The impact of this vulnerability is that it is possible to bypass any proxy rule, poisoning sockets to other users like passing Authentication Headers, also if it is present an Open Redirect an attacker could combine it to redirect random users to another website and log the request. This vulnerability has been addressed in release 3.8.0 of aiohttp. Users are advised to upgrade. There are no known workarounds for this vulnerability.

The weakness was disclosed 11/14/2023. The advisory is available at github.com. This vulnerability is handled as CVE-2023-47641 since 11/07/2023. The technical details are unknown and an exploit is not available.

The vulnerability scanner Nessus provides a plugin with the ID 214900 (Debian dla-4041 : python-aiohttp-doc - security update), which helps to determine the existence of the flaw in a target environment.

Upgrading to version 3.8.0 eliminates this vulnerability.

The vulnerability is also documented in the vulnerability database at Tenable (214900). If you want to get best quality of vulnerability data, you may have to visit VulDB.

Productinfo

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 4.5
VulDB Meta Temp Score: 4.5

VulDB Base Score: 3.7
VulDB Temp Score: 3.6
VulDB Vector: 🔍
VulDB Reliability: 🔍

NVD Base Score: 6.5
NVD Vector: 🔍

CNA Base Score: 3.4
CNA Vector (GitHub, Inc.): 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

Exploitinginfo

Class: Request smuggling
CWE: CWE-444
CAPEC: 🔍
ATT&CK: 🔍

Physical: No
Local: No
Remote: Yes

Availability: 🔍
Status: Not defined

EPSS Score: 🔍
EPSS Percentile: 🔍

Price Prediction: 🔍
Current Price Estimation: 🔍

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 214900
Nessus Name: Debian dla-4041 : python-aiohttp-doc - security update

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔍

Upgrade: aiohttp 3.8.0
Patch: github.com

Timelineinfo

11/07/2023 🔍
11/14/2023 +7 days 🔍
11/14/2023 +0 days 🔍
02/04/2025 +448 days 🔍

Sourcesinfo

Product: github.com

Advisory: f016f0680e4ace6742b03a70cb0382ce86abe371
Status: Confirmed

CVE: CVE-2023-47641 (🔍)
GCVE (CVE): GCVE-0-2023-47641
GCVE (VulDB): GCVE-100-245402

Entryinfo

Created: 11/14/2023 22:07
Updated: 02/04/2025 18:11
Changes: 11/14/2023 22:07 (48), 12/10/2023 08:17 (2), 12/10/2023 08:18 (12), 02/04/2025 18:11 (17)
Complete: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!