Miggo Logo

CVE-2023-47627:
AIOHTTP has problems in HTTP parser (the python one, not llhttp)

5.3

CVSS Score
3.1

Basic Information

EPSS Score
0.40288%
Published
11/14/2023
Updated
9/4/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
aiohttppip< 3.8.63.8.6

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The commit diff shows critical fixes in parse_headers() and its get_content_length helper:

  1. Added isdigit() check for Content-Length values (CVE-2023-47627 Bug 1)
  2. Added rejection of NUL/CR/LF in header values (Bug 2)
  3. Added checks for whitespace before colons (Bug 3) These functions were directly modified in the security patch, confirming their role in the vulnerabilities. The Python HTTP parser (not llhttp) is explicitly called out in the vulnerability description as the affected component.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

# Summ*ry T** *TTP p*rs*r in *IO*TTP **s num*rous pro*l*ms wit* *****r p*rsin*, w*i** *oul* l*** to r*qu*st smu**lin*. T*is p*rs*r is only us** w**n `*IO*TTP_NO_*XT*NSIONS` is *n**l** (or not usin* * pr**uilt w***l). # **t*ils ## *u* *: *** p*rsin

Reasoning

T** *ommit *i** s*ows *riti**l *ix*s in p*rs*_*****rs() *n* its **t_*ont*nt_l*n*t* **lp*r: *. ***** is*i*it() ****k *or *ont*nt-L*n*t* v*lu*s (*V*-****-***** *u* *) *. ***** r*j**tion o* NUL/*R/L* in *****r v*lu*s (*u* *) *. ***** ****ks *or w*it*sp*