IPBUF安全漏洞报告
English
CVE-2026-47317 CVSS 5.5 中危

CVE-2026-47317: Samsung Escargot不受控递归漏洞

披露日期: 2026-05-19

漏洞信息

漏洞编号
CVE-2026-47317
漏洞类型
拒绝服务 (不受控递归)
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Samsung Escargot

相关标签

拒绝服务不受控递归Samsung EscargotDoS内存耗尽

漏洞概述

Samsung Escargot是一款开源JavaScript引擎。该漏洞是由于在特定版本中存在不受控的递归调用,导致过度的内存分配。攻击者可以通过诱导用户打开特制的恶意网页或脚本,触发引擎内部的递归逻辑。由于缺乏对递归深度的有效限制,这将消耗大量系统资源,最终导致应用程序崩溃或拒绝服务,影响系统的可用性。

技术细节

该漏洞源于Samsung Escargot JavaScript引擎在处理特定JavaScript代码结构时,未能正确限制递归调用的深度。在受影响的版本(commit 590345cc6258317c5da850d846ce6baaf2afc2d3)中,当引擎解析并执行包含特定模式的递归函数或对象结构时,会陷入无限或极深的递归循环。这种递归会导致栈内存被迅速耗尽或触发过度的堆内存分配(Excessive Allocation)。攻击向量为本地(AV:L),且需要用户交互(UI:R),意味着攻击者需要诱骗用户在本地环境中运行恶意脚本。一旦触发,该漏洞不会导致数据泄露(C:N)或完整性丢失(I:N),但会直接导致目标进程挂起或崩溃,从而造成高可用性影响(A:H)。

攻击链分析

STEP 1
侦察
攻击者确认目标系统使用了存在漏洞的Samsung Escargot JavaScript引擎版本。
STEP 2
武器化
攻击者编写包含不受控递归逻辑的恶意JavaScript代码,旨在触发过度的内存分配。
STEP 3
交付
通过社会工程学手段,诱导用户在本地环境打开包含恶意代码的网页或文件。
STEP 4
利用
用户执行代码后,Escargot引擎解析该代码,由于缺乏递归深度限制,引发无限递归或资源耗尽。
STEP 5
影响
目标应用程序因内存耗尽而崩溃或停止响应,导致拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for Uncontrolled Recursion leading to Excessive Allocation // Target: Samsung Escargot (Affected Commit) function triggerCrash() { try { // Create a recursive function call pattern // that bypasses standard limits function recursiveFunc(depth) { // Simulating logic that might trigger the bug if (depth > 0) { recursiveFunc(depth - 1); } // In a vulnerable engine, the recursion depth check // might be missing or flawed for specific constructs } // Call with a large depth value recursiveFunc(100000); } catch (e) { console.log("Recursion limit reached or exception: " + e); } } triggerCrash();

影响范围

Samsung Escargot Commit 590345cc6258317c5da850d846ce6baaf2afc2d3

防御指南

临时缓解措施
在未升级补丁前,应避免在受影响版本的Escargot引擎中运行未经验证的JavaScript代码。建议在操作系统层面启用资源限制(如ulimit),以防止单一进程耗尽所有系统内存。

参考链接

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