IPBUF安全漏洞报告
English
CVE-2019-25544 CVSS 6.2 中危

CVE-2019-25544 Pidgin拒绝服务漏洞

披露日期: 2026-03-21

漏洞信息

漏洞编号
CVE-2019-25544
漏洞类型
拒绝服务
CVSS评分
6.2 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Pidgin

相关标签

拒绝服务缓冲区溢出Pidgin本地漏洞CVE-2019-25544

漏洞概述

Pidgin 2.13.0版本中存在一个安全漏洞,允许本地攻击者触发拒绝服务条件。该漏洞发生在账户创建过程中,由于软件未对用户名长度进行适当验证,攻击者可输入超长字符串(约1000字符)作为用户名。当使用该账户尝试加入聊天时,应用程序将因处理异常而崩溃,导致服务不可用。

技术细节

该漏洞属于典型的输入验证缺失导致的缓冲区溢出或内存破坏问题。在Pidgin 2.13.0中,创建账户时的用户名字段缺乏严格的长度限制机制。攻击者利用本地访问权限(AV:L),无需任何认证(PR:N)和用户交互(UI:N),即可构造恶意输入。具体利用方式为在用户名处填入1000个字符的填充数据。当Pidgin尝试解析该超长用户名进行网络连接或聊天室加入操作时,底层代码未能正确处理缓冲区边界,导致内存越界写入或读取。这将触发段错误(Segmentation Fault)或其他未处理的异常,进而强制终止应用程序进程,造成可用性(A:H)受损。

攻击链分析

STEP 1
1. 获取本地访问权限
攻击者获得目标系统的本地访问权限(AV:L),能够运行程序或修改配置。
STEP 2
2. 创建恶意账户
攻击者打开Pidgin,在账户创建向导中,将用户名字段设置为一个包含1000个字符的超长字符串。
STEP 3
3. 触发漏洞
攻击者使用该配置好的账户尝试加入聊天室或进行连接操作。
STEP 4
4. 应用程序崩溃
Pidgin在处理超长用户名时发生缓冲区溢出或内存错误,导致应用程序崩溃(DoS)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # PoC for CVE-2019-25544 # This script generates the payload that triggers the crash in Pidgin 2.13.0 import sys def generate_payload(length=1000): """ Generates a string of 'A' characters with the specified length. Pidgin 2.13.0 crashes when a username of ~1000 chars is used during chat join. """ return "A" * length if __name__ == "__main__": print("[*] Generating payload for CVE-2019-25544...") payload = generate_payload() print(f"[+] Payload generated (Length: {len(payload)})") print("[+] Usage: Use this string as the 'Username' when creating a new account in Pidgin, then attempt to join a chat.") # print(payload) # Uncomment to see the full string

影响范围

Pidgin 2.13.0

防御指南

临时缓解措施
建议立即将Pidgin更新到官方发布的最新版本以修复此漏洞。如果暂时无法升级,应限制对受影响系统的本地访问,确保只有受信任的用户能够操作应用程序,防止恶意用户利用此缺陷导致服务中断。

参考链接

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