Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/morrisel/cve-2023-26136
静态分析漏洞分析代码分析供应链安全论文与研究学习与教育
GitHubmorrisel/cve-2023-26136

CVE-2023-26136

该仓库包含针对CVE-2023-26136漏洞的解决方案。

查看仓库
41年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

关于漏洞 CVE-2023-26136 的研究

描述

在 4.1.3 之前的 tough-cookie 包版本容易受到原型污染攻击,原因在于当 CookieJar 在 rejectPublicSuffixes=false 模式下使用时,对 cookie 的处理不当。此问题源于对象初始化方式。

目标与修复

本项目旨在提供一个修补后的 [email protected] 版本,在消除 CVE-2023-26136 漏洞的同时确保向后兼容性。

为修复该漏洞,我们修改了 memstore.js,通过使用 Object.create(null) 替代标准对象初始化,确保 cookie 存储在一个没有原型污染风险的对象中。这可以防止通过恶意构造的 cookie 名称进行原型操纵。

结构

在 tough-cookie/ 目录下,我们可以找到两个额外的目录,分别包含 tough-cookie 的原始版本和修补版本:

  1. 原始版本(Original v2.5.0/) – 未经修改的 tough-cookie 2.5.0,存在漏洞。
  2. 修补版本(v2.5.0-PATCHED/) – 包含针对 CVE-2023-26136 修复的修改版本。

安装

安装存在漏洞的原始版本:

root@kitploit:~
npm install [email protected]

补丁详情

应用的补丁修改了 cookie 的存储方式:将 this.idx = {}; 改为 this.idx = Object.create(null);

这可以防止攻击者向原型链注入属性并利用漏洞。

tough-cookie 中的漏洞(CVE-2023-26136)源于使用普通的 JavaScript 对象 {} 来存储 cookie。由于 {} 继承自 Object.prototype,可以通过注入 __proto__ 等属性来利用它,导致原型污染。这可能使攻击者操纵应用程序行为或引发安全问题。

为了缓解该问题,补丁将 {} 替换为 Object.create(null),后者创建了一个没有原型([[Prototype]]: null)的对象。这确保该对象不会继承 Object.prototype 的任何属性,从而防止攻击者注入恶意属性。

通过使用 Object.create(null),我们有效地将 cookie 存储与意外的原型继承隔离开来,使其更安全地抵御原型污染攻击。

安装指南与补丁说明

要本地安装修补版本,请按以下步骤操作:

  1. 提取修补包(可选,用于验证):

tar -tzf tough-cookie-2.5.0.tgz

如果需要,提取它:

tar -xzf tough-cookie-2.5.0.tgz

  1. 安装修补包:

npm install ./tough-cookie-2.5.0.tgz

  1. 验证修复: 运行测试脚本:

node index.js

预期输出:

EXPLOITED SUCCESSFULLY - 对于原始版本

EXPLOIT FAILED - 对于修补版本

Node.js 兼容性

修补版本已在 Node.js 20(LTS)上测试,以确保与最新的稳定运行时环境兼容。

仓库与分支

原始 tough-cookie 仓库(Salesforce)当前版本为 5.1.1。由于我们使用的是 2.5.0 版本,无法直接从主仓库分支。因此,我们创建了一个单独的仓库,其中包含原始版本和修补版本。您可以在此处找到它:

GitHub 仓库 - 分支版本

CI/CD

  • 本研究未使用任何 CI/CD 工具。
  • 熟悉 Docker(基础水平)。

参考

有关更多详细信息,请访问官方 CVE 页面:CVE-2023-26136 - NVD

下载工具