IPBUF安全漏洞报告
English
CVE-2026-7845 CVSS 2.6 低危

CVE-2026-7845 Langchain-Chatchat弱哈希漏洞

披露日期: 2026-05-05

漏洞信息

漏洞编号
CVE-2026-7845
漏洞类型
弱哈希
CVSS评分
2.6 低危
攻击向量
邻接 (AV:A)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
chatchat-space Langchain-Chatchat

相关标签

弱哈希Langchain-ChatchatCVE-2026-7845完整性影响

漏洞概述

chatchat-space开发的Langchain-Chatchat在0.3.1.3及之前的版本中存在安全漏洞。该漏洞位于Vision Chat组件的图像处理功能中,具体涉及PIL.Image.tobytes函数的实现。由于对粘贴图像数据的处理使用了弱哈希算法,攻击者可通过构造特制的图像数据触发哈希冲突。虽然利用难度较高且需要局域网环境及低权限账户,但仍可能对系统完整性造成一定影响。

技术细节

该漏洞源于文件libs/chatchat-server/chatchat/webui_pages/dialogue/dialogue.py中的Vision Chat Paste Image Handler组件。在处理用户粘贴的图像数据(参数paste_image.image_data)时,程序调用了PIL.Image.tobytes方法,并依赖基于该数据的哈希值进行后续操作。由于使用了弱哈希算法,攻击者位于同一局域网(AV:A)并拥有低权限账户(PR:L)的情况下,可以通过发送精心构造的图像数据包来制造哈希碰撞。这种碰撞可能导致系统逻辑判断错误,进而修改预期数据,造成完整性影响(I:L)。利用此漏洞不需要用户交互,但攻击复杂度较高(AC:H),且目前已有公开的PoC代码发布。

攻击链分析

STEP 1
步骤1:网络侦察
攻击者需要处于目标系统的本地网络中,确定运行Langchain-Chatchat的服务器。
STEP 2
步骤2:获取低权限账户
攻击者获取一个低权限(PR:L)的账户凭证,用于登录WebUI界面。
STEP 3
步骤3:构造恶意数据
攻击者构造特定的图像数据,旨在触发PIL.Image.tobytes处理时的弱哈希冲突。
STEP 4
步骤4:执行攻击
通过Vision Chat功能的粘贴图像接口上传恶意构造的图像数据,无需用户交互即可触发漏洞。
STEP 5
步骤5:影响完整性
由于哈希冲突,系统可能会错误处理或覆盖数据,导致系统完整性受损(I:L)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import hashlib from PIL import Image import io # Conceptual PoC for Weak Hash Collision in Image Handling # This script demonstrates how image data is converted to bytes and hashed # In the vulnerable version, a weak hash mechanism is used. def generate_collision_image(): # Create a dummy image img = Image.new('RGB', (100, 100), color = 'red') # Convert to bytes as done in the vulnerable function img_bytes = img.tobytes() # Simulate the weak hash usage (e.g., using a simple checksum or short hash) # Assuming the vulnerability involves predictable or collidable hashes weak_hash = hash(img_bytes) # Python's built-in hash is randomized per session, but illustrates the point print(f"Image Bytes Length: {len(img_bytes)}") print(f"Weak Hash Value: {weak_hash}") # An attacker would craft image_data that results in a specific hash collision # to bypass checks or corrupt storage integrity. return img_bytes if __name__ == "__main__": data = generate_collision_image() print("PoC executed: Image data processed with weak hash.")

影响范围

chatchat-space Langchain-Chatchat <= 0.3.1.3

防御指南

临时缓解措施
建议管理员暂时限制对Vision Chat功能的访问,或在网络层面阻断非受信源对WebUI的访问。由于官方尚未发布补丁,可尝试修改源码中libs/chatchat-server/chatchat/webui_pages/dialogue/dialogue.py文件,将弱哈希算法替换为强哈希算法(如SHA-256)以缓解风险。

参考链接

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