{"id":"CVE-2026-46109","state":"PUBLISHED","title":"usb: ulpi: fix memory leak on ulpi_register() error paths","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: ulpi: fix memory leak on ulpi_register() error paths\n\nCommit 01af542392b5 (\"usb: ulpi: fix double free in\nulpi_register_interface() error path\") removed kfree(ulpi) from\nulpi_register_interface() to fix a double-free when device_register()\nfails.\n\nBut when ulpi_of_register() or ulpi_read_id() fail before\ndevice_register() is called, the ulpi allocation is leaked.\n\nAdd kfree(ulpi) on both error paths to properly clean up the allocation.","publishedAt":"2026-05-28T09:35:16.409Z","updatedAt":"2026-06-14T17:55:07.015Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"2f70ba9dae13a190673cc3f9b4aad52179738f60","status":"affected","lessThan":"0c2c0c6820fe96fa4be0a0499f8d3f3321b9af6c","versionType":"git"},{"version":"ee248e6e941e4f2e634df2bd43e5f1ef810ab6df","status":"affected","lessThan":"f1b855c00988a9cb41134cab7cf9faedba775dd9","versionType":"git"},{"version":"272a9b26c336a295e4e209157fed809706c1b1f7","status":"affected","lessThan":"7bd61ed0bf9f4f1f2673d489b3bda1555b48d054","versionType":"git"},{"version":"aaeae6533d77e6ed4def85baec01e2815ebbef61","status":"affected","lessThan":"b0c0d44adb55c66663886cb6e30ee92cbb0f5385","versionType":"git"},{"version":"8763f8317bb389aded32a32b08f6751cfff657d2","status":"affected","lessThan":"be2c1d825f54277472c87019e82013ac534ddc4c","versionType":"git"},{"version":"38c28fe25611099230f0965c925499bfcf46a795","status":"affected","lessThan":"2a71e01b2cf9b4329ff67102c1bea7448c2a2d2d","versionType":"git"},{"version":"01af542392b5d41fd659d487015a71f627accce3","status":"affected","lessThan":"f30ccfc2985590b33a23a3d8bed7ca16c0af551b","versionType":"git"},{"version":"01af542392b5d41fd659d487015a71f627accce3","status":"affected","lessThan":"0b9fcab1b8608d429e5f239afb197de928d4de7d","versionType":"git"},{"version":"a6e5461f076c2ef63159f18e5cdbd30b50f0bc15","status":"affected","versionType":"git"},{"version":"5.10.253","status":"affected","lessThan":"5.10.258","versionType":"semver"},{"version":"5.15.203","status":"affected","lessThan":"5.15.209","versionType":"semver"},{"version":"6.1.168","status":"affected","lessThan":"6.1.175","versionType":"semver"},{"version":"6.6.134","status":"affected","lessThan":"6.6.140","versionType":"semver"},{"version":"6.12.81","status":"affected","lessThan":"6.12.88","versionType":"semver"},{"version":"6.18.22","status":"affected","lessThan":"6.18.30","versionType":"semver"},{"version":"6.19.12","status":"affected","lessThan":"6.20","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/common/ulpi.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.0","versionType":"semver"},{"version":"5.10.258","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.209","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.140","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.88","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.30","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.7","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/common/ulpi.c"]}],"references":["https://git.kernel.org/stable/c/0c2c0c6820fe96fa4be0a0499f8d3f3321b9af6c","https://git.kernel.org/stable/c/f1b855c00988a9cb41134cab7cf9faedba775dd9","https://git.kernel.org/stable/c/7bd61ed0bf9f4f1f2673d489b3bda1555b48d054","https://git.kernel.org/stable/c/b0c0d44adb55c66663886cb6e30ee92cbb0f5385","https://git.kernel.org/stable/c/be2c1d825f54277472c87019e82013ac534ddc4c","https://git.kernel.org/stable/c/2a71e01b2cf9b4329ff67102c1bea7448c2a2d2d","https://git.kernel.org/stable/c/f30ccfc2985590b33a23a3d8bed7ca16c0af551b","https://git.kernel.org/stable/c/0b9fcab1b8608d429e5f239afb197de928d4de7d"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:07.131Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/46xxx/CVE-2026-46109.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-46109","state":"PUBLISHED","datePublished":"2026-05-28T09:35:16.409Z","dateUpdated":"2026-06-14T17:55:07.015Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-13T15:03:33.098Z"},"containers":{"cna":{"title":"usb: ulpi: fix memory leak on ulpi_register() error paths","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: ulpi: fix memory leak on ulpi_register() error paths\n\nCommit 01af542392b5 (\"usb: ulpi: fix double free in\nulpi_register_interface() error path\") removed kfree(ulpi) from\nulpi_register_interface() to fix a double-free when device_register()\nfails.\n\nBut when ulpi_of_register() or ulpi_read_id() fail before\ndevice_register() is called, the ulpi allocation is leaked.\n\nAdd kfree(ulpi) on both error paths to properly clean up the allocation."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"2f70ba9dae13a190673cc3f9b4aad52179738f60","status":"affected","lessThan":"0c2c0c6820fe96fa4be0a0499f8d3f3321b9af6c","versionType":"git"},{"version":"ee248e6e941e4f2e634df2bd43e5f1ef810ab6df","status":"affected","lessThan":"f1b855c00988a9cb41134cab7cf9faedba775dd9","versionType":"git"},{"version":"272a9b26c336a295e4e209157fed809706c1b1f7","status":"affected","lessThan":"7bd61ed0bf9f4f1f2673d489b3bda1555b48d054","versionType":"git"},{"version":"aaeae6533d77e6ed4def85baec01e2815ebbef61","status":"affected","lessThan":"b0c0d44adb55c66663886cb6e30ee92cbb0f5385","versionType":"git"},{"version":"8763f8317bb389aded32a32b08f6751cfff657d2","status":"affected","lessThan":"be2c1d825f54277472c87019e82013ac534ddc4c","versionType":"git"},{"version":"38c28fe25611099230f0965c925499bfcf46a795","status":"affected","lessThan":"2a71e01b2cf9b4329ff67102c1bea7448c2a2d2d","versionType":"git"},{"version":"01af542392b5d41fd659d487015a71f627accce3","status":"affected","lessThan":"f30ccfc2985590b33a23a3d8bed7ca16c0af551b","versionType":"git"},{"version":"01af542392b5d41fd659d487015a71f627accce3","status":"affected","lessThan":"0b9fcab1b8608d429e5f239afb197de928d4de7d","versionType":"git"},{"version":"a6e5461f076c2ef63159f18e5cdbd30b50f0bc15","status":"affected","versionType":"git"},{"version":"5.10.253","status":"affected","lessThan":"5.10.258","versionType":"semver"},{"version":"5.15.203","status":"affected","lessThan":"5.15.209","versionType":"semver"},{"version":"6.1.168","status":"affected","lessThan":"6.1.175","versionType":"semver"},{"version":"6.6.134","status":"affected","lessThan":"6.6.140","versionType":"semver"},{"version":"6.12.81","status":"affected","lessThan":"6.12.88","versionType":"semver"},{"version":"6.18.22","status":"affected","lessThan":"6.18.30","versionType":"semver"},{"version":"6.19.12","status":"affected","lessThan":"6.20","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/common/ulpi.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.0","versionType":"semver"},{"version":"5.10.258","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.209","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.140","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.88","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.30","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.7","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/common/ulpi.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/0c2c0c6820fe96fa4be0a0499f8d3f3321b9af6c"},{"url":"https://git.kernel.org/stable/c/f1b855c00988a9cb41134cab7cf9faedba775dd9"},{"url":"https://git.kernel.org/stable/c/7bd61ed0bf9f4f1f2673d489b3bda1555b48d054"},{"url":"https://git.kernel.org/stable/c/b0c0d44adb55c66663886cb6e30ee92cbb0f5385"},{"url":"https://git.kernel.org/stable/c/be2c1d825f54277472c87019e82013ac534ddc4c"},{"url":"https://git.kernel.org/stable/c/2a71e01b2cf9b4329ff67102c1bea7448c2a2d2d"},{"url":"https://git.kernel.org/stable/c/f30ccfc2985590b33a23a3d8bed7ca16c0af551b"},{"url":"https://git.kernel.org/stable/c/0b9fcab1b8608d429e5f239afb197de928d4de7d"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-06-14T17:55:07.015Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.253","versionEndExcluding":"5.10.258"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.203","versionEndExcluding":"5.15.209"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.168","versionEndExcluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.134","versionEndExcluding":"6.6.140"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.81","versionEndExcluding":"6.12.88"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18.22","versionEndExcluding":"6.18.30"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0","versionEndExcluding":"7.0.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0","versionEndExcluding":"7.1"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19.12"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}