CVE-2024-28397:js2py(JS 解释器)沙盒逃逸,绕过限制执行命令

CVE-2024-28397:js2py(JS 解释器)沙盒逃逸,绕过限制执行命令

Ots安全 2024-06-22 12:07

js2py是一个流行的 Python 包,可以在 Python 解释器中执行 JavaScript 代码。各种网络爬虫都会使用它来解析网站上的 JAVScript 代码。

内部一个全局变量的实现存在漏洞js2py,使得攻击者可以获取js2py环境中一个python对象的引用,从而逃离js环境并在主机上执行任意命令。

通常情况下,用户会调用此方法js2py.disable_pyimport()来阻止 JavaScript 代码逃离js2py环境。但利用此漏洞,攻击者可以绕过此限制并在主机上执行任何命令。

威胁行为者可以托管一个包含恶意 js 文件的网站,或者通过 HTTP API 发送恶意脚本供受害者解析。通过这样做,威胁行为者可以通过在目标上执行任何 shell 命令来在主机上执行远程代码执行。

漏洞详细信息
受影响组件的版本号:

  1. 在 Python 3 下运行的最新 js2py (<=0.74)

  2. 受影响的产品:

  3. pyload/pyload

  4. VeNoMouS/cloudscraper(使用 js2py 作为可选的“js 解释器”)

  5. dipu-bd/lightnovel-crawler

  6. 重现步骤:

  7. 在3.12下安装python3,目前js2py不支持python3.12。

  8. 运行pip install js2py安装js2py并执行poc.py,它将尝试head -n 1 /etc/passwd; calc; gnome-calculator; kcalc;在主机上执行。

  9. 如果存在漏洞,脚本应该打印Success! the vulnerability exists…或弹出计算器。

https://github.com/Marven11/CVE-2024-28397-js2py-Sandbox-Escape

感谢您抽出

.

.

来阅读本文

点它,分享点赞在看都在这里