Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 04736c1bc32197f7d859e01a96ae80a16659931d before 6bbb98bec71b577fda4f4b48f7aea5874b04a576; affected 4eaf2331a77996bbbaf2b824d452ac8ebda7e6e7 before 93563243377f8e9b46cc94d9c4f06533dd31b141; affected 8fc246a8a456679993df565d3c9e3da28030ee43 before 1712fd71a5aaf81e47c747f180535fa963ad7830; affected 10132ccf99f49b43aeb7470df50d72344a601ad6 before 0b3073f40cc9f95d5ff0037eb0a06f5c1725a7ea; affected 3295f1b866bfbcabd625511968e8a5c541f9ab32 before 5e62d7857fd51b908b8371062ee839739a086bbe; affected 3295f1b866bfbcabd625511968e8a5c541f9ab32 before 729b68a5bad71220ae0914c8bdab9488ad5be6c8; affected 3295f1b866bfbcabd625511968e8a5c541f9ab32 before 48dd0b2ec9f2e97c486eb68cd0a64b25c1c3df3e; affected 3295f1b866bfbcabd625511968e8a5c541f9ab32 before b4ecbdc4f8830f5586c4a5cfc384c00f20f8f8b3; affected 02d13616ca30014ed96302e51a5b0e17664e58bc; affected dff3b01e91a3df93063b03d0f8dd5c40546687ec; affected 489d77fbd66375972a380d207f7eb39b00c4a67b; affected 5.10.221 before 5.10.261; affected 5.15.162 before 5.15.212; affected 6.1.96 before 6.1.178; affected 6.6.36 before 6.6.145; affected 4.19.317 before 4.20; affected 5.4.279 before 5.5; affected 6.9.7 before 6.10 |
| Linux / Linux | affected 6.10; unaffected 0 before 6.10; unaffected 5.10.261 through 5.10.*; unaffected 5.15.212 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.96 through 6.12.*; unaffected 6.18.39 through 6.18.*; unaffected 7.1.4 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
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