CVE-2026-64478
In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: avoid kobject path lookup in DualSense match
The DualSense jack-detection input handler verifies that a matching input device belongs to the same physical controller by building kobject path strings for both the input device and the USB audio device, then comparing the path prefix.
This was observed when a weak physical connection caused the controller to rapidly disconnect and reconnect. During that repeated hotplug, snd_dualsense_ih_match() can run while the controller's USB device is being disconnected. kobject_get_path() walks ancestor kobjects and dereferences their names; if the USB device kobject name is no longer valid, this can fault in strlen():
Leer descripción completaMostrar menos
The same ownership check can be done without building kobject path strings. The input device is parented below the HID device, USB interface and USB device, so walking the input device parent chain and comparing against the mixer USB device preserves the check without dereferencing kobject names during disconnect.
Detalles técnicos trazas, registros y código del informe original
RIP: 0010:strlen+0x10/0x30 Call Trace: kobject_get_path+0x34/0x150 snd_dualsense_ih_match+0x49/0xd0 [snd_usb_audio] input_register_device+0x566/0x6a0 ps_probe+0xb89/0x1590 [hid_playstation]
CVSS
NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.22%
- Percentil entre todas las CVEs puntuadas: 11
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
Referencias
- https://git.kernel.org/stable/c/4246dd043b7a4f8e3bc1d2896e81d11220610eda
- https://git.kernel.org/stable/c/4566bf8ae9dbfe81bdc2ff1702d59db8a233b06e
- https://git.kernel.org/stable/c/662a1d7b5affc424ea4f4bc20dd99be29e687886
- https://git.kernel.org/stable/c/7693c0cc415f3a16a7a3355f245474a5e661be4e
- https://git.kernel.org/stable/c/a263eb12cbe2e208e6e637df0f9b0be9a484158e
- https://git.kernel.org/stable/c/a47ecd904c51ae6a42957feb3cf2f4266adee2e5
- https://git.kernel.org/stable/c/c1da6d3f45036fa63672ee04ad97cb526b40b987
- https://git.kernel.org/stable/c/e4c66a149c408e44e60bfec3fabf08b6b7abbc60
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-64478",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "d0b0264009596c07a77d82808b0dae72bc04ac5c",
"lessThan": "e4c66a149c408e44e60bfec3fabf08b6b7abbc60",
"versionType": "git"
},
{
"status": "affected",
"version": "b4b94f092f193d7a2db8e82af5e51519ae89963c",
"lessThan": "4566bf8ae9dbfe81bdc2ff1702d59db8a233b06e",
"versionType": "git"
},
{
"status": "affected",
"version": "c2d5b0a6c688ffb32c35627e337fbbcc65bc275f",
"lessThan": "662a1d7b5affc424ea4f4bc20dd99be29e687886",
"versionType": "git"
},
{
"status": "affected",
"version": "d04d301614630724feb4048bf17432fc7964fe74",
"lessThan": "a47ecd904c51ae6a42957feb3cf2f4266adee2e5",
"versionType": "git"
},
{
"status": "affected",
"version": "a705899ec6085b12a33aa0fd94a58e82e9e90502",
"lessThan": "c1da6d3f45036fa63672ee04ad97cb526b40b987",
"versionType": "git"
},
{
"status": "affected",
"version": "79d561c4ec0497669f19a9550cfb74812f60938b",
"lessThan": "a263eb12cbe2e208e6e637df0f9b0be9a484158e",
"versionType": "git"
},
{
"status": "affected",
"version": "79d561c4ec0497669f19a9550cfb74812f60938b",
"lessThan": "4246dd043b7a4f8e3bc1d2896e81d11220610eda",
"versionType": "git"
},
{
"status": "affected",
"version": "79d561c4ec0497669f19a9550cfb74812f60938b",
"lessThan": "7693c0cc415f3a16a7a3355f245474a5e661be4e",
"versionType": "git"
},
{
"status": "affected",
"version": "104ad9bae11ee450fb7d0595ff7876cfb6527838",
"versionType": "git"
},
{
"status": "affected",
"version": "0105cfc41abeb428d4405951a20e1e239bea5e1d",
"versionType": "git"
},
{
"status": "affected",
"version": "5.10.245",
"lessThan": "5.10.261",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.15.194",
"lessThan": "5.15.212",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.1.155",
"lessThan": "6.1.178",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.6.109",
"lessThan": "6.6.145",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.12.50",
"lessThan": "6.12.96",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.4.300",
"lessThan": "5.5",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.16.10",
"lessThan": "6.17",
"versionType": "semver"
}
],
"programFiles": [
"sound/usb/mixer_quirks.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.17"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.17",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.261",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.212",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.178",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.145",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.96",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.39",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.1.4",
"versionType": "semver",
"lessThanOrEqual": "7.1.*"
},
{
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"sound/usb/mixer_quirks.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-07-25T10:17:33.350",
"references": [
{
"url": "https://git.kernel.org/stable/c/4246dd043b7a4f8e3bc1d2896e81d11220610eda",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/4566bf8ae9dbfe81bdc2ff1702d59db8a233b06e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/662a1d7b5affc424ea4f4bc20dd99be29e687886",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/7693c0cc415f3a16a7a3355f245474a5e661be4e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a263eb12cbe2e208e6e637df0f9b0be9a484158e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a47ecd904c51ae6a42957feb3cf2f4266adee2e5",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c1da6d3f45036fa63672ee04ad97cb526b40b987",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e4c66a149c408e44e60bfec3fabf08b6b7abbc60",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: avoid kobject path lookup in DualSense match\n\nThe DualSense jack-detection input handler verifies that a matching input\ndevice belongs to the same physical controller by building kobject path\nstrings for both the input device and the USB audio device, then comparing\nthe path prefix.\n\nThis was observed when a weak physical connection caused the controller\nto rapidly disconnect and reconnect. During that repeated hotplug,\nsnd_dualsense_ih_match() can run while the controller's USB device is\nbeing disconnected. kobject_get_path() walks ancestor kobjects and\ndereferences their names; if the USB device kobject name is no longer\nvalid, this can fault in strlen():\n\n RIP: 0010:strlen+0x10/0x30\n Call Trace:\n kobject_get_path+0x34/0x150\n snd_dualsense_ih_match+0x49/0xd0 [snd_usb_audio]\n input_register_device+0x566/0x6a0\n ps_probe+0xb89/0x1590 [hid_playstation]\n\nThe same ownership check can be done without building kobject path\nstrings. The input device is parented below the HID device, USB interface\nand USB device, so walking the input device parent chain and comparing\nagainst the mixer USB device preserves the check without dereferencing\nkobject names during disconnect."
}
],
"lastModified": "2026-08-17T05:17:53.523",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}