Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: scsi: qla4xxx: Add length check when parsing nlattrs There are three places that qla4xxx parses nlattrs: - qla4xxx_set_chap_entry() - qla4xxx_iface_set_param() - qla4xxx_sysfs_ddb_set_param() and each of them directly converts the nlattr to specific pointer of structure without length checking. This could be dangerous as those attributes are not validated and a malformed nlattr (e.g., length 0) could result in an OOB read that leaks heap dirty data. Add the nla_len check before accessing the nlattr data and return EINVAL if the length check fails.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before cfa6a1a79ed6d336fac7a5d87eb5471e4401829f; affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before 5925e224cc6edfef57b20447f18323208461309b; affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before 47f3be62eab50b8cd7e1ae5fc2c4dae687497c34; affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before 6d65079c69dc1feb817ed71f5bd15e83a7d6832d; affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before f61fc650c47849637fa1771a31a11674c824138a; affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before 25feffb3fbd51ae81d92c65cebc0e932663828b3; affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before 4ed21975311247bb84e82298eeb359ec0a0fa84d; affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before b018c0440b871d8b001c996e95fa4538bd292de6; affected 00c31889f7513e9ffa6b2b4de8ad6d7f59a61c80 before 47cd3770e31df942e2bb925a9a855c79ed0662eb |
| Linux / Linux | affected 3.2; unaffected 0 before 3.2; unaffected 4.14.326 through 4.14.*; unaffected 4.19.295 through 4.19.*; unaffected 5.4.257 through 5.4.*; unaffected 5.10.195 through 5.10.*; unaffected 5.15.132 through 5.15.*; unaffected 6.1.53 through 6.1.*; unaffected 6.4.16 through 6.4.*; unaffected 6.5.3 through 6.5.*; unaffected 6.6 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/cfa6a1a79ed6d336fac7a5d87eb5471e4401829f
- https://git.kernel.org/stable/c/5925e224cc6edfef57b20447f18323208461309b
- https://git.kernel.org/stable/c/47f3be62eab50b8cd7e1ae5fc2c4dae687497c34
- https://git.kernel.org/stable/c/6d65079c69dc1feb817ed71f5bd15e83a7d6832d
- https://git.kernel.org/stable/c/f61fc650c47849637fa1771a31a11674c824138a
- https://git.kernel.org/stable/c/25feffb3fbd51ae81d92c65cebc0e932663828b3
- https://git.kernel.org/stable/c/4ed21975311247bb84e82298eeb359ec0a0fa84d
- https://git.kernel.org/stable/c/b018c0440b871d8b001c996e95fa4538bd292de6
- https://git.kernel.org/stable/c/47cd3770e31df942e2bb925a9a855c79ed0662eb