Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: Clear variable event pointer on read snd_seq_read() copies a queued variable-length event header to userspace before expanding the payload. Queued variable-length events use SNDRV_SEQ_EXT_CHAINED internally, and data.ext.ptr points at the first extension cell. The read side strips SNDRV_SEQ_EXT_* bits from data.ext.len before the copy, but it leaves data.ext.ptr untouched. A userspace sequencer client can therefore write a direct variable event to itself and read back the extension-cell kernel address from the returned header. Clear the temporary header pointer before copy_to_user(). The original queued event remains unchanged and is still passed to snd_seq_expand_var_event(), so payload expansion keeps using the internal chain.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 14fe4f75fd5309d6b75f8e840ada88912b374207; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before f29243c211928114f8b906e0a3fee77c236f14c8; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before e0c3edd86414534cfd179fefe45b38c29c01ae7a; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 6b52211eba213c461f68922708a99d8190c1fcd5; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 74ac1ce1f4afdb3b80b6742fa28fb86c8c51d31b; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before c2ac9287e89916da684c2a548798351e63eb59ee; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 705dd6dcbc0ea87351c660c1a6443f85f1001c76 |
| Linux / Linux | affected 2.6.12; unaffected 0 before 2.6.12; unaffected 5.15.212 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.97 through 6.12.*; unaffected 6.18.40 through 6.18.*; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/14fe4f75fd5309d6b75f8e840ada88912b374207
- https://git.kernel.org/stable/c/f29243c211928114f8b906e0a3fee77c236f14c8
- https://git.kernel.org/stable/c/e0c3edd86414534cfd179fefe45b38c29c01ae7a
- https://git.kernel.org/stable/c/6b52211eba213c461f68922708a99d8190c1fcd5
- https://git.kernel.org/stable/c/74ac1ce1f4afdb3b80b6742fa28fb86c8c51d31b
- https://git.kernel.org/stable/c/c2ac9287e89916da684c2a548798351e63eb59ee
- https://git.kernel.org/stable/c/705dd6dcbc0ea87351c660c1a6443f85f1001c76