Skip to content
Heist/ feed
Back to feed
Medium

aiohttp vulnerable to HTTP request smuggling

Type: advisorySources: OSV

aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. aiohttp v3.8.4 and earlier are bundled with llhttp v6.0.6. Vulnerable code is used by aiohttp for its HTTP request parser when available which is the default case when installing from a wheel. This vulnerability only affects users of aiohttp as an HTTP server (ie `aiohttp.Application`), you are not affected by this vulnerability if you are using aiohttp as an HTTP client library (ie `aiohttp.ClientSession`). Sending a crafted HTTP request will cause the server to misinterpret one of the HTTP header values leading to HTTP request smuggling. This issue has been addressed in version 3.8.5. Users are advised to upgrade. Users unable to upgrade can reinstall aiohttp using `AIOHTTP_NO_EXTENSIONS=1` as an environment variable to disable the llhttp HTTP request parser implementation. The pure Python implementation isn't vulnerable.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2023-37276
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 03:09 UTC · Revision 1

Source evidence

aiohttp vulnerable to HTTP request smuggling

core-osv · Original source

Published 19 Jul 2023, 19:39 UTC

aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. aiohttp v3.8.4 and earlier are bundled with llhttp v6.0.6. Vulnerable code is used by aiohttp for its HTTP request parser when available which is the default case when installing from a wheel. This vulnerability only affects users of aiohttp as an HTTP server (ie `aiohttp.Application`), you are not affected by this vulnerability if you are using aiohttp as an HTTP client library (ie `aiohttp.ClientSession`). Sending a crafted HTTP request will cause the server to misinterpret one of the HTTP header values leading to HTTP request smuggling. This issue has been addressed in version 3.8.5. Users are advised to upgrade. Users unable to upgrade can reinstall aiohttp using `AIOHTTP_NO_EXTENSIONS=1` as an environment variable to disable the llhttp HTTP request parser implementation. The pure Python implementation isn't vulnerable.

osv:CVE-2023-37276
Complete source record
{
  "id": "fa7d16eb37f6353501ba3c3bfe58889716a83d46df20bfbc123a105b6384e900",
  "url": "https://osv.dev/vulnerability/CVE-2023-37276",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "aiohttp vulnerable to HTTP request smuggling",
    "summary": "aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. aiohttp v3.8.4 and earlier are bundled with llhttp v6.0.6. Vulnerable code is used by aiohttp for its HTTP request parser when available which is the default case when installing from a wheel. This vulnerability only affects users of aiohttp as an HTTP server (ie `aiohttp.Application`), you are not affected by this vulnerability if you are using aiohttp as an HTTP client library (ie `aiohttp.ClientSession`). Sending a crafted HTTP request will cause the server to misinterpret one of the HTTP header values leading to HTTP request smuggling. This issue has been addressed in version 3.8.5. Users are advised to upgrade. Users unable to upgrade can reinstall aiohttp using `AIOHTTP_NO_EXTENSIONS=1` as an environment variable to disable the llhttp HTTP request parser implementation. The pure Python implementation isn't vulnerable.",
    "evidence": "osv:CVE-2023-37276",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2023-37276",
      "aliases": [
        "CVE-2023-37276",
        "GHSA-45c4-8wx5-qw6w",
        "PYSEC-2023-120"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/aio-libs/aiohttp",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "9337fb3f2ab2b5f38d7e98a194bde6f7e3d16c40"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:aiohttp:aiohttp:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "3.8.4"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "9337fb3f2ab2b5f38d7e98a194bde6f7e3d16c40"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.8.4",
            "v3.8.2a0",
            "v3.8.1",
            "v3.8.0",
            "v3.7.1",
            "v3.7.0",
            "v3.7.0b1",
            "v3.7.0b0",
            "v3.6.2",
            "v3.6.2a2",
            "v3.6.2a1",
            "v3.6.1",
            "v3.6.1b4",
            "v3.6.1b3",
            "v3.6.0",
            "v3.6.0b0",
            "v3.6.0a12",
            "v3.6.0a11",
            "v3.6.0a10",
            "v3.6.0a9",
            "v3.6.0a8",
            "v3.6.0a7",
            "v3.6.0a6",
            "v3.6.0a5",
            "v3.6.0a4",
            "v3.6.0a3",
            "v3.6.0a2",
            "v3.6.0a1",
            "v3.6.0a0",
            "v3.5.4",
            "v3.5.3",
            "v3.5.2",
            "v3.5.1",
            "v3.5.0",
            "v3.5.0b3",
            "v3.5.0b2",
            "v3.5.0b1",
            "v3.5.0a1",
            "v3.4.0",
            "v3.4.0b2",
            "v3.4.0b1",
            "v3.4.0a3",
            "v3.4.0a0",
            "v3.2.0",
            "v3.1.0",
            "v3.0.0b4",
            "v3.0.0b3",
            "v3.0.0b2",
            "v3.0.0b1",
            "v3.0.0b0",
            "v2.3.0",
            "v2.3.0a4",
            "v2.3.0a3",
            "v2.3.0a2",
            "v2.3.0a1",
            "v2.2.0",
            "v2.1.0",
            "2.0.0",
            "2.0.0rc1",
            "1.3.0",
            "v1.2.0",
            "v1.1.1",
            "v1.1.0",
            "v1.0.1",
            "v1.0.0",
            "v0.22.1",
            "v0.22.0",
            "v0.22.0b6",
            "v0.22.0b5",
            "v0.22.0b4",
            "v0.22.0b3",
            "v0.22.0b2",
            "v0.22.0b1",
            "v0.22.0b0",
            "4v0.21.6",
            "v0.21.0",
            "v0.20.1",
            "v0.20.0",
            "v0.19.0",
            "v0.18.0",
            "v0.17.0",
            "v0.16.3",
            "v0.16.2",
            "v0.16.1",
            "v0.16.0",
            "v0.15.3",
            "0.15.2",
            "v0.15.2",
            "v0.15.1",
            "v0.15.0",
            "v0.14.4",
            "v0.14.3",
            "v0.14.2",
            "v0.14.1",
            "v0.14.0",
            "v0.13.1",
            "v0.13.0",
            "v0.12.0",
            "v0.11.0",
            "v0.10.1",
            "v0.10.0",
            "v0.9.2",
            "v0.9.1",
            "v0.9.0",
            "v0.8.4",
            "v0.8.3",
            "0.8.2",
            "v0.8.1",
            "v0.8.0",
            "v0.7.3",
            "v0.7.2",
            "v0.7.1",
            "v0.7.0",
            "v.0.6.5",
            "v0.6.4",
            "v0.6.3",
            "v0.6.2",
            "v0.6.1",
            "v0.5.0",
            "v0.4.2",
            "v0.4.1",
            "v0.4",
            "v0.3",
            "v0.2",
            "v0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-37276.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:53.506645311Z",
      "provider": "osv",
      "references": [
        "https://github.com/aio-libs/aiohttp/blob/v3.8.4/.gitmodules",
        "https://hackerone.com/reports/2001873",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/37xxx/CVE-2023-37276.json",
        "https://github.com/aio-libs/aiohttp/security/advisories/GHSA-45c4-8wx5-qw6w",
        "https://nvd.nist.gov/vuln/detail/CVE-2023-37276",
        "https://github.com/aio-libs/aiohttp/commit/9337fb3f2ab2b5f38d7e98a194bde6f7e3d16c40"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-444"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/37xxx/CVE-2023-37276.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2023-37276",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 522082,
  "published_at": "2023-07-19T19:39:19.24+00:00"
}