【问题标题】:Arbitrary Code Injection - serialize-javascript@1.9.1任意代码注入 - serialize-javascript@1.9.1
【发布时间】:2025-11-27 23:55:02
【问题描述】:

serialize-javascript@1.9.1 包中存在严重问题。我无法想象为什么这是一个高问题,以及攻击者如何利用这一点对网站造成一些损害。有人可以再举一些例子吗?或者也许更详细地解释以帮助我理解。谢谢。

链接: https://snyk.io/test/npm/uglifyjs-webpack-plugin/2.2.0?tab=issues

我尝试编写以下代码,但我仍然不明白为什么这是一个大的安全问题。

const serialize = require('serialize-javascript');

let result = serialize({"foo": /1" + console.log(1)/i, "bar": '"@__R-<UID>-0__@'})
console.log(result);
result = eval('(' + serialize({"foo": /1" + console.log(1)/i, "bar": '"@__R-<UID>-0__@'}) + ')');
console.log(result);

控制台日志

{"foo":/1" + console.log(1)/i,"bar":"\"@__R-\u003CUID\u003E-0__@"}
{ foo: /1" + console.log(1)/i, bar: '"@__R-<UID>-0__@' }

【问题讨论】:

    标签: javascript reactjs code-injection penetration-testing


    【解决方案1】:

    无法仅根据您发布的内容进行确认,但是,这是针对可能运行恶意代码的可能不受信任的数据运行eval()。我怀疑 Snyk 能否完全确认其可利用性。

    【讨论】: