{"api_version":"1","generated_at":"2026-08-02T15:43:31+00:00","cve":"CVE-2026-64478","urls":{"html":"https://cve.report/CVE-2026-64478","api":"https://cve.report/api/cve/CVE-2026-64478.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64478","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64478"},"summary":{"title":"ALSA: usb-audio: avoid kobject path lookup in DualSense match","description":"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.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-25 10:17:33","updated_at":"2026-07-25 10:17:33"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/4566bf8ae9dbfe81bdc2ff1702d59db8a233b06e","name":"https://git.kernel.org/stable/c/4566bf8ae9dbfe81bdc2ff1702d59db8a233b06e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/662a1d7b5affc424ea4f4bc20dd99be29e687886","name":"https://git.kernel.org/stable/c/662a1d7b5affc424ea4f4bc20dd99be29e687886","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/7693c0cc415f3a16a7a3355f245474a5e661be4e","name":"https://git.kernel.org/stable/c/7693c0cc415f3a16a7a3355f245474a5e661be4e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a263eb12cbe2e208e6e637df0f9b0be9a484158e","name":"https://git.kernel.org/stable/c/a263eb12cbe2e208e6e637df0f9b0be9a484158e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4246dd043b7a4f8e3bc1d2896e81d11220610eda","name":"https://git.kernel.org/stable/c/4246dd043b7a4f8e3bc1d2896e81d11220610eda","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a47ecd904c51ae6a42957feb3cf2f4266adee2e5","name":"https://git.kernel.org/stable/c/a47ecd904c51ae6a42957feb3cf2f4266adee2e5","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e4c66a149c408e44e60bfec3fabf08b6b7abbc60","name":"https://git.kernel.org/stable/c/e4c66a149c408e44e60bfec3fabf08b6b7abbc60","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c1da6d3f45036fa63672ee04ad97cb526b40b987","name":"https://git.kernel.org/stable/c/c1da6d3f45036fa63672ee04ad97cb526b40b987","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64478","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64478","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d0b0264009596c07a77d82808b0dae72bc04ac5c e4c66a149c408e44e60bfec3fabf08b6b7abbc60 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected b4b94f092f193d7a2db8e82af5e51519ae89963c 4566bf8ae9dbfe81bdc2ff1702d59db8a233b06e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c2d5b0a6c688ffb32c35627e337fbbcc65bc275f 662a1d7b5affc424ea4f4bc20dd99be29e687886 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d04d301614630724feb4048bf17432fc7964fe74 a47ecd904c51ae6a42957feb3cf2f4266adee2e5 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected a705899ec6085b12a33aa0fd94a58e82e9e90502 c1da6d3f45036fa63672ee04ad97cb526b40b987 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 79d561c4ec0497669f19a9550cfb74812f60938b a263eb12cbe2e208e6e637df0f9b0be9a484158e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 79d561c4ec0497669f19a9550cfb74812f60938b 4246dd043b7a4f8e3bc1d2896e81d11220610eda git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 79d561c4ec0497669f19a9550cfb74812f60938b 7693c0cc415f3a16a7a3355f245474a5e661be4e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 104ad9bae11ee450fb7d0595ff7876cfb6527838 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0105cfc41abeb428d4405951a20e1e239bea5e1d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.10.245 5.10.261 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.15.194 5.15.212 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.1.155 6.1.178 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.6.109 6.6.145 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.12.50 6.12.96 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.4.300 5.5 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.16.10 6.17 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.17","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.17 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.261 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.212 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.178 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.145 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.96 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.39 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.4 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"64478","cve":"CVE-2026-64478","epss":"0.001840000","percentile":"0.083480000","score_date":"2026-07-28","updated_at":"2026-07-29 00:05:33"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["sound/usb/mixer_quirks.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"e4c66a149c408e44e60bfec3fabf08b6b7abbc60","status":"affected","version":"d0b0264009596c07a77d82808b0dae72bc04ac5c","versionType":"git"},{"lessThan":"4566bf8ae9dbfe81bdc2ff1702d59db8a233b06e","status":"affected","version":"b4b94f092f193d7a2db8e82af5e51519ae89963c","versionType":"git"},{"lessThan":"662a1d7b5affc424ea4f4bc20dd99be29e687886","status":"affected","version":"c2d5b0a6c688ffb32c35627e337fbbcc65bc275f","versionType":"git"},{"lessThan":"a47ecd904c51ae6a42957feb3cf2f4266adee2e5","status":"affected","version":"d04d301614630724feb4048bf17432fc7964fe74","versionType":"git"},{"lessThan":"c1da6d3f45036fa63672ee04ad97cb526b40b987","status":"affected","version":"a705899ec6085b12a33aa0fd94a58e82e9e90502","versionType":"git"},{"lessThan":"a263eb12cbe2e208e6e637df0f9b0be9a484158e","status":"affected","version":"79d561c4ec0497669f19a9550cfb74812f60938b","versionType":"git"},{"lessThan":"4246dd043b7a4f8e3bc1d2896e81d11220610eda","status":"affected","version":"79d561c4ec0497669f19a9550cfb74812f60938b","versionType":"git"},{"lessThan":"7693c0cc415f3a16a7a3355f245474a5e661be4e","status":"affected","version":"79d561c4ec0497669f19a9550cfb74812f60938b","versionType":"git"},{"status":"affected","version":"104ad9bae11ee450fb7d0595ff7876cfb6527838","versionType":"git"},{"status":"affected","version":"0105cfc41abeb428d4405951a20e1e239bea5e1d","versionType":"git"},{"lessThan":"5.10.261","status":"affected","version":"5.10.245","versionType":"semver"},{"lessThan":"5.15.212","status":"affected","version":"5.15.194","versionType":"semver"},{"lessThan":"6.1.178","status":"affected","version":"6.1.155","versionType":"semver"},{"lessThan":"6.6.145","status":"affected","version":"6.6.109","versionType":"semver"},{"lessThan":"6.12.96","status":"affected","version":"6.12.50","versionType":"semver"},{"lessThan":"5.5","status":"affected","version":"5.4.300","versionType":"semver"},{"lessThan":"6.17","status":"affected","version":"6.16.10","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["sound/usb/mixer_quirks.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.17"},{"lessThan":"6.17","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.261","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.212","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.178","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.145","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.96","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.39","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.4","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.261","versionStartIncluding":"5.10.245","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.212","versionStartIncluding":"5.15.194","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.178","versionStartIncluding":"6.1.155","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.145","versionStartIncluding":"6.6.109","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.96","versionStartIncluding":"6.12.50","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.39","versionStartIncluding":"6.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.4","versionStartIncluding":"6.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc1","versionStartIncluding":"6.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.300","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.16.10","vulnerable":true}],"negate":false,"operator":"OR"}]}],"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."}],"providerMetadata":{"dateUpdated":"2026-07-25T08:51:40.299Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/e4c66a149c408e44e60bfec3fabf08b6b7abbc60"},{"url":"https://git.kernel.org/stable/c/4566bf8ae9dbfe81bdc2ff1702d59db8a233b06e"},{"url":"https://git.kernel.org/stable/c/662a1d7b5affc424ea4f4bc20dd99be29e687886"},{"url":"https://git.kernel.org/stable/c/a47ecd904c51ae6a42957feb3cf2f4266adee2e5"},{"url":"https://git.kernel.org/stable/c/c1da6d3f45036fa63672ee04ad97cb526b40b987"},{"url":"https://git.kernel.org/stable/c/a263eb12cbe2e208e6e637df0f9b0be9a484158e"},{"url":"https://git.kernel.org/stable/c/4246dd043b7a4f8e3bc1d2896e81d11220610eda"},{"url":"https://git.kernel.org/stable/c/7693c0cc415f3a16a7a3355f245474a5e661be4e"}],"title":"ALSA: usb-audio: avoid kobject path lookup in DualSense match","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64478","datePublished":"2026-07-25T08:51:40.299Z","dateReserved":"2026-07-19T15:36:31.791Z","dateUpdated":"2026-07-25T08:51:40.299Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-25 10:17:33","lastModifiedDate":"2026-07-25 10:17:33","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64478","Ordinal":"1","Title":"ALSA: usb-audio: avoid kobject path lookup in DualSense match","CVE":"CVE-2026-64478","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64478","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"ALSA: usb-audio: avoid kobject path lookup in DualSense match"}]}}}