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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-43300 — This is POC for IOS 0click CVE-2025-43300 | Kitploit
工具/GitHubGitHub/hunters-sec/cve-2025-43300
Embedded Systems SecurityiOS SecurityMemory ForensicsVulnerability AnalysisExploitationFuzzingMobile SecurityPapers & ResearchLearning & EducationBinary Exploitation
GitHubhunters-sec/cve-2025-43300

CVE-2025-43300

116290年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

This is POC for IOS 0click CVE-2025-43300

查看仓库

CVE-2025-43300:iOS/macOS DNG图像处理内存损坏

概述

CVE-2025-43300 是苹果图像处理框架中的一个关键内存损坏漏洞,影响 iOS 18.6.1 和 macOS 系统。该漏洞存在于 RawCamera.bundle 中的 JPEG 无损解压缩代码中,由 DNG 文件中 TIFF 元数据与 JPEG 流参数之间的不一致性触发。

漏洞详情

根本原因

漏洞源于 DNG(数字负片)文件中的元数据/流不一致:

  1. TIFF 头中的 SamplesPerPixel 元数据指示预期的颜色分量
  2. JPEG 无损流中的 SOF3 分量计数指定实际数据分量
  3. 当这些值不同时,分配和处理会变得不一致

内存损坏流程

root@kitploit:~
1. 解析器从 TIFF 元数据读取 SamplesPerPixel(例如 2 个分量)
2. 系统分配缓冲区:宽 × 高 × 2 个分量
3. JPEG 解码器读取 SOF3 分量计数(例如 1 个分量)
4. 解码器基于不一致的假设写入数据
5. 当写入的数据超过分配量时发生缓冲区溢出

攻击向量

  • 零点击漏洞:无需用户交互
  • 自动处理:通过查看、导入或接收 DNG 文件触发
  • 跨平台影响:影响 iOS 和 macOS 系统
  • 内存损坏:可能导致应用程序崩溃或潜在代码执行

工具概述

本仓库包含两个用于分析并复现 CVE-2025-43300 的 Python 工具:

1. DNG 漏洞分析器 (dng_vulnerability_analyzer.py)

用途:分析 DNG 文件结构以识别漏洞条件

主要功能:

  • 解析 TIFF/DNG 文件结构,包括 IFD 和 SubIFD
  • 定位 SamplesPerPixel 元数据标签
  • 识别 JPEG 无损 SOF3 标记和分量计数
  • 检测元数据/流不一致
  • 报告用于修改的确切字节偏移

用法:

root@kitploit:~
python3 dng_vulnerability_analyzer.py <dng_file>

输出:

  • 文件结构分析
  • 元数据标签位置和值
  • JPEG 流分量信息
  • 漏洞评估
  • 用于创建 POC 的特定偏移

2. 安全十六进制修改器 (hex_modifier.py)

用途:通过安全修改特定字节来创建概念验证文件

主要功能:

  • 在修改前验证预期的字节值
  • 创建用于文件跟踪的 SHA256 哈希
  • 生成二进制差异报告
  • 实现安全检查以防止意外损坏
  • 支持手动和自动化 POC 创建

用法:

root@kitploit:~
# 使用已知漏洞偏移创建 POC
python3 hex_modifier.py create-poc <input.dng>

# 手动字节修改
python3 hex_modifier.py modify <input.dng> <offset> <old_byte> <new_byte> <output.dng>

# 生成差异报告
python3 hex_modifier.py diff <original.dng> <modified.dng>

POC 创建过程

步骤 1:分析目标文件

root@kitploit:~
python3 dng_vulnerability_analyzer.py IMGP0847.DNG

这将识别:

  • SamplesPerPixel 元数据位置
  • JPEG SOF3 分量计数位置
  • 当前值和建议的修改

步骤 2:创建易受攻击的样本

POC 需要两个特定的字节修改:

  1. 增加 SamplesPerPixel 元数据(通常从 1 改为 2)
  2. 减少 SOF3 分量计数(通常从 2 改为 1)
root@kitploit:~
python3 hex_modifier.py create-poc IMGP0847.DNG

步骤 3:验证 POC

root@kitploit:~
python3 dng_vulnerability_analyzer.py vuln_poc_IMGP0847.dng

确认存在不一致性并且漏洞被触发。

POC 为何有效

技术机制

  1. 分配阶段:

    • 图像解析器读取 SamplesPerPixel = 2
    • 为 2 个分量的像素数据分配缓冲区
    • 缓冲区大小 = 图像宽 × 图像高 × 2
  2. 处理阶段:

    • JPEG 无损解码器遇到包含 1 个分量的 SOF3
    • 解析逻辑对实际数据大小与预期数据大小产生混淆
    • 尝试基于不一致的假设写入数据
  3. 内存损坏:

    • 写入缓冲区的数据多于最初分配的量
    • 缓冲区溢出破坏相邻内存区域
    • 导致应用程序崩溃或潜在代码执行

文件格式细节

DNG 文件使用 TIFF 容器格式,其中嵌入了 JPEG 无损流:

  • TIFF 元数据描述图像属性和颜色信息
  • JPEG 流包含压缩像素数据
  • 信任关系存在于元数据和流内容之间
  • 验证缺口允许不一致的值到达处理代码

影响评估

严重性:关键

  • CVSS 评分:高(零点击、内存损坏、广泛影响)
  • 受影响系统:iOS 18.6.1,具有类似图像处理的 macOS 系统
  • 攻击向量:网络/本地文件传输
  • 用户交互:无需要
  • 范围:所有处理 DNG 文件的设备

现实场景

  • 包含 DNG 文件的邮件附件
  • AirDrop 传输
  • 云照片同步
  • 摄影师样本的网络下载
  • 消息应用媒体分享

缓解措施与补丁

供应商响应

  • 修复于 iOS 18.6.2:苹果实施了适当的元数据验证
  • macOS 更新:对 macOS 图像处理应用了类似修复
  • 根本原因:在元数据和流参数之间添加了一致性检查

建议的缓解措施

  1. 更新系统:安装 iOS 18.6.2 或更高版本
  2. 输入验证:在自定义解析器中验证元数据一致性
  3. 边界检查:实施严格的缓冲区大小验证
  4. 模糊测试:定期测试文件格式解析器

文件结构与技术细节

TIFF/DNG 结构

root@kitploit:~
TIFF 头 → IFD 链 → SubIFD → 图像数据
├── 元数据标签(SamplesPerPixel、压缩等)
├── JPEG 无损流(SOF3 标记)
└── 像素数据(压缩)

关键漏洞位置

  • SamplesPerPixel 标签:IFD 结构中的 TIFF 标签 0x0115
  • SOF3 标记:JPEG 无损帧起始标记(0xFFC3)
  • 分量计数:SOF3 标记后的字节偏移 +9
  • 关键不匹配:当标签值 ≠ 分量计数时

测试指南

安全测试环境

  1. 使用隔离系统:虚拟机或专用测试设备
  2. 创建快照:测试 POC 文件之前
  3. 监控崩溃:检查系统日志和崩溃报告
  4. 网络隔离:防止意外文件共享

预期行为

  • 易受攻击的系统:应用程序崩溃、内存损坏错误
  • 已打补丁的系统:优雅的错误处理或正确处理
  • 日志指示:内存访问违规、段错误

技术参考

文件格式文档

  • TIFF 6.0 规范:标签结构和 IFD 格式
  • DNG 规范:Adobe 数字负片格式
  • JPEG 标准:无损压缩(ITU-T T.87)

安全研究

  • 内存损坏技术:缓冲区溢出基础知识
  • 文件格式模糊测试:自动化漏洞发现
  • 解析器安全:输入验证最佳实践

免责声明:本研究仅用于教育和防御性安全目的。用户有责任遵守适用的法律和道德准则。

注意

崩溃大约需要 1-3 分钟触发。玩得开心。 对于 POC,你可以运行 open vuln_file.dng 来执行该文件,或者直接预览它,然后它就会被执行。

下载工具