支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:736

73.6%
一、 漏洞 CVE-2026-22774 基础信息
漏洞信息
                                        # devalue 解析内存耗尽拒绝服务漏洞

## 概述

Svelte devalue 是一个 JavaScript 库,用于在 JSON.stringify 无法满足需求时将值序列化为字符串。在版本 5.3.0 至 5.6.1 中,某些输入会导致 `devalue.parse` 消耗过多 CPU 时间或内存,可能引发拒绝服务(DoS)攻击。

## 影响版本

5.3.0 ≤ 版本 < 5.6.2

## 细节

漏洞的根本原因是 `devalue.parse` 在处理 Typed Array 反序列化时,假设输入为 ArrayBuffer 类型,但未对该假设进行验证。攻击者可提供恶意构造的输入,导致解析过程中创建异常大的 Typed Array,从而触发大量内存分配或长时间计算。

## 影响

使用 `devalue.parse` 解析来自不可信来源数据的应用程序可能遭受拒绝服务攻击,表现为高 CPU 占用或内存耗尽。
                                        
神龙判断

是否为 Web 类漏洞: 未知

判断理由:

N/A
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
devalue vulnerable to denial of service due to memory exhaustion in devalue.parse
来源:美国国家漏洞数据库 NVD
漏洞描述信息
Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. From 5.3.0 to 5.6.1, certain inputs can cause devalue.parse to consume excessive CPU time and/or memory, potentially leading to denial of service in systems that parse input from untrusted sources. This affects applications using devalue.parse on externally-supplied data. The root cause is the typed array hydration expecting an ArrayBuffer as input, but not checking the assumption before creating the typed array. This vulnerability is fixed in 5.6.2.
来源:美国国家漏洞数据库 NVD
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
来源:美国国家漏洞数据库 NVD
漏洞类别
不对称的资源消耗(放大攻击)
来源:美国国家漏洞数据库 NVD
漏洞标题
Svelte 安全漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
Svelte是Svelte开源的一种构建 Web 应用程序的新方法。 Svelte 5.3.0版本至5.6.1版本存在安全漏洞,该漏洞源于类型化数组水合过程未检查输入假设,可能导致拒绝服务。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
其他
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2026-22774 的公开POC
#POC 描述源链接神龙链接
三、漏洞 CVE-2026-22774 的情报信息
  • 标题: Release v5.6.2 · sveltejs/devalue · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ## 关键漏洞信息
    
    ### 版本
    - **Version**: v5.6.2
    
    ### 发布日期
    - **Release Date**: 4 days ago
    
    ### 修复内容
    - **ArrayBuffer 解析的输入验证** (`1175584`): 修复了 ArrayBuffer 解析的输入验证问题。
    - **类型化数组的输入验证** (`e46afa6`): 修复了类型化数组的输入验证问题。
    - **导致堆栈溢出的输入错误信息** (`1175584`): 修复了可能导致堆栈溢出的输入,并提供了更有帮助的错误信息。
                                            
    Release v5.6.2 · sveltejs/devalue · GitHub
  • 标题: Denial of service due to memory exhaustion in devalue.parse · Advisory · sveltejs/devalue · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ## 关键漏洞信息
    
    ### 漏洞标题
    拒绝服务由于在 devalue.parse 中内存耗尽
    
    ### 包信息
    - **Package:** devalue (npm)
    - **受影响的版本:** >=5.3.0, <=5.6.1
    - **已修复的版本:** 5.6.2
    
    ### 漏洞描述
    某些输入可能导致 devalue.parse 消耗过多的 CPU 时间和/或内存,潜在地导致从不受信任来源解析输入的系统出现拒绝服务。
    
    ### 详细信息
    解析器的类型化数组水合逻辑在处理之前没有正确验证输入。精心设计的输入可能会导致接收系统的内存分配或 CPU 使用不成比例。
    
    ### 影响
    这是一个拒绝服务漏洞,影响使用 devalue.parse 处理来自潜在不受信任源的数据的系统。
    
    ### 严重性
    - **CVSSv3 分数:** 7.5/10
    - **矢量:** Network
    - **攻击复杂度:** Low
    - **所需权限:** None
    - **用户交互:** None
    - **范围:** Unchanged
    - **机密性:** None
    - **完整性:** None
    - **可用性:** High
    
    ### CVE ID
    CVE-2026-22774
    
    ### 弱点
    - CWE-20
    - CWE-405
    
    ### 修复
    受影响的系统应立即升级到已修复的版本。
                                            
    Denial of service due to memory exhaustion in devalue.parse · Advisory · sveltejs/devalue · GitHub
  • 标题: Merge commit from fork · sveltejs/devalue@1175584 · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ### 关键漏洞信息
    
    #### 修复内容
    
    - **ArrayBuffer 解析输入验证**:修复了对 `ArrayBuffer` 解析时输入验证不足的问题,避免接收恶意数据。
    - **自我引用栈溢出**:修复了在处理自我引用时可能导致的栈溢出问题,增强安全性和稳定性。
    
    #### 代码变动
    
    - **src/parse.js**:增加对 `ArrayBuffer` 类型的校验,防止非法数据类型导致的安全问题。
    - **test.js**:新增测试用例,验证 `ArrayBuffer` 类型错误处理的有效性及自我引用导致的无效数据检测。
    
    #### 增强功能
    
    - **错误信息优化**:对于导致堆栈溢出的输入,提供更详细的错误信息,便于调试和问题追踪。
     
    #### 安全影响
    
    - 防止恶意输入导致的程序崩溃或异常行为,提升软件安全性。
                                            
    Merge commit from fork · sveltejs/devalue@1175584 · GitHub
  • 标题: Merge commit from fork · sveltejs/devalue@e46afa6 · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            从这个GitHub页面的截图中,关于漏洞的关键信息可以总结如下:
    
    - **修复类型**: 该提交修复了一个与`TypedArray`相关的输入验证问题。
    - **修复方法**: 在`src/parse.js`文件中,代码修改引入了一个检查,确保传给`TypedArray`构造函数的输入是一个`ArrayBuffer`。如果输入不是一个`ArrayBuffer`,则抛出一个错误。
    - **修复描述**: 在`.changeset/swift-planes-fry.md`文件中,更新的描述提及了一个名为`devalue`的补丁,专门用于修复对`TypedArray`的输入验证,以防止将非`ArrayBuffer`类型的输入传递给`TypedArray`构造函数。
    - **测试用例添加**: 在`test/test.js`文件中,增加了名为`typed array with non-ArrayBuffer input`的测试用例,用于验证修复的补丁是否有效,确保当给定非`ArrayBuffer`类型的输入时,代码能够正确抛出错误。
    
    这些更改表明,之前可能存在的漏洞是由于对`TypedArray`的输入验证不足,导致潜在的错误或安全风险,而这个提交通过增加输入验证来解决这个问题。
                                            
    Merge commit from fork · sveltejs/devalue@e46afa6 · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2026-22774
四、漏洞 CVE-2026-22774 的评论

暂无评论


发表评论