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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2021-21341 — XStream 拒绝服务 CVE-2021-21341 | Kitploit
工具/GitHubGitHub/s-index/cve-2021-21341
漏洞分析漏洞利用学习与教育实验室与实践
GitHubs-index/cve-2021-21341

CVE-2021-21341

XStream 拒绝服务 CVE-2021-21341

查看仓库
125年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-21341 XStream 拒绝服务

XStream 官方公告

CVE-2021-21341

漏洞

CVE-2021-21341: XStream 可能导致拒绝服务。

受影响版本

如果直接使用默认配置,所有直至并包括 1.4.15 的版本均受影响。遵循建议使用白名单(仅包含最小必需类型)配置 XStream 安全框架的用户不受影响。

描述

在反序列化时,被处理的流包含用于重新创建先前写入对象的类型信息。因此,XStream 会基于这些类型信息创建新实例。攻击者可以操纵被处理的输入流,并替换或注入一个被操纵的 ByteArrayInputStream(或其派生类),从而导致无限循环,造成拒绝服务。

Docker 演示

cve-2021-21341

搭建 XStream 环境并执行 PoC

  1. 从 Dockerfile 构建镜像(搭建)
root@kitploit:~
$ docker build -t cve-2021-21341 .
  1. 在新容器中运行 java -jar xstream(执行 PoC)
root@kitploit:~
$ docker run -it --rm cve-2021-21341

输出

root@kitploit:~
Security framework of XStream not explicitly initialized, using predefined black list on your own risk.

(never end)

解决方案

  • 将 xstream 版本更新到 1.4.16 或更高版本

将 pom.xml 修改为以下内容

root@kitploit:~
        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>1.4.16</version>
        </dependency>
  • 使用 XStream 的安全框架

添加 NoTypePermission.NONE

root@kitploit:~
import com.thoughtworks.xstream.security.NoTypePermission; // Add

XStream xstream = new XStream();
xstream.addPermission(NoTypePermission.NONE); // Add
xstream.fromXML(xml);
下载工具