已合并
`/dev/console1` 设备的 `TIOCGWINSZ` ioctl命令存在任意内核地址写漏洞,攻击者可通过覆写PCB中的capability值实现本地权限提升(LPE)。 #1451
yang-pangyuan创建于 7月27日
`/dev/console1` 设备的 `TIOCGWINSZ` ioctl命令存在任意内核地址写漏洞,攻击者可通过覆写PCB中的capability值实现本地权限提升(LPE)。 #1451
已合并
共 1 个文件变更+4-0
| @@ -825,6 +825,10 @@ STATIC INT32 ConsoleGetWinSize(unsigned long arg) | |||
| 825 | .ws_row = DEFAULT_WINDOW_SIZE_ROW | 825 | .ws_row = DEFAULT_WINDOW_SIZE_ROW |
| 826 | }; | 826 | }; |
| 827 | 827 | ||
| 828 | + if (!LOS_IsUserAddress((vaddr_t)(UINTPTR)arg)) { | ||
| 829 | + return -EFAULT; | ||
| 830 | + } | ||
| 831 | + | ||
| 828 | return (LOS_CopyFromKernel((VOID *)arg, sizeof(struct winsize), &kws, sizeof(struct winsize)) != 0) ? | 832 | return (LOS_CopyFromKernel((VOID *)arg, sizeof(struct winsize), &kws, sizeof(struct winsize)) != 0) ? |
| 829 | -EFAULT : LOS_OK; | 833 | -EFAULT : LOS_OK; |
| 830 | } | 834 | } |