Description
In the Linux kernel, the following vulnerability has been resolved: USB: misc: uss720: unregister parport on probe failure uss720_probe() registers a parport before reading the 1284 register used to detect unsupported Belkin F5U002 adapters. If get_1284_register() fails, the error path drops the driver private data and the USB device reference, but leaves the parport device registered. Leaving the port registered is more than a private allocation leak: parport_register_port() has already reserved a parport number and registered the parport bus device, while pp->private_data still points at the private data that the common error path is about to release. Undo the pre-announce registration in the get_1284_register() failure branch before jumping to the common private-data cleanup path. Clear priv->pp first, matching the disconnect path and avoiding a stale pointer in the private data. This issue was identified during our ongoing static-analysis research while reviewing kernel code.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
04736c1bc32197f7d859e01a96ae80a16659931d to < 6bbb98bec71b577fda4f4b48f7aea5874b04a576affected4eaf2331a77996bbbaf2b824d452ac8ebda7e6e7 to < 93563243377f8e9b46cc94d9c4f06533dd31b141affected8fc246a8a456679993df565d3c9e3da28030ee43 to < 1712fd71a5aaf81e47c747f180535fa963ad7830affected10132ccf99f49b43aeb7470df50d72344a601ad6 to < 0b3073f40cc9f95d5ff0037eb0a06f5c1725a7eaaffected3295f1b866bfbcabd625511968e8a5c541f9ab32 to < 5e62d7857fd51b908b8371062ee839739a086bbeaffected3295f1b866bfbcabd625511968e8a5c541f9ab32 to < 729b68a5bad71220ae0914c8bdab9488ad5be6c8affected3295f1b866bfbcabd625511968e8a5c541f9ab32 to < 48dd0b2ec9f2e97c486eb68cd0a64b25c1c3df3eaffected3295f1b866bfbcabd625511968e8a5c541f9ab32 to < b4ecbdc4f8830f5586c4a5cfc384c00f20f8f8b3affected02d13616ca30014ed96302e51a5b0e17664e58bcaffecteddff3b01e91a3df93063b03d0f8dd5c40546687ecaffected489d77fbd66375972a380d207f7eb39b00c4a67baffected5.10.221 to < 5.10.261affected5.15.162 to < 5.15.212affected6.1.96 to < 6.1.178affected6.6.36 to < 6.6.145affected4.19.317 to < 4.20affected5.4.279 to < 5.5affected6.9.7 to < 6.10affected
Linux Linux
Default version status: affected
6.10affected0 to < 6.10unaffected5.10.261 to ≤ 5.10.*unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.96 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/6bbb98bec71b577fda4f4b48f7aea5874b04a576 ↗
- https://git.kernel.org/stable/c/93563243377f8e9b46cc94d9c4f06533dd31b141 ↗
- https://git.kernel.org/stable/c/1712fd71a5aaf81e47c747f180535fa963ad7830 ↗
- https://git.kernel.org/stable/c/0b3073f40cc9f95d5ff0037eb0a06f5c1725a7ea ↗
- https://git.kernel.org/stable/c/5e62d7857fd51b908b8371062ee839739a086bbe ↗
- https://git.kernel.org/stable/c/729b68a5bad71220ae0914c8bdab9488ad5be6c8 ↗
- https://git.kernel.org/stable/c/48dd0b2ec9f2e97c486eb68cd0a64b25c1c3df3e ↗
- https://git.kernel.org/stable/c/b4ecbdc4f8830f5586c4a5cfc384c00f20f8f8b3 ↗