Rust编程语言曝出漏洞,攻击者可轻松删除文件和目录

安全 漏洞
日前,Rust编程语言的维护者修复了一个编号为 CVE-2022-21658的高危漏洞,该漏洞让攻击者可以从易受攻击的系统删除文件和目录。

日前,Rust编程语言的维护者修复了一个编号为 CVE-2022-21658的高危漏洞,该漏洞让攻击者可以从易受攻击的系统删除文件和目录。该漏洞影响Rust 1.0.0到Rust 1.58.0,近期发布的Rust 1.58.1版本已修复了该漏洞。

Rust编程语言维护者发布的安全公告称:“Rust安全响应工作组已接到通知,获悉 std::fs::remove_dir_all标准库函数易受启用符号链接跟随的竞态条件攻击(CWE-363)。攻击者可以利用这个安全问题,欺骗特权程序删除攻击者原本无法访问或删除的文件和目录。” 安全公告指出std::fs::remove_dir_all已经含有防范递归删除符号链接的机制,但它们并没有正确实施。

“遗憾的是,该检查机制在标准库中未正确实施,导致了TOCTOU(Time-of-check Time-of-use)竞态条件。标准库不是告诉系统别跟随符号链接,而是先检查它要删除的东西是不是符号链接,否则它将继续递归删除目录。这暴露了竞态条件:攻击者可以创建一个目录,并在检查和实际删除之间将该目录换成符号链接。虽然这种攻击在首次尝试时可能不会得逞,但在试验中能够在几秒钟内可靠地执行这种攻击。” Rust 维护者表示。

攻击者利用该漏洞的原理是:假设对系统拥有非特权访问权限的攻击者想要删除一个名为sensitive/的系统目录,但他没有操作权限,就可以利用该漏洞,找到一个特权程序来删除其有权访问的目录(名为temp/),创建从temp/foo到sensitive/的符号链接,等待上述特权程序删除foo/。特权程序将跟随从temp/foo到ensitive/的符号链接,同时递归删除,从而导致sensitive/被删除。

参考链接:

https://securityaffairs.co/wordpress/127135/security/rust-programming-language-flaw.html

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2020-11-13 18:56:39

漏洞rootUbuntu

2024-10-17 16:12:08

2021-11-15 15:37:05

零日漏洞MacOS攻击

2012-06-13 09:26:46

2021-11-27 16:47:48

Windows 11操作系统微软

2015-06-18 10:19:11

2021-04-22 09:33:37

Azure漏洞攻击

2021-06-02 06:04:16

漏洞攻击黑客

2020-12-30 09:27:55

漏洞DDoS攻击网络攻击

2021-03-09 09:06:33

PythonBug漏洞

2021-09-03 14:59:10

Linux漏洞攻击

2021-05-27 09:51:20

漏洞

2021-12-01 11:25:15

MSHTML微软漏洞

2011-04-14 14:08:17

2022-01-24 07:35:39

XLL网络攻击恶意软件

2016-01-05 15:54:32

2013-03-22 13:27:19

2024-12-13 15:03:12

2021-11-04 05:48:43

SSL加密攻击勒索软件

2024-08-09 16:26:56

点赞
收藏

51CTO技术栈公众号