CVE-2026-55738 (GCVE-0-2026-55738)
Vulnerability from cvelistv5 – Published: 2026-06-17 13:45 – Updated: 2026-06-17 15:00
VLAI
Title
Stack Buffer Overflow in rxi/microtar raw_to_header() via non-null-terminated TAR name field
Summary
A stack-based buffer overflow exists in the raw_to_header() function in src/microtar.c in rxi microtar 0.1.0. The function copies the 100-byte name and linkname fields of a TAR header with strcpy() without guaranteeing null termination of the source. The POSIX ustar format permits these fixed-width fields to be fully populated with non-null bytes, so a crafted archive whose linkname field (followed by the trailing padding of the 512-byte raw header) contains no null terminator causes strcpy() to read past the end of the 512-byte raw header stack buffer and to write past the destination header buffer. A remote attacker who supplies a crafted TAR archive that the victim opens or parses (via mtar_open(), mtar_read_header(), or mtar_find()) can cause an out-of-bounds read and a stack buffer overflow, resulting in denial of service (crash) and potentially arbitrary code execution. Confirmed with AddressSanitizer: stack-buffer-overflow READ of size 356 in raw_to_header at src/microtar.c:112.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator (v2.0.3)
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/rxi/microtar/blob/master/src/m… | product |
| https://github.com/rxi/microtar | product |
| https://raw.githubusercontent.com/rxi/microtar/ma… | technical-description |
Credits
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-55738",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-06-17T15:00:50.582378Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-06-17T15:00:58.607Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com/rxi/microtar",
"defaultStatus": "affected",
"product": "microtar",
"programFiles": [
"src/microtar.c"
],
"programRoutines": [
{
"name": "raw_to_header"
}
],
"repo": "https://github.com/rxi/microtar",
"vendor": "rxi",
"versions": [
{
"status": "affected",
"version": "0.1.0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Saidakbarxon Maxsudxonov"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eA stack-based buffer overflow exists in the \u003ccode\u003eraw_to_header()\u003c/code\u003e function in \u003ccode\u003esrc/microtar.c\u003c/code\u003e in rxi microtar 0.1.0. The function copies the 100-byte \u003ccode\u003ename\u003c/code\u003e and \u003ccode\u003elinkname\u003c/code\u003e fields of a TAR header with \u003ccode\u003estrcpy()\u003c/code\u003e without guaranteeing null termination of the source. The POSIX ustar format permits these fixed-width fields to be fully populated with non-null bytes, so a crafted archive whose \u003ccode\u003elinkname\u003c/code\u003e field (followed by the trailing padding of the 512-byte raw header) contains no null terminator causes \u003ccode\u003estrcpy()\u003c/code\u003e to read past the end of the 512-byte raw header stack buffer and to write past the destination header buffer. A remote attacker who supplies a crafted TAR archive that the victim opens or parses (via \u003ccode\u003emtar_open()\u003c/code\u003e, \u003ccode\u003emtar_read_header()\u003c/code\u003e, or \u003ccode\u003emtar_find()\u003c/code\u003e) can cause an out-of-bounds read and a stack buffer overflow, resulting in denial of service (crash) and potentially arbitrary code execution. Confirmed with AddressSanitizer: stack-buffer-overflow READ of size 356 in \u003ccode\u003eraw_to_header\u003c/code\u003e at \u003ccode\u003esrc/microtar.c:112\u003c/code\u003e.\u003c/p\u003e"
}
],
"value": "A stack-based buffer overflow exists in the raw_to_header() function in src/microtar.c in rxi microtar 0.1.0. The function copies the 100-byte name and linkname fields of a TAR header with strcpy() without guaranteeing null termination of the source. The POSIX ustar format permits these fixed-width fields to be fully populated with non-null bytes, so a crafted archive whose linkname field (followed by the trailing padding of the 512-byte raw header) contains no null terminator causes strcpy() to read past the end of the 512-byte raw header stack buffer and to write past the destination header buffer. A remote attacker who supplies a crafted TAR archive that the victim opens or parses (via mtar_open(), mtar_read_header(), or mtar_find()) can cause an out-of-bounds read and a stack buffer overflow, resulting in denial of service (crash) and potentially arbitrary code execution. Confirmed with AddressSanitizer: stack-buffer-overflow READ of size 356 in raw_to_header at src/microtar.c:112."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 8.7,
"baseSeverity": "HIGH",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "PASSIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-121",
"description": "CWE-121 Stack-based Buffer Overflow",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-170",
"description": "CWE-170 Improper Null Termination",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-06-17T13:45:07.535Z",
"orgId": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"shortName": "TuranSec"
},
"references": [
{
"tags": [
"product"
],
"url": "https://github.com/rxi/microtar/blob/master/src/microtar.c#L111"
},
{
"tags": [
"product"
],
"url": "https://github.com/rxi/microtar"
},
{
"name": "Vulnerable source code: src/microtar.c (raw_to_header)",
"tags": [
"technical-description"
],
"url": "https://raw.githubusercontent.com/rxi/microtar/master/src/microtar.c"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Stack Buffer Overflow in rxi/microtar raw_to_header() via non-null-terminated TAR name field"
}
},
"cveMetadata": {
"assignerOrgId": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"assignerShortName": "TuranSec",
"cveId": "CVE-2026-55738",
"datePublished": "2026-06-17T13:45:00.399Z",
"dateReserved": "2026-06-17T12:59:17.620Z",
"dateUpdated": "2026-06-17T15:00:58.607Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-55738",
"date": "2026-06-20",
"epss": "0.00635",
"percentile": "0.45638"
},
"vulnrichment": {
"containers": "{\"cna\": {\"providerMetadata\": {\"orgId\": \"309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c\", \"shortName\": \"TuranSec\", \"dateUpdated\": \"2026-06-17T13:45:07.535Z\"}, \"title\": \"Stack Buffer Overflow in rxi/microtar raw_to_header() via non-null-terminated TAR name field\", \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"cweId\": \"CWE-121\", \"description\": \"CWE-121 Stack-based Buffer Overflow\", \"type\": \"CWE\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"cweId\": \"CWE-170\", \"description\": \"CWE-170 Improper Null Termination\", \"type\": \"CWE\"}]}], \"affected\": [{\"vendor\": \"rxi\", \"product\": \"microtar\", \"collectionURL\": \"https://github.com/rxi/microtar\", \"repo\": \"https://github.com/rxi/microtar\", \"programFiles\": [\"src/microtar.c\"], \"programRoutines\": [{\"name\": \"raw_to_header\"}], \"versions\": [{\"status\": \"affected\", \"version\": \"0.1.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"affected\"}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"A stack-based buffer overflow exists in the raw_to_header() function in src/microtar.c in rxi microtar 0.1.0. The function copies the 100-byte name and linkname fields of a TAR header with strcpy() without guaranteeing null termination of the source. The POSIX ustar format permits these fixed-width fields to be fully populated with non-null bytes, so a crafted archive whose linkname field (followed by the trailing padding of the 512-byte raw header) contains no null terminator causes strcpy() to read past the end of the 512-byte raw header stack buffer and to write past the destination header buffer. A remote attacker who supplies a crafted TAR archive that the victim opens or parses (via mtar_open(), mtar_read_header(), or mtar_find()) can cause an out-of-bounds read and a stack buffer overflow, resulting in denial of service (crash) and potentially arbitrary code execution. Confirmed with AddressSanitizer: stack-buffer-overflow READ of size 356 in raw_to_header at src/microtar.c:112.\", \"supportingMedia\": [{\"type\": \"text/html\", \"base64\": false, \"value\": \"\u003cp\u003eA stack-based buffer overflow exists in the \u003ccode\u003eraw_to_header()\u003c/code\u003e function in \u003ccode\u003esrc/microtar.c\u003c/code\u003e in rxi microtar 0.1.0. The function copies the 100-byte \u003ccode\u003ename\u003c/code\u003e and \u003ccode\u003elinkname\u003c/code\u003e fields of a TAR header with \u003ccode\u003estrcpy()\u003c/code\u003e without guaranteeing null termination of the source. The POSIX ustar format permits these fixed-width fields to be fully populated with non-null bytes, so a crafted archive whose \u003ccode\u003elinkname\u003c/code\u003e field (followed by the trailing padding of the 512-byte raw header) contains no null terminator causes \u003ccode\u003estrcpy()\u003c/code\u003e to read past the end of the 512-byte raw header stack buffer and to write past the destination header buffer. A remote attacker who supplies a crafted TAR archive that the victim opens or parses (via \u003ccode\u003emtar_open()\u003c/code\u003e, \u003ccode\u003emtar_read_header()\u003c/code\u003e, or \u003ccode\u003emtar_find()\u003c/code\u003e) can cause an out-of-bounds read and a stack buffer overflow, resulting in denial of service (crash) and potentially arbitrary code execution. Confirmed with AddressSanitizer: stack-buffer-overflow READ of size 356 in \u003ccode\u003eraw_to_header\u003c/code\u003e at \u003ccode\u003esrc/microtar.c:112\u003c/code\u003e.\u003c/p\u003e\"}]}], \"references\": [{\"url\": \"https://github.com/rxi/microtar/blob/master/src/microtar.c#L111\", \"tags\": [\"product\"]}, {\"url\": \"https://github.com/rxi/microtar\", \"tags\": [\"product\"]}, {\"url\": \"https://raw.githubusercontent.com/rxi/microtar/master/src/microtar.c\", \"name\": \"Vulnerable source code: src/microtar.c (raw_to_header)\", \"tags\": [\"technical-description\"]}], \"metrics\": [{\"format\": \"CVSS\", \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}], \"cvssV3_1\": {\"version\": \"3.1\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"REQUIRED\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\", \"baseSeverity\": \"HIGH\", \"baseScore\": 8.8, \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H\"}}, {\"format\": \"CVSS\", \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}], \"cvssV4_0\": {\"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"NONE\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"PASSIVE\", \"vulnConfidentialityImpact\": \"HIGH\", \"subConfidentialityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"HIGH\", \"subIntegrityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"HIGH\", \"subAvailabilityImpact\": \"NONE\", \"exploitMaturity\": \"NOT_DEFINED\", \"Safety\": \"NOT_DEFINED\", \"Automatable\": \"NOT_DEFINED\", \"Recovery\": \"NOT_DEFINED\", \"valueDensity\": \"NOT_DEFINED\", \"vulnerabilityResponseEffort\": \"NOT_DEFINED\", \"providerUrgency\": \"NOT_DEFINED\", \"version\": \"4.0\", \"baseSeverity\": \"HIGH\", \"baseScore\": 8.7, \"vectorString\": \"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N\"}}], \"credits\": [{\"lang\": \"en\", \"value\": \"Saidakbarxon Maxsudxonov\", \"type\": \"finder\"}], \"source\": {\"discovery\": \"EXTERNAL\"}}, \"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-55738\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-06-17T15:00:50.582378Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-06-17T15:00:54.933Z\"}}]}",
"cveMetadata": "{\"cveId\": \"CVE-2026-55738\", \"assignerOrgId\": \"309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c\", \"state\": \"PUBLISHED\", \"assignerShortName\": \"TuranSec\", \"dateReserved\": \"2026-06-17T12:59:17.620Z\", \"datePublished\": \"2026-06-17T13:45:00.399Z\", \"dateUpdated\": \"2026-06-17T15:00:58.607Z\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…