目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1000

100.0%

CVE-2022-30333 PoC — UnRAR 路径遍历漏洞

来源
关联漏洞
标题:UnRAR 路径遍历漏洞 (CVE-2022-30333)
Description:UnRAR是一个可解压rar后缀文件的命令。 UnRAR 6.12 之前版本存在安全漏洞,该漏洞源于允许在提取(也称为解包)操作期间目录遍历写入文件,如创建 ~/.ssh/authorized_keys 文件所示。
介绍
**Phân tích lỗ hổng CVE-2022-30333 – Path Traversal trong UnRAR dẫn đến RCE trong Zimbra**

**1. Tổng quan lỗ hổng**

CVE ID: CVE-2022-30333

CVSS v3.1: 7.5 (High)

Phạm vi ảnh hưởng phần mềm:
UnRAR: tất cả các phiên bản < 6.12 (hoặc bản mã nguồn mở < 6.1.7)

Zimbra Collaboration Suite:

9.0.0 patch ≤ 24

8.8.15 patch ≤ 31

**2. Chi tiết kỹ thuật**

Unrar thực hiện kiểm tra an toàn đường dẫn symbolic link (dựa trên ký tự / – chuẩn Linux), trước khi chuyển đổi đường dẫn từ định dạng Windows (\\) sang Unix (/), thông qua hàm: DosSlashToUnix()

Code minh họa:
\\


    bool IsRelativeSymlinkSafe(const char *targetPath) {
    // Kiểm tra nếu có "../" để ngăn path traversal
    
    if (strstr(targetPath, "../") != nullptr) {
    
        return false;
        
    }
    
    // Sau kiểm tra, mới chuyển đổi định dạng
   
    DosSlashToUnix(targetPath);  // ← lỗi ở đây
   
    return true; }


Điều này tạo ra lỗ hổng logic: một symbolic link dạng ..\..\..\tmp\file bypass được kiểm tra, nhưng sau khi chuyển đổi sẽ trở thành ../../../tmp/file, dẫn tới Path Traversal.

Demo:

Sử dụng metasploit để khai thác lỗ hổng

![image](https://github.com/user-attachments/assets/ce8d827a-dc98-43c9-9637-9fe53ef7b55d)

Cấu hình payload và gửi payload qua mail đến hệ thống

![image](https://github.com/user-attachments/assets/1c575935-577e-412b-954f-d7b3f85e187b)

Zimbra sử dụng Amavisd để scan email và file đính kèm nhằm phát hiện mã độc.

Amavisd tự động gọi lệnh unrar để giải nén các tệp .rar mà không kiểm tra chuẩn hóa đường dẫn symbolic link.

Payload được giải nén tự động với file .unrar trong mục /tmp

![image](https://github.com/user-attachments/assets/54aec06a-6594-43bb-bbe7-0c7636f5792d)

Khai thác thành công lỗ hổng

![image](https://github.com/user-attachments/assets/680012a3-7ca7-48f1-80fd-05d4e42f0fdd)
文件快照

[4.0K] /data/pocs/8c7185c8ece193a67f98cd3cb676af16e28b9971 └── [2.0K] README.md 0 directories, 1 file
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮件到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对 POC 代码进行快照,为了长期维护,请考虑为本地 POC 付费/捐赠,感谢您的支持。