CVE-2004-1235 (CNNVD-200504-062)

MEDIUM 有利用代码
中文标题:
Linux Kernel uselib()特权提升漏洞
英文标题:
Race condition in the (1) load_elf_library and (2) binfmt_aout function calls for uselib in Linux ke...
CVSS分数: 6.2
发布时间: 2005-01-20 05:00:00
漏洞类型: 授权问题
状态: PUBLISHED
数据质量分数: 0.40
数据版本: v6
漏洞描述
中文描述:

Linux Kernel是开放源代码操作系统Linux的内核。 Linux二进制格式装载器(binary format loaders)uselib()函数存在缺陷,本地攻击者可以利用这个漏洞获得root用户权限。 Linux内核提供二进制格式装载器层来装载不同格式的程序如ELF或者a.out或其他的,内核也提供sys_uselib()函数装载对应的二进制程序。从binfmt_elf.c文件中对load_elf_library()的uselib函数分析,在对库的BRK段(VMA)处理上存在问题,此段通过current->mm->mmap_sem建立,当修改调用进程的内存布局时'信号灯'(semaphore)没有保持,这可以用来扰乱内存管理并提升特权。 部分源代码fs/binfmt_elf.c如下: static int load_elf_library(struct file *file) { [904] down_write(¤t->mm->mmap_sem); error = do_mmap(file, ELF_PAGESTART(elf_phdata->p_vaddr), (elf_phdata->p_filesz + ELF_PAGEOFFSET(elf_phdata->p_vaddr)), PROT_READ | PROT_WRITE | PROT_EXEC, MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE, (elf_phdata->p_offset - ELF_PAGEOFFSET(elf_phdata->p_vaddr))); up_write(¤t->mm->mmap_sem); if (error != ELF_PAGESTART(elf_phdata->p_vaddr)) goto out_free_ph; elf_bss = elf_phdata->p_vaddr + elf_phdata->p_filesz; padzero(elf_bss); len = ELF_PAGESTART(elf_phdata->p_filesz + elf_phdata->p_vaddr + ELF_MIN_ALIGN - 1); bss = elf_phdata->p_memsz + elf_phdata->p_vaddr; if (bss > len) do_brk(len, bss - len); 上面可以看到为了建立ELF二进制的数据段mmap_sem在调用do_brk()前释放,换句话说,查看mm/mmap.c文件中的sys_brk()可看出do_brk()必须以信号灯保持方式来调用。 再看下do_brk()代码: [1094] vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL); if (!vma) return -ENOMEM; vma->vm_mm = mm; vma->vm_start = addr; vma->vm_end = addr + len; vma->vm_flags = flags; vma->vm_page_prot = protection_map[flags & 0x0f]; vma->vm_ops = NULL; vma->vm_pgoff = 0; vma->vm_file = NULL; vma->vm_private_data = NULL; vma_link(mm, vma, prev, rb_link, rb_parent); rb_link和rb_parent由find_vma_prepare()查询,很明显,如果kmem_cache_alloc()调用休眠,由于进程的VMA列表和VMA RB-tree可以被其他线程更改,新建立的VMA描述符可以被插入到其他位置。导致特权提升

英文描述:

Race condition in the (1) load_elf_library and (2) binfmt_aout function calls for uselib in Linux kernel 2.4 through 2.429-rc2 and 2.6 through 2.6.10 allows local users to execute arbitrary code by manipulating the VMA descriptor.

CWE类型:
(暂无数据)
标签:
local linux Paul Starzetz OSVDB-12791 Tim Hsu sd
受影响产品
厂商 产品 版本 版本范围 平台 CPE
avaya mn100 * - - cpe:2.3:a:avaya:mn100:*:*:*:*:*:*:*:*
avaya network_routing * - - cpe:2.3:a:avaya:network_routing:*:*:*:*:*:*:*:*
avaya converged_communications_server 2.0 - - cpe:2.3:h:avaya:converged_communications_server:2.0:*:*:*:*:*:*:*
avaya s8710 r2.0.0 - - cpe:2.3:h:avaya:s8710:r2.0.0:*:*:*:*:*:*:*
avaya s8710 r2.0.1 - - cpe:2.3:h:avaya:s8710:r2.0.1:*:*:*:*:*:*:*
avaya modular_messaging_message_storage_server 1.1 - - cpe:2.3:o:avaya:modular_messaging_message_storage_server:1.1:*:*:*:*:*:*:*
avaya modular_messaging_message_storage_server 2.0 - - cpe:2.3:o:avaya:modular_messaging_message_storage_server:2.0:*:*:*:*:*:*:*
linux linux_kernel 2.4.0 - - cpe:2.3:o:linux:linux_kernel:2.4.0:*:*:*:*:*:*:*
linux linux_kernel 2.4.1 - - cpe:2.3:o:linux:linux_kernel:2.4.1:*:*:*:*:*:*:*
linux linux_kernel 2.4.2 - - cpe:2.3:o:linux:linux_kernel:2.4.2:*:*:*:*:*:*:*
linux linux_kernel 2.4.3 - - cpe:2.3:o:linux:linux_kernel:2.4.3:*:*:*:*:*:*:*
linux linux_kernel 2.4.4 - - cpe:2.3:o:linux:linux_kernel:2.4.4:*:*:*:*:*:*:*
linux linux_kernel 2.4.5 - - cpe:2.3:o:linux:linux_kernel:2.4.5:*:*:*:*:*:*:*
linux linux_kernel 2.4.6 - - cpe:2.3:o:linux:linux_kernel:2.4.6:*:*:*:*:*:*:*
linux linux_kernel 2.4.7 - - cpe:2.3:o:linux:linux_kernel:2.4.7:*:*:*:*:*:*:*
linux linux_kernel 2.4.8 - - cpe:2.3:o:linux:linux_kernel:2.4.8:*:*:*:*:*:*:*
linux linux_kernel 2.4.9 - - cpe:2.3:o:linux:linux_kernel:2.4.9:*:*:*:*:*:*:*
linux linux_kernel 2.4.10 - - cpe:2.3:o:linux:linux_kernel:2.4.10:*:*:*:*:*:*:*
linux linux_kernel 2.4.11 - - cpe:2.3:o:linux:linux_kernel:2.4.11:*:*:*:*:*:*:*
linux linux_kernel 2.4.12 - - cpe:2.3:o:linux:linux_kernel:2.4.12:*:*:*:*:*:*:*
linux linux_kernel 2.4.13 - - cpe:2.3:o:linux:linux_kernel:2.4.13:*:*:*:*:*:*:*
linux linux_kernel 2.4.14 - - cpe:2.3:o:linux:linux_kernel:2.4.14:*:*:*:*:*:*:*
linux linux_kernel 2.4.15 - - cpe:2.3:o:linux:linux_kernel:2.4.15:*:*:*:*:*:*:*
linux linux_kernel 2.4.16 - - cpe:2.3:o:linux:linux_kernel:2.4.16:*:*:*:*:*:*:*
linux linux_kernel 2.4.17 - - cpe:2.3:o:linux:linux_kernel:2.4.17:*:*:*:*:*:*:*
linux linux_kernel 2.4.18 - - cpe:2.3:o:linux:linux_kernel:2.4.18:*:*:*:*:*:*:*
linux linux_kernel 2.4.19 - - cpe:2.3:o:linux:linux_kernel:2.4.19:*:*:*:*:*:*:*
linux linux_kernel 2.4.20 - - cpe:2.3:o:linux:linux_kernel:2.4.20:*:*:*:*:*:*:*
linux linux_kernel 2.4.21 - - cpe:2.3:o:linux:linux_kernel:2.4.21:*:*:*:*:*:*:*
linux linux_kernel 2.4.22 - - cpe:2.3:o:linux:linux_kernel:2.4.22:*:*:*:*:*:*:*
linux linux_kernel 2.4.23 - - cpe:2.3:o:linux:linux_kernel:2.4.23:*:*:*:*:*:*:*
linux linux_kernel 2.4.23_ow2 - - cpe:2.3:o:linux:linux_kernel:2.4.23_ow2:*:*:*:*:*:*:*
linux linux_kernel 2.4.24 - - cpe:2.3:o:linux:linux_kernel:2.4.24:*:*:*:*:*:*:*
linux linux_kernel 2.4.24_ow1 - - cpe:2.3:o:linux:linux_kernel:2.4.24_ow1:*:*:*:*:*:*:*
linux linux_kernel 2.4.25 - - cpe:2.3:o:linux:linux_kernel:2.4.25:*:*:*:*:*:*:*
linux linux_kernel 2.4.26 - - cpe:2.3:o:linux:linux_kernel:2.4.26:*:*:*:*:*:*:*
linux linux_kernel 2.4.27 - - cpe:2.3:o:linux:linux_kernel:2.4.27:*:*:*:*:*:*:*
linux linux_kernel 2.4.28 - - cpe:2.3:o:linux:linux_kernel:2.4.28:*:*:*:*:*:*:*
linux linux_kernel 2.4.29 - - cpe:2.3:o:linux:linux_kernel:2.4.29:rc2:*:*:*:*:*:*
linux linux_kernel 2.6.0 - - cpe:2.3:o:linux:linux_kernel:2.6.0:*:*:*:*:*:*:*
linux linux_kernel 2.6.1 - - cpe:2.3:o:linux:linux_kernel:2.6.1:*:*:*:*:*:*:*
linux linux_kernel 2.6.2 - - cpe:2.3:o:linux:linux_kernel:2.6.2:*:*:*:*:*:*:*
linux linux_kernel 2.6.3 - - cpe:2.3:o:linux:linux_kernel:2.6.3:*:*:*:*:*:*:*
linux linux_kernel 2.6.4 - - cpe:2.3:o:linux:linux_kernel:2.6.4:*:*:*:*:*:*:*
linux linux_kernel 2.6.5 - - cpe:2.3:o:linux:linux_kernel:2.6.5:*:*:*:*:*:*:*
linux linux_kernel 2.6.6 - - cpe:2.3:o:linux:linux_kernel:2.6.6:*:*:*:*:*:*:*
linux linux_kernel 2.6.7 - - cpe:2.3:o:linux:linux_kernel:2.6.7:*:*:*:*:*:*:*
linux linux_kernel 2.6.8 - - cpe:2.3:o:linux:linux_kernel:2.6.8:*:*:*:*:*:*:*
linux linux_kernel 2.6.9 - - cpe:2.3:o:linux:linux_kernel:2.6.9:2.6.20:*:*:*:*:*:*
linux linux_kernel 2.6.10 - - cpe:2.3:o:linux:linux_kernel:2.6.10:*:*:*:*:*:*:*
linux linux_kernel 2.6_test9_cvs - - cpe:2.3:o:linux:linux_kernel:2.6_test9_cvs:*:*:*:*:*:*:*
mandrakesoft mandrake_linux 9.2 - - cpe:2.3:o:mandrakesoft:mandrake_linux:9.2:*:*:*:*:*:*:*
mandrakesoft mandrake_linux 10.0 - - cpe:2.3:o:mandrakesoft:mandrake_linux:10.0:*:*:*:*:*:*:*
mandrakesoft mandrake_linux 10.1 - - cpe:2.3:o:mandrakesoft:mandrake_linux:10.1:*:*:*:*:*:*:*
mandrakesoft mandrake_linux_corporate_server 2.1 - - cpe:2.3:o:mandrakesoft:mandrake_linux_corporate_server:2.1:*:*:*:*:*:*:*
mandrakesoft mandrake_linux_corporate_server 3.0 - - cpe:2.3:o:mandrakesoft:mandrake_linux_corporate_server:3.0:*:*:*:*:*:*:*
redhat enterprise_linux 3.0 - - cpe:2.3:o:redhat:enterprise_linux:3.0:*:advanced_servers:*:*:*:*:*
redhat enterprise_linux 4.0 - - cpe:2.3:o:redhat:enterprise_linux:4.0:*:advanced_server:*:*:*:*:*
redhat enterprise_linux_desktop 3.0 - - cpe:2.3:o:redhat:enterprise_linux_desktop:3.0:*:*:*:*:*:*:*
redhat enterprise_linux_desktop 4.0 - - cpe:2.3:o:redhat:enterprise_linux_desktop:4.0:*:*:*:*:*:*:*
redhat fedora_core core_1.0 - - cpe:2.3:o:redhat:fedora_core:core_1.0:*:*:*:*:*:*:*
redhat fedora_core core_2.0 - - cpe:2.3:o:redhat:fedora_core:core_2.0:*:*:*:*:*:*:*
redhat fedora_core core_3.0 - - cpe:2.3:o:redhat:fedora_core:core_3.0:*:*:*:*:*:*:*
redhat linux 7.3 - - cpe:2.3:o:redhat:linux:7.3:*:i386:*:*:*:*:*
redhat linux 9.0 - - cpe:2.3:o:redhat:linux:9.0:*:i386:*:*:*:*:*
suse suse_linux 1.0 - - cpe:2.3:o:suse:suse_linux:1.0:*:desktop:*:*:*:*:*
suse suse_linux 8 - - cpe:2.3:o:suse:suse_linux:8:*:enterprise_server:*:*:*:*:*
suse suse_linux 8.1 - - cpe:2.3:o:suse:suse_linux:8.1:*:*:*:*:*:*:*
suse suse_linux 8.2 - - cpe:2.3:o:suse:suse_linux:8.2:*:*:*:*:*:*:*
suse suse_linux 9.0 - - cpe:2.3:o:suse:suse_linux:9.0:*:*:*:*:*:*:*
suse suse_linux 9.1 - - cpe:2.3:o:suse:suse_linux:9.1:*:*:*:*:*:*:*
suse suse_linux 9.2 - - cpe:2.3:o:suse:suse_linux:9.2:*:*:*:*:*:*:*
ubuntu ubuntu_linux 4.1 - - cpe:2.3:o:ubuntu:ubuntu_linux:4.1:*:ia64:*:*:*:*:*
avaya intuity_audix * - - cpe:2.3:a:avaya:intuity_audix:*:*:lx:*:*:*:*:*
mandrakesoft mandrake_multi_network_firewall 8.2 - - cpe:2.3:a:mandrakesoft:mandrake_multi_network_firewall:8.2:*:*:*:*:*:*:*
avaya s8300 r2.0.0 - - cpe:2.3:h:avaya:s8300:r2.0.0:*:*:*:*:*:*:*
avaya s8300 r2.0.1 - - cpe:2.3:h:avaya:s8300:r2.0.1:*:*:*:*:*:*:*
avaya s8500 r2.0.0 - - cpe:2.3:h:avaya:s8500:r2.0.0:*:*:*:*:*:*:*
avaya s8500 r2.0.1 - - cpe:2.3:h:avaya:s8500:r2.0.1:*:*:*:*:*:*:*
avaya s8700 r2.0.0 - - cpe:2.3:h:avaya:s8700:r2.0.0:*:*:*:*:*:*:*
avaya s8700 r2.0.1 - - cpe:2.3:h:avaya:s8700:r2.0.1:*:*:*:*:*:*:*
conectiva linux 10.0 - - cpe:2.3:o:conectiva:linux:10.0:*:*:*:*:*:*:*
解决方案
中文解决方案:
(暂无数据)
英文解决方案:
(暂无数据)
临时解决方案:
(暂无数据)
参考链接
20163 third-party-advisory
cve.org
访问
DSA-1082 vendor-advisory
cve.org
访问
MDKSA-2005:022 vendor-advisory
cve.org
访问
RHSA-2005:017 vendor-advisory
cve.org
访问
FLSA:2336 vendor-advisory
cve.org
访问
无标题 x_refsource_CONFIRM
cve.org
访问
无标题 x_refsource_MISC
cve.org
访问
DSA-1070 vendor-advisory
cve.org
访问
RHSA-2005:016 vendor-advisory
cve.org
访问
20162 third-party-advisory
cve.org
访问
RHSA-2005:043 vendor-advisory
cve.org
访问
2005-0001 vendor-advisory
cve.org
访问
RHSA-2005:092 vendor-advisory
cve.org
访问
DSA-1067 vendor-advisory
cve.org
访问
FEDORA-2005-014 vendor-advisory
cve.org
访问
DSA-1069 vendor-advisory
cve.org
访问
CLA-2005:930 vendor-advisory
cve.org
访问
SUSE-SR:2005:001 vendor-advisory
cve.org
访问
12190 vdb-entry
cve.org
访问
linux-uselib-gain-privileges(18800) vdb-entry
cve.org
访问
20050107 Linux kernel sys_uselib local root vulnerability mailing-list
cve.org
访问
oval:org.mitre.oval:def:9567 vdb-entry
cve.org
访问
FEDORA-2005-013 vendor-advisory
cve.org
访问
20202 third-party-advisory
cve.org
访问
20338 third-party-advisory
cve.org
访问
ExploitDB EDB-744 EXPLOIT
exploitdb
访问
Download Exploit EDB-744 EXPLOIT
exploitdb
访问
CVE Reference: CVE-2004-1235 ADVISORY
cve.org
访问
ExploitDB EDB-778 EXPLOIT
exploitdb
访问
Download Exploit EDB-778 EXPLOIT
exploitdb
访问
ExploitDB EDB-895 EXPLOIT
exploitdb
访问
Download Exploit EDB-895 EXPLOIT
exploitdb
访问
CVSS评分详情
6.2
MEDIUM
CVSS向量: AV:L/AC:H/Au:N/C:C/I:C/A:C
CVSS版本: 2.0
机密性
COMPLETE
完整性
COMPLETE
可用性
COMPLETE
时间信息
发布时间:
2005-01-20 05:00:00
修改时间:
2024-08-08 00:46:12
创建时间:
2025-11-11 15:32:22
更新时间:
2026-01-26 02:18:32
利用信息
此漏洞有可利用代码!
利用代码数量: 3
利用来源:
未知 未知 未知
数据源详情
数据源 记录ID 版本 提取时间
CVE cve_CVE-2004-1235 2025-11-11 15:17:30 2025-11-11 07:32:22
NVD nvd_CVE-2004-1235 2025-11-11 14:50:56 2025-11-11 07:41:08
CNNVD cnnvd_CNNVD-200504-062 2025-11-11 15:08:45 2025-11-11 07:48:57
EXPLOITDB exploitdb_EDB-744 2025-11-11 15:05:25 2025-11-11 09:03:45
EXPLOITDB exploitdb_EDB-778 2025-11-11 15:05:25 2025-11-11 09:04:11
EXPLOITDB exploitdb_EDB-895 2025-11-11 15:05:25 2025-11-11 09:05:56
版本与语言
当前版本: v6
主要语言: EN
支持语言:
EN ZH
其他标识符:
:
:
:
:
:
:
安全公告
暂无安全公告信息
变更历史
v6 EXPLOITDB
2025-11-11 17:05:56
references_count: 30 → 32; tags_count: 5 → 6
查看详细变更
  • references_count: 30 -> 32
  • tags_count: 5 -> 6
v5 EXPLOITDB
2025-11-11 17:04:11
references_count: 28 → 30; tags_count: 4 → 5
查看详细变更
  • references_count: 28 -> 30
  • tags_count: 4 -> 5
v4 EXPLOITDB
2025-11-11 17:03:45
references_count: 25 → 28; tags_count: 0 → 4; data_sources: ['cnnvd', 'cve', 'nvd'] → ['cnnvd', 'cve', 'exploitdb', 'nvd']
查看详细变更
  • references_count: 25 -> 28
  • tags_count: 0 -> 4
  • data_sources: ['cnnvd', 'cve', 'nvd'] -> ['cnnvd', 'cve', 'exploitdb', 'nvd']
v3 CNNVD
2025-11-11 15:48:57
vulnerability_type: 未提取 → 授权问题; cnnvd_id: 未提取 → CNNVD-200504-062; data_sources: ['cve', 'nvd'] → ['cnnvd', 'cve', 'nvd']
查看详细变更
  • vulnerability_type: 未提取 -> 授权问题
  • cnnvd_id: 未提取 -> CNNVD-200504-062
  • data_sources: ['cve', 'nvd'] -> ['cnnvd', 'cve', 'nvd']
v2 NVD
2025-11-11 15:41:08
cvss_score: 未提取 → 6.2; cvss_vector: NOT_EXTRACTED → AV:L/AC:H/Au:N/C:C/I:C/A:C; cvss_version: NOT_EXTRACTED → 2.0; affected_products_count: 0 → 82; data_sources: ['cve'] → ['cve', 'nvd']
查看详细变更
  • cvss_score: 未提取 -> 6.2
  • cvss_vector: NOT_EXTRACTED -> AV:L/AC:H/Au:N/C:C/I:C/A:C
  • cvss_version: NOT_EXTRACTED -> 2.0
  • affected_products_count: 0 -> 82
  • data_sources: ['cve'] -> ['cve', 'nvd']