|
|
NetBSD TIOSCTTY IOCTL存在缓冲区溢出问题 发布时间:2002-09-20 更新时间:2002-09-20 严重程度:高 威胁程度:本地管理员权限 错误类型:边界检查错误 利用方式:服务器模式
BUGTRAQ ID:5722
受影响系统NetBSD NetBSD 1.4 x86
NetBSD NetBSD 1.4 SPARC
NetBSD NetBSD 1.4 arm32
NetBSD NetBSD 1.4 Alpha
NetBSD NetBSD 1.4
NetBSD NetBSD 1.4.1 x86
NetBSD NetBSD 1.4.1 SPARC
NetBSD NetBSD 1.4.1 sh3
NetBSD NetBSD 1.4.1 arm32
NetBSD NetBSD 1.4.1 Alpha
NetBSD NetBSD 1.4.1
NetBSD NetBSD 1.4.2 x86
NetBSD NetBSD 1.4.2 SPARC
NetBSD NetBSD 1.4.2 arm32
NetBSD NetBSD 1.4.2 Alpha
NetBSD NetBSD 1.4.2
NetBSD NetBSD 1.4.3
NetBSD NetBSD 1.5 x86
NetBSD NetBSD 1.5 sh3
NetBSD NetBSD 1.5
NetBSD NetBSD 1.5.1
NetBSD NetBSD 1.5.2
NetBSD NetBSD 1.5.3
NetBSD NetBSD 1.6 beta 详细描述 一个过程通过FORK一个子进程并退出开始一个新的会话,新的子进程然后调用setsid(2)建立新的绘画,因此变成session leader,子进程然后调用TIOCSCTTY ioctl。
在多个进程之间结构共享一般包含计数器来跟踪结构多少次被引用,典型的来说,宏用来增加/递减使用的计数器,当计数器为零时结构就释放。
通过重复调用TIOCSCTTY,当进程推出的时候可导致计数器溢出,计数器为零和即使其他进程仍旧引用它的情况下释放掉。根据内核选项,这可以马上导致内存被覆盖或者内存被其他随机数据覆盖。导致内核崩溃,或者终端会话终止。
测试代码 无
解决方案 升级到NEBSD1.6版本。
相关信息 参考:http://online.securityfocus.com/advisories/4480
|