Tarfile infinite loop during parsing with negative member offset

CVE Details

Basic Information

Title Tarfile infinite loop during parsing with negative member offset
Type cve
Published 2025-07-28T18:42:44.847Z
Modified 2025-07-28T19:30:55.878Z

Product Information

Vendor Python Software Foundation
Product CPython
Version 0

CVSS Information

Base Score 7.5 (HIGH)
Attack Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected Products

  • Python Software Foundation CPython 0

Additional Information

CWE List CWE-835
Source PSF

Description

There is a defect in the CPython “tarfile” module affecting the “TarFile” extraction and entry enumeration APIs. The tar implementation would process tar archives with negative offsets without error, resulting in an infinite loop and deadlock during the parsing of maliciously crafted tar archives.

This vulnerability can be mitigated by including the following patch after importing the “tarfile” module:

import tarfile

def _block_patched(self, count):
    if count < 0: # pragma: no cover
        raise tarfile.InvalidHeaderError(“invalid offset”)
    return _block_patched._orig_block(self, count)

_block_patched._orig_block = tarfile.TarInfo._block
tarfile.TarInfo._block = _block_patched

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.