CVE-2019-25584RarmaRadio 2.72.3版本在“网络设置”中的“服务器”字段存在严重的缓冲区溢出漏洞。由于软件缺乏对输入数据的充分验证,本地攻击者可以轻松利用此漏洞。攻击者只需在设置菜单中向服务器字段粘贴超过4000字节的超长恶意字符串,即可触发内存溢出并导致应用程序崩溃。该漏洞的CVSS评分为6.2,属于中危级别。尽管目前看来主要影响是拒绝服务(DoS),未涉及敏感信息泄露或完整性破坏,但攻击者无需任何认证即可执行攻击,对系统的可用性构成了直接威胁。
该漏洞的根本原因在于RarmaRadio在处理用户输入时未对“网络设置”中的“服务器”字段进行严格的长度限制和边界检查。缓冲区溢出通常发生在程序向固定大小的内存块写入数据时,如果输入数据长度超过了缓冲区的容量,多余的数据会覆盖相邻的内存空间。在此案例中,当本地攻击者访问设置菜单并选择网络配置时,可以向“服务器”输入框粘贴一个精心构造的超长字符串(例如超过4000字节)。程序在尝试将此字符串存储到内存缓冲区时,由于未正确截断或校验长度,导致数据溢出。这种溢出会破坏堆栈或堆内存结构,引发异常处理程序的错误,最终导致应用程序意外终止(崩溃)。从攻击向量来看,这是一个本地漏洞(AV:L),攻击者需要能够访问运行RarmaRadio的本地系统。虽然攻击不需要用户交互(UI:N)和特权(PR:N),但它局限于本地环境。利用此漏洞的后果主要是高可用性影响(A:H),即造成拒绝服务。虽然当前描述未提及远程代码执行(RCE),但在某些缓冲区溢出场景下,控制EIP或指令指针可能进一步导致代码执行,但此处主要表现为崩溃。