CVE-2026-6103
PHAR archive entry injection via integer overflow in TAR parser
| Publication Date | 2026-09-25 |
|---|---|
| Severity | Moderate |
| Type | PHP Object Injection |
| Affected PHP Versions |
|
| Fixed Product Versions |
|
CVE Details
phar_tar_number() parses the octal size field of a TAR header into a uint32_t with no overflow check. The field is 11 octal digits wide and holds values up to 0x1FFFFFFFF, so a size above 0xFFFFFFFF silently wraps. The parser then skips the wrong number of data blocks and interprets attacker-controlled file content as the next TAR header, which lets a crafted archive inject entries that PharData reports and extracts as if they were genuine, causing the parser to miscalculate data boundaries and treat file content as valid header data. This allows an attacker to inject unauthorized entries that the application extracts as authentic files, potentially leading to unauthorized data modification.
Recommendations
Never use untrusted PHAR archives. If you cannot validate the origin and contents of a PHAR archive, we recommend updating to a patched version of PHP.