IPBUF安全漏洞报告
English
CVE-2026-42564 CVSS 8.2 高危

CVE-2026-42564: jotty·page 未认证路径遍历漏洞

披露日期: 2026-05-11

漏洞信息

漏洞编号
CVE-2026-42564
漏洞类型
路径遍历
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
jotty·page

相关标签

路径遍历目录遍历未认证访问jotty·page文件读取CVE-2026-42564

漏洞概述

jotty·page 是一款用于管理清单和笔记的自托管应用程序。在其 1.22.0 版本之前,该软件存在一个严重的安全漏洞,被归类为未认证的路径遍历漏洞。该漏洞位于 `/api/app-icons/[filename]` API 接口中。由于开发人员未对用户输入的文件名路由参数进行必要的路径验证或边界检查,攻击者能够利用该缺陷读取服务器上位于预期上传目录 `data/uploads/app-icons/` 之外的文件。这意味着攻击者无需任何身份验证即可访问敏感系统文件,导致严重的信息泄露风险。该问题已在 1.22.0 版本中得到修复,建议所有受影响用户尽快升级。

技术细节

该漏洞的根本原因是服务器端代码直接将用户可控的输入(即 URL 路径中的 `[filename]` 部分)拼接到文件系统路径中,而未进行任何安全过滤或规范化处理。在典型的路径遍历攻击中,攻击者利用特殊的字符序列(如 `../` 或 `..\`)在目录树中向上导航。例如,系统原本意图读取 `/app/data/uploads/app-icons/image.png`,但由于缺乏验证,攻击者可以构造 `/api/app-icons/../../etc/passwd` 的请求。经过拼接后,实际读取的路径会被解析为系统根目录下的敏感文件。这种攻击方式利用了操作系统对路径解析的逻辑。由于 CVSS 向量显示无需用户交互(UI:N)且无需认证(PR:N),攻击者可以通过自动化脚本大规模扫描并利用此漏洞。成功利用此漏洞可能导致高机密性影响(C:H),攻击者可获取数据库凭证、应用程序密钥或读取源代码,为进一步的渗透攻击奠定基础。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标正在运行 jotty·page 应用程序,并确定其版本低于 1.22.0。
STEP 2
2. 构造恶意载荷
攻击者构造包含路径遍历序列(如 `../`)的 URL,旨在访问系统敏感文件,例如 `/etc/passwd` 或配置文件。
STEP 3
3. 发起攻击请求
攻击者向 `/api/app-icons/[filename]` 端点发送特制的 HTTP GET 请求。由于无需认证,请求直接被服务器处理。
STEP 4
4. 获取敏感数据
服务器未能过滤路径遍历字符,返回了请求的敏感文件内容,攻击者成功读取系统文件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL of the vulnerable jotty·page instance # Replace 'http://target-host' with the actual address target_url = "http://target-host/api/app-icons/../../etc/passwd" try: # Send a GET request without authentication response = requests.get(target_url) # Check if the request was successful (HTTP 200) if response.status_code == 200: print("[+] Vulnerability exploited successfully!") print("[+] File content:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

jotty·page < 1.22.0

防御指南

临时缓解措施
如果无法立即升级,建议在 Web 服务器(如 Nginx 或 Apache)或 WAF 层面配置规则,拦截包含路径遍历特征(如 `..\` 或 `../`)的请求。此外,可以通过防火墙规则限制对 `/api/app-icons/` 接口的外部访问,仅允许受信任的内网 IP 调用,以降低被攻击的风险。

参考链接