Linux drivers/char/lp.c Out-of-Bounds Write. Due to a missing bounds check, and the fact that parport_ptr integer is static, a 'secure boot' kernel command line adversary (can happen due to bootloader vulns, e.g. Google Nexus 6's CVE-2016-10277, where due to a vulnerability the adversary has partial control over the command line) can overflow the parport_nr array in the following code, by appending many (>LP_NO) 'lp=none' arguments to the command line.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 4.12-rc1 | 4.12-rc1.x |
| linux / linux_kernel | 3.19 | 4.1.41 |
| linux / linux_kernel | 4.2 | 4.4.70 |
| linux / linux_kernel | 4.5 | 4.9.30 |
| linux / linux_kernel | 3.3 | 3.10.106 |
| linux / linux_kernel | 2.6.12 | 3.2.91 |
| linux / linux_kernel | 3.11 | 3.16.46 |
| linux / linux_kernel | 3.17 | 3.18.55 |
| linux / linux_kernel | 4.10 | 4.11.3 |
| debian / debian_linux | 8.0 | 8.0.x |