In the Linux kernel, the following vulnerability has been resolved: parisc: Revise __get_user() to probe user read access Because of the way read access support is implemented, read access interruptions are only triggered at privilege levels 2 and 3. The kernel executes at privilege level 0, so __get_user() never triggers a read access interruption (code 26). Thus, it is currently possible for user code to access a read protected address via a system call. Fix this by probing read access rights at privilege level 3 (PRIV_USER) and setting __gu_err to -EFAULT (-14) if access isn't allowed. Note the cmpiclr instruction does a 32-bit compare because COND macro doesn't work inside asm.
| Product | Vendor | Version |
|---|---|---|
| Linux | Linux | All versions < V4.7 SP9 HF1 |
| Linux | Linux | All versions < V4.7 HF29 |
| Linux | Linux | V500R002C00SPCb00 |
| Linux | Linux | V300R001C01 |