Lucene search

K
vulnrichmentGitHub_MVULNRICHMENT:CVE-2024-42367
HistoryAug 09, 2024 - 5:25 p.m.

CVE-2024-42367 In aiohttp, compressed files as symlinks are not protected from path traversal

2024-08-0917:25:22
CWE-61
GitHub_M
github.com
5
aiohttp
path traversal
compressed files
symlinks
vulnerability
security patch

CVSS3

4.8

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

LOW

Integrity Impact

LOW

Availability Impact

NONE

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N

AI Score

6.9

Confidence

High

EPSS

0

Percentile

16.3%

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Prior to version 3.10.2, static routes which contain files with compressed variants (.gz or .br extension) are vulnerable to path traversal outside the root directory if those variants are symbolic links. The server protects static routes from path traversal outside the root directory when follow_symlinks=False (default). It does this by resolving the requested URL to an absolute path and then checking that path relative to the root. However, these checks are not performed when looking for compressed variants in the FileResponse class, and symbolic links are then automatically followed when performing the Path.stat() and Path.open() to send the file. Version 3.10.2 contains a patch for the issue.

CNA Affected

[
  {
    "vendor": "aio-libs",
    "product": "aiohttp",
    "versions": [
      {
        "status": "affected",
        "version": "< 3.10.2"
      }
    ]
  }
]

CVSS3

4.8

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

LOW

Integrity Impact

LOW

Availability Impact

NONE

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N

AI Score

6.9

Confidence

High

EPSS

0

Percentile

16.3%

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial