{"dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": {"cveId": "CVE-2026-6103", "assignerOrgId": "dd77f84a-d19a-4638-8c3d-a322d820ed2b", "state": "PUBLISHED", "assignerShortName": "php", "dateReserved": "2026-04-11T04:13:04.238Z", "datePublished": "2026-09-25T20:08:49.333Z", "dateUpdated": "2026-09-25T20:41:27.115Z"}, "containers": {"cna": {"providerMetadata": {"orgId": "dd77f84a-d19a-4638-8c3d-a322d820ed2b", "shortName": "php", "dateUpdated": "2026-09-25T20:21:07.070Z"}, "title": "Phar TAR phar_tar_number() Integer Overflow - Archive Entry Injection", "problemTypes": [{"descriptions": [{"lang": "en", "cweId": "CWE-190", "description": "CWE-190 Integer overflow or wraparound", "type": "CWE"}]}], "impacts": [{"capecId": "CAPEC-92", "descriptions": [{"lang": "en", "value": "CAPEC-92 Forced Integer Overflow"}]}], "affected": [{"vendor": "PHP Group", "product": "PHP", "versions": [{"status": "affected", "version": "8.2.*", "lessThan": "8.2.34", "versionType": "semver"}, {"status": "affected", "version": "8.3.*", "lessThan": "8.3.35", "versionType": "semver"}, {"status": "affected", "version": "8.4.*", "lessThan": "8.4.26", "versionType": "semver"}, {"status": "affected", "version": "8.5.*", "lessThan": "8.5.11", "versionType": "semver"}], "defaultStatus": "unaffected"}], "descriptions": [{"lang": "en", "value": "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.", "supportingMedia": [{"type": "text/html", "base64": false, "value": "<p><code>phar_tar_number()</code> parses the octal size field of a TAR header into a <code>uint32_t</code> with no overflow check. The field is 11 octal digits wide and holds values up to <code>0x1FFFFFFFF</code>, so a size above <code>0xFFFFFFFF</code> 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 <code>PharData</code> reports and extracts as if they were genuine.</p>"}]}], "references": [{"url": "https://github.com/php/php-src/security/advisories/GHSA-j3wh-g957-2m85", "tags": ["vendor-advisory"]}], "metrics": [{"format": "CVSS", "scenarios": [{"lang": "en", "value": "GENERAL"}], "cvssV3_1": {"version": "3.1", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE", "baseSeverity": "MEDIUM", "baseScore": 4.3, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N"}}], "credits": [{"lang": "en", "value": "@arnoldasr (GitHub)", "type": "reporter"}, {"lang": "en", "value": "@Oblivionsage (GitHub)", "type": "reporter"}, {"lang": "en", "value": "@OSTIF-Derek (GitHub)", "type": "reporter"}, {"lang": "en", "value": "Jakub Zelenka", "type": "remediation developer"}, {"lang": "en", "value": "Weilin Du", "type": "remediation reviewer"}], "source": {"discovery": "UNKNOWN"}, "x_generator": {"engine": "Vulnogram 1.0.5"}, "x_gcve": [{"vulnId": "CVE-2026-6103", "recordType": "advisory"}]}, "adp": [{"references": [{"url": "https://github.com/php/php-src/security/advisories/GHSA-j3wh-g957-2m85", "tags": ["exploit"]}], "metrics": [{"other": {"type": "ssvc", "content": {"timestamp": "2026-09-25T20:41:05.626504Z", "id": "CVE-2026-6103", "options": [{"Exploitation": "poc"}, {"Automatable": "no"}, {"Technical Impact": "partial"}], "role": "CISA Coordinator", "version": "2.0.3"}}}], "title": "CISA ADP Vulnrichment", "providerMetadata": {"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-09-25T20:41:27.115Z"}}]}, "vulnerability-lookup:meta": {"epss": {"cve": "CVE-2026-6103", "date": "2026-11-04", "epss": "0.0016", "percentile": "0.05178"}, "microsoft_vex": {"current_release_date": "2026-09-29T02:14:08.000Z", "cve": "CVE-2026-6103", "id": "msrc_CVE-2026-6103", "initial_release_date": "2026-09-27T23:11:07.000Z", "product_status:known_affected": "1", "source": "Microsoft CSAF VEX", "status": "final", "title": "Phar TAR phar_tar_number() Integer Overflow - Archive Entry Injection", "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-6103.json", "version": "2"}, "nvd": "{\"cve\":{\"id\":\"CVE-2026-6103\",\"sourceIdentifier\":\"security@php.net\",\"published\":\"2026-09-25T21:17:23.790\",\"lastModified\":\"2026-10-23T14:07:18.323\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"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.\"}],\"affected\":[{\"source\":\"security@php.net\",\"affectedData\":[{\"vendor\":\"PHP Group\",\"product\":\"PHP\",\"defaultStatus\":\"unaffected\",\"versions\":[{\"version\":\"8.2.*\",\"lessThan\":\"8.2.34\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"8.3.*\",\"lessThan\":\"8.3.35\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"8.4.*\",\"lessThan\":\"8.4.26\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"8.5.*\",\"lessThan\":\"8.5.11\",\"versionType\":\"semver\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security@php.net\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N\",\"baseScore\":4.3,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.5,\"impactScore\":1.4},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N\",\"baseScore\":3.3,\"baseSeverity\":\"LOW\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":1.8,\"impactScore\":1.4}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-09-25T20:41:05.626504Z\",\"id\":\"CVE-2026-6103\",\"options\":[{\"exploitation\":\"poc\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"security@php.net\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-190\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"8.2.0\",\"versionEndExcluding\":\"8.2.34\",\"matchCriteriaId\":\"AAFB3643-4D71-46ED-8184-DDE5FE41CD02\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"8.3.0\",\"versionEndExcluding\":\"8.3.35\",\"matchCriteriaId\":\"FF664EE8-D417-45A4-84DF-158F5073FDE8\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"8.4.0\",\"versionEndExcluding\":\"8.4.26\",\"matchCriteriaId\":\"52D4BECA-EF0D-4180-837C-AEFA7A12D243\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"8.5.0\",\"versionEndExcluding\":\"8.5.11\",\"matchCriteriaId\":\"308803C0-9FC8-40D2-8920-B83BCC48014F\"}]}]}],\"references\":[{\"url\":\"https://github.com/php/php-src/security/advisories/GHSA-j3wh-g957-2m85\",\"source\":\"security@php.net\",\"tags\":[\"Vendor Advisory\",\"Exploit\"]},{\"url\":\"https://github.com/php/php-src/security/advisories/GHSA-j3wh-g957-2m85\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"tags\":[\"Vendor Advisory\",\"Exploit\"]}]}}", "redhat_vex": {"aggregate_severity": "Moderate", "current_release_date": "2026-10-23T16:38:40+00:00", "cve": "CVE-2026-6103", "id": "CVE-2026-6103", "initial_release_date": "2026-09-25T20:08:49.333000+00:00", "product_status:fixed": "358", "product_status:known_affected": "257", "source": "Red Hat CSAF VEX", "status": "final", "title": "php: PHP: Archive entry injection via integer overflow in TAR parser", "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-6103.json", "version": "3"}, "vulnrichment": {"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-6103\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-09-25T20:41:05.626504Z\"}}}], \"references\": [{\"url\": \"https://github.com/php/php-src/security/advisories/GHSA-j3wh-g957-2m85\", \"tags\": [\"exploit\"]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-09-25T20:41:22.099Z\"}}], \"cna\": {\"title\": \"Phar TAR phar_tar_number() Integer Overflow - Archive Entry Injection\", \"source\": {\"discovery\": \"UNKNOWN\"}, \"credits\": [{\"lang\": \"en\", \"type\": \"reporter\", \"value\": \"@arnoldasr (GitHub)\"}, {\"lang\": \"en\", \"type\": \"reporter\", \"value\": \"@Oblivionsage (GitHub)\"}, {\"lang\": \"en\", \"type\": \"reporter\", \"value\": \"@OSTIF-Derek (GitHub)\"}, {\"lang\": \"en\", \"type\": \"remediation developer\", \"value\": \"Jakub Zelenka\"}, {\"lang\": \"en\", \"type\": \"remediation reviewer\", \"value\": \"Weilin Du\"}], \"impacts\": [{\"capecId\": \"CAPEC-92\", \"descriptions\": [{\"lang\": \"en\", \"value\": \"CAPEC-92 Forced Integer Overflow\"}]}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 4.3, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N\", \"integrityImpact\": \"LOW\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"vendor\": \"PHP Group\", \"product\": \"PHP\", \"versions\": [{\"status\": \"affected\", \"version\": \"8.2.*\", \"lessThan\": \"8.2.34\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"8.3.*\", \"lessThan\": \"8.3.35\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"8.4.*\", \"lessThan\": \"8.4.26\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"8.5.*\", \"lessThan\": \"8.5.11\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}], \"references\": [{\"url\": \"https://github.com/php/php-src/security/advisories/GHSA-j3wh-g957-2m85\", \"tags\": [\"vendor-advisory\"]}], \"x_generator\": {\"engine\": \"Vulnogram 1.0.5\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"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.\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"<p><code>phar_tar_number()</code> parses the octal size field of a TAR header into a <code>uint32_t</code> with no overflow check. The field is 11 octal digits wide and holds values up to <code>0x1FFFFFFFF</code>, so a size above <code>0xFFFFFFFF</code> 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 <code>PharData</code> reports and extracts as if they were genuine.</p>\", \"base64\": false}]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-190\", \"description\": \"CWE-190 Integer overflow or wraparound\"}]}], \"providerMetadata\": {\"orgId\": \"dd77f84a-d19a-4638-8c3d-a322d820ed2b\", \"shortName\": \"php\", \"dateUpdated\": \"2026-09-25T20:21:07.070Z\"}}}", "cveMetadata": "{\"cveId\": \"CVE-2026-6103\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-09-25T20:41:27.115Z\", \"dateReserved\": \"2026-04-11T04:13:04.238Z\", \"assignerOrgId\": \"dd77f84a-d19a-4638-8c3d-a322d820ed2b\", \"datePublished\": \"2026-09-25T20:08:49.333Z\", \"assignerShortName\": \"php\"}", "dataType": "CVE_RECORD", "dataVersion": "5.2"}}}
