CVE-2024-26919 (GCVE-0-2024-26919)
Vulnerability from cvelistv5 – Published: 2024-04-17 15:59 – Updated: 2026-08-05 11:28
VLAI
EPSS
VEX
Title
usb: ulpi: Fix debugfs directory leak
Summary
In the Linux kernel, the following vulnerability has been resolved:
usb: ulpi: Fix debugfs directory leak
The ULPI per-device debugfs root is named after the ulpi device's
parent, but ulpi_unregister_interface tries to remove a debugfs
directory named after the ulpi device itself. This results in the
directory sticking around and preventing subsequent (deferred) probes
from succeeding. Change the directory name to match the ulpi device.
Severity
7.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-04-23 14:00 UTC
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
bd0a0a024f2a41e7cc8eadb9862f82c45884b69c , < d31b886ed6a5095214062ee4fb55037eb930adb6
(git)
Affected: bd0a0a024f2a41e7cc8eadb9862f82c45884b69c , < 330d22aba17a4d30a56f007d0f51291d7e00862b (git) Affected: bd0a0a024f2a41e7cc8eadb9862f82c45884b69c , < 33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3 (git) Affected: bd0a0a024f2a41e7cc8eadb9862f82c45884b69c , < 3caf2b2ad7334ef35f55b95f3e1b138c6f77b368 (git) |
guessed | |
| Linux | Linux |
Affected:
5.18
Unaffected: 0 , < 5.18 (semver) Unaffected: 6.1.79 , ≤ 6.1.* (semver) Unaffected: 6.6.18 , ≤ 6.6.* (semver) Unaffected: 6.7.6 , ≤ 6.7.* (semver) Unaffected: 6.8 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2024-26919",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-04-23T14:00:39.264752Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-06-04T17:49:38.512Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2024-08-02T00:21:05.553Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/d31b886ed6a5095214062ee4fb55037eb930adb6"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/330d22aba17a4d30a56f007d0f51291d7e00862b"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/3caf2b2ad7334ef35f55b95f3e1b138c6f77b368"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/usb/common/ulpi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "d31b886ed6a5095214062ee4fb55037eb930adb6",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "330d22aba17a4d30a56f007d0f51291d7e00862b",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "3caf2b2ad7334ef35f55b95f3e1b138c6f77b368",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/usb/common/ulpi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.18"
},
{
"lessThan": "5.18",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.79",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.18",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.7.*",
"status": "unaffected",
"version": "6.7.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.8",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.79",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.18",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.7.6",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.8",
"versionStartIncluding": "5.18",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: ulpi: Fix debugfs directory leak\n\nThe ULPI per-device debugfs root is named after the ulpi device\u0027s\nparent, but ulpi_unregister_interface tries to remove a debugfs\ndirectory named after the ulpi device itself. This results in the\ndirectory sticking around and preventing subsequent (deferred) probes\nfrom succeeding. Change the directory name to match the ulpi device."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The use-after-free is triggered by a local read of `/sys/kernel/debug/ulpi/\u003cparent\u003e/regs`, a local filesystem operation on the affected host. No network protocol or physical device insertion is involved \u2014 the ULPI PHY is an on-board SoC component, not a hot-pluggable peripheral.\nAC:L - The stale debugfs entry is created deterministically by any deferred probe or driver unbind (`goto ulpi_exit` in `ci_hdrc_probe`), and every subsequent read reliably dereferences the freed `struct ulpi` and indirect-calls `ulpi-\u003eops-\u003eread`. The attacker fully controls when the read happens, so heap grooming between the `kfree()` and the read is entirely within their control \u2014 no condition depends on external state.\nPR:L - The kernel itself publishes the leaked directory as 0755 and the `regs` file as 0444, so any local user who can traverse the debugfs mount can trigger the UAF; on the ULPI-bearing platforms that matter (Android handsets, automotive/industrial chipidea and dwc3 boards) debugfs is commonly mounted with relaxed mode or group access for diagnostics daemons. No capability, namespace privilege, or kernel-enforced access check guards the vulnerable file.\nUI:N - The attacker performs the read themselves; no victim action is required. The dangling pointer arises automatically from normal deferred-probe behavior at boot.\nS:U - The freed object, the corrupted heap, and the hijackable indirect call all live within the kernel\u0027s own security authority. There is no VM, IOMMU, or sandbox boundary crossed.\nC:H - This is a use-after-free on a ~1KB slab object; reclaiming the freed `struct ulpi` with attacker-shaped data and reading `regs` turns `ulpi-\u003eops-\u003eread` into a controlled call, which is a general kernel-memory disclosure primitive. Even without grooming, the file dumps values derived from freed kernel heap contents.\nI:H - `ulpi_read()` loads a function pointer out of freed memory and indirect-calls it (21 times per read of `regs`), giving direct control-flow hijack once the slab slot is reclaimed \u2014 a full arbitrary-write/code-execution primitive, not just corruption.\nA:H - Dereferencing the freed `struct ulpi` and calling through a garbage `ops` pointer oopses or panics the kernel, and the stale entry can be read repeatedly. Per kernel scoring guidance any use-after-free is High availability impact."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T11:28:18.079Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/d31b886ed6a5095214062ee4fb55037eb930adb6"
},
{
"url": "https://git.kernel.org/stable/c/330d22aba17a4d30a56f007d0f51291d7e00862b"
},
{
"url": "https://git.kernel.org/stable/c/33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3"
},
{
"url": "https://git.kernel.org/stable/c/3caf2b2ad7334ef35f55b95f3e1b138c6f77b368"
}
],
"title": "usb: ulpi: Fix debugfs directory leak",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2024-26919",
"datePublished": "2024-04-17T15:59:27.581Z",
"dateReserved": "2024-02-19T14:20:24.193Z",
"dateUpdated": "2026-08-05T11:28:18.079Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2024-26919",
"date": "2026-09-19",
"epss": "0.00231",
"percentile": "0.14237"
},
"fkie_nvd": {
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: ulpi: Fix debugfs directory leak\n\nThe ULPI per-device debugfs root is named after the ulpi device\u0027s\nparent, but ulpi_unregister_interface tries to remove a debugfs\ndirectory named after the ulpi device itself. This results in the\ndirectory sticking around and preventing subsequent (deferred) probes\nfrom succeeding. Change the directory name to match the ulpi device."
},
{
"lang": "es",
"value": "En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: usb: ulpi: corrige la fuga del directorio debugfs La ra\u00edz debugfs por dispositivo ULPI lleva el nombre del dispositivo principal ulpi, pero ulpi_unregister_interface intenta eliminar un directorio debugfs que lleva el nombre del dispositivo ulpi en s\u00ed. Esto da como resultado que el directorio permanezca y evite que las pruebas posteriores (diferidas) se realicen correctamente. Cambie el nombre del directorio para que coincida con el dispositivo ulpi."
}
],
"id": "CVE-2024-26919",
"lastModified": "2024-11-21T09:03:22.987",
"published": "2024-04-17T16:15:08.353",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/330d22aba17a4d30a56f007d0f51291d7e00862b"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/3caf2b2ad7334ef35f55b95f3e1b138c6f77b368"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/d31b886ed6a5095214062ee4fb55037eb930adb6"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://git.kernel.org/stable/c/330d22aba17a4d30a56f007d0f51291d7e00862b"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://git.kernel.org/stable/c/33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://git.kernel.org/stable/c/3caf2b2ad7334ef35f55b95f3e1b138c6f77b368"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://git.kernel.org/stable/c/d31b886ed6a5095214062ee4fb55037eb930adb6"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Awaiting Analysis"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/usb/common/ulpi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "d31b886ed6a5095214062ee4fb55037eb930adb6",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "330d22aba17a4d30a56f007d0f51291d7e00862b",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "3caf2b2ad7334ef35f55b95f3e1b138c6f77b368",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/usb/common/ulpi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.18"
},
{
"lessThan": "5.18",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.79",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.18",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.7.*",
"status": "unaffected",
"version": "6.7.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.8",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "7B0338B5-A0CA-4040-B1DD-B2C7B77CC4CD",
"versionEndExcluding": "6.1.79",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "BD961E49-FEDA-47CF-BF23-4D2BD942B4E0",
"versionEndExcluding": "6.6.18",
"versionStartIncluding": "6.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "C6D6A5C8-7308-42A9-8A72-ABF3DEA4BB82",
"versionEndExcluding": "6.7.6",
"versionStartIncluding": "6.7",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*",
"matchCriteriaId": "B9F4EA73-0894-400F-A490-3A397AB7A517",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*",
"matchCriteriaId": "056BD938-0A27-4569-B391-30578B309EE3",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: ulpi: Fix debugfs directory leak\n\nThe ULPI per-device debugfs root is named after the ulpi device\u0027s\nparent, but ulpi_unregister_interface tries to remove a debugfs\ndirectory named after the ulpi device itself. This results in the\ndirectory sticking around and preventing subsequent (deferred) probes\nfrom succeeding. Change the directory name to match the ulpi device."
},
{
"lang": "es",
"value": "En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: usb: ulpi: corrige la fuga del directorio debugfs La ra\u00edz debugfs por dispositivo ULPI lleva el nombre del dispositivo principal ulpi, pero ulpi_unregister_interface intenta eliminar un directorio debugfs que lleva el nombre del dispositivo ulpi en s\u00ed. Esto da como resultado que el directorio permanezca y evite que las pruebas posteriores (diferidas) se realicen correctamente. Cambie el nombre del directorio para que coincida con el dispositivo ulpi."
}
],
"id": "CVE-2024-26919",
"lastModified": "2026-08-04T11:17:20.790",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9,
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
},
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 3.6,
"source": "nvd@nist.gov",
"type": "Primary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2024-26919",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-04-23T14:00:39.264752Z",
"version": "2.0.3"
}
}
]
},
"published": "2024-04-17T16:15:08.353",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/330d22aba17a4d30a56f007d0f51291d7e00862b"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/3caf2b2ad7334ef35f55b95f3e1b138c6f77b368"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/d31b886ed6a5095214062ee4fb55037eb930adb6"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/330d22aba17a4d30a56f007d0f51291d7e00862b"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/3caf2b2ad7334ef35f55b95f3e1b138c6f77b368"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/d31b886ed6a5095214062ee4fb55037eb930adb6"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Modified",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "NVD-CWE-noinfo"
}
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
},
"redhat_vex": {
"aggregate_severity": "Low",
"current_release_date": "2026-08-04T22:48:46+00:00",
"cve": "CVE-2024-26919",
"id": "CVE-2024-26919",
"initial_release_date": "2024-04-17T00:00:00+00:00",
"product_status:fixed": "150",
"product_status:known_not_affected": "150",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: usb: ulpi: Fix debugfs directory leak",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-26919.json",
"version": "3"
},
"suse_vex": {
"aggregate_severity": "moderate",
"current_release_date": "2026-08-31T00:43:17Z",
"cve": "CVE-2024-26919",
"id": "CVE-2024-26919",
"initial_release_date": "2024-05-04T02:23:23Z",
"product_status:known_affected": "394",
"product_status:known_not_affected": "346",
"product_status:recommended": "463",
"source": "SUSE CSAF VEX",
"status": "interim",
"title": "SUSE CVE CVE-2024-26919",
"url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-26919.json",
"version": "69"
},
"vulnrichment": {
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2024-08-02T00:21:05.553Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/d31b886ed6a5095214062ee4fb55037eb930adb6"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/330d22aba17a4d30a56f007d0f51291d7e00862b"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/3caf2b2ad7334ef35f55b95f3e1b138c6f77b368"
}
],
"title": "CVE Program Container"
},
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2024-26919",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-04-23T14:00:39.264752Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-05-23T19:01:23.950Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/usb/common/ulpi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "d31b886ed6a5095214062ee4fb55037eb930adb6",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "330d22aba17a4d30a56f007d0f51291d7e00862b",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
},
{
"lessThan": "3caf2b2ad7334ef35f55b95f3e1b138c6f77b368",
"status": "affected",
"version": "bd0a0a024f2a41e7cc8eadb9862f82c45884b69c",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/usb/common/ulpi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.18"
},
{
"lessThan": "5.18",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.79",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.18",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.7.*",
"status": "unaffected",
"version": "6.7.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.8",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.79",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.18",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.7.6",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.8",
"versionStartIncluding": "5.18",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: ulpi: Fix debugfs directory leak\n\nThe ULPI per-device debugfs root is named after the ulpi device\u0027s\nparent, but ulpi_unregister_interface tries to remove a debugfs\ndirectory named after the ulpi device itself. This results in the\ndirectory sticking around and preventing subsequent (deferred) probes\nfrom succeeding. Change the directory name to match the ulpi device."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The use-after-free is triggered by a local read of `/sys/kernel/debug/ulpi/\u003cparent\u003e/regs`, a local filesystem operation on the affected host. No network protocol or physical device insertion is involved \u2014 the ULPI PHY is an on-board SoC component, not a hot-pluggable peripheral.\nAC:L - The stale debugfs entry is created deterministically by any deferred probe or driver unbind (`goto ulpi_exit` in `ci_hdrc_probe`), and every subsequent read reliably dereferences the freed `struct ulpi` and indirect-calls `ulpi-\u003eops-\u003eread`. The attacker fully controls when the read happens, so heap grooming between the `kfree()` and the read is entirely within their control \u2014 no condition depends on external state.\nPR:L - The kernel itself publishes the leaked directory as 0755 and the `regs` file as 0444, so any local user who can traverse the debugfs mount can trigger the UAF; on the ULPI-bearing platforms that matter (Android handsets, automotive/industrial chipidea and dwc3 boards) debugfs is commonly mounted with relaxed mode or group access for diagnostics daemons. No capability, namespace privilege, or kernel-enforced access check guards the vulnerable file.\nUI:N - The attacker performs the read themselves; no victim action is required. The dangling pointer arises automatically from normal deferred-probe behavior at boot.\nS:U - The freed object, the corrupted heap, and the hijackable indirect call all live within the kernel\u0027s own security authority. There is no VM, IOMMU, or sandbox boundary crossed.\nC:H - This is a use-after-free on a ~1KB slab object; reclaiming the freed `struct ulpi` with attacker-shaped data and reading `regs` turns `ulpi-\u003eops-\u003eread` into a controlled call, which is a general kernel-memory disclosure primitive. Even without grooming, the file dumps values derived from freed kernel heap contents.\nI:H - `ulpi_read()` loads a function pointer out of freed memory and indirect-calls it (21 times per read of `regs`), giving direct control-flow hijack once the slab slot is reclaimed \u2014 a full arbitrary-write/code-execution primitive, not just corruption.\nA:H - Dereferencing the freed `struct ulpi` and calling through a garbage `ops` pointer oopses or panics the kernel, and the stale entry can be read repeatedly. Per kernel scoring guidance any use-after-free is High availability impact."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T11:28:18.079Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/d31b886ed6a5095214062ee4fb55037eb930adb6"
},
{
"url": "https://git.kernel.org/stable/c/330d22aba17a4d30a56f007d0f51291d7e00862b"
},
{
"url": "https://git.kernel.org/stable/c/33713945cc92ea9c4a1a9479d5c1b7acb7fc4df3"
},
{
"url": "https://git.kernel.org/stable/c/3caf2b2ad7334ef35f55b95f3e1b138c6f77b368"
}
],
"title": "usb: ulpi: Fix debugfs directory leak",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2024-26919",
"datePublished": "2024-04-17T15:59:27.581Z",
"dateReserved": "2024-02-19T14:20:24.193Z",
"dateUpdated": "2026-08-05T11:28:18.079Z",
"state": "PUBLISHED"
},
"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…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.
Loading…