Linux Kernel 2.6.x ALSA... CVE-2007-4571 CNVD-2007-5735 CNNVD-200709-386

2.1 AV AC AU C I A
发布: 2007-09-26
修订: 2023-02-13

Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核。NFSv4 implementation是其中的一个分布式文件系统协议。 Linux系统的ALSA声卡驱动实现上存在漏洞,本地攻击者可能利用此漏洞获取内核内存中的敏感信息。 Linux Kernel在处理多个/proc/driver/snd-page-alloc文件的读操作时存在安全漏洞,sound/core/memalloc.c文件中如下定义了读操作的系统调用snd_mem_proc_read: 484 static int snd_mem_proc_read(char *page, char **start, off_t off, 485 int count, int *eof, void *data) 486 { 487 int len = 0; ... 494 len += snprintf(page + len, count - len, 495 "pages : %li bytes (%li pages per %likB)\n", 496 pages * PAGE_SIZE, pages, PAGE_SIZE / 1024); ... 508 return len; 509 } 在494行调用了snprintf以生成proc文件系统项的输出,如果提供了计数值1,snprintf就会仅向目标缓冲区写入单个字节,但如果有足够空间的话,函数就会返回应写入的字节数。没有设置过*eof值,也没有使用过*ppos值。 fs/proc/generic.c文件中定义了从proc_file_read调用的这个函数: 51 static ssize_t 52 proc_file_read(struct file *file, char __user *buf, size_t nbytes, 53 loff_t *ppos) 54 { ... 136 n = dp->read_proc(page, &start, *ppos, 137 count, &eof, dp->data); ... 155 n -= *ppos; 156 if (n <= 0) 157 break; 158 if (n > count) 159 n = count; 160 start = page +...

0%
当前有5条漏洞利用/PoC
当前有1条受影响产品信息