Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/filipemendonca1978/cve-2026-21045_and_cve-2026-21048
Androidセキュリティ脆弱性分析エクスプロイトリバースエンジニアリングファジングモバイルセキュリティ論文と研究学習と教育バイナリエクスプロイト

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubfilipemendonca1978/cve-2026-21045_and_cve-2026-21048

CVE-2026-21045_and_CVE-2026-21048

Samsung libimagecodec.quram.so の OOB Write PoC

リポジトリを見る
11ヶ月前未レビュー

CVE-2026-21045 & CVE-2026-21048 — Samsung libimagecodec.quram.so OOB 書き込み PoC

概要

このリポジトリには、Samsung Android デバイスで使用されている Quramsoft 画像コーデックライブラリ (libimagecodec.quram.so) における領域外 (OOB) 書き込みの脆弱性を示す概念実証 (PoC) ファイルが含まれています。

CVE形式タイプ深刻度CVSS 4.0パッチ適用リリース
CVE-2026-21045TIFF領域外書き込み (CWE-787)緊急8.4SMR Jul-2026 Release 1
CVE-2026-21048DNG領域外書き込み (CWE-787)高—SMR Jul-2026 Release 1

影響を受けるデバイス

  • Android 14、15、16 を実行している Samsung Galaxy デバイス
  • 具体的には: Galaxy Z Fold 7、Flip 7、S シリーズ、A シリーズ (例: A17)
  • セキュリティパッチが SMR Jul-2026 Release 1 より前のデバイス
  • ライブラリ: /system/lib64/libimagecodec.quram.so

脆弱性のメカニズム

根本原因

この脆弱性は、IFD (Image File Directory) タグ解析関数 WINKJ_ReadExifField (64 ビットバイナリ内オフセット 0x13a0a8) に存在します。この関数は個々の TIFF/EXIF IFD エントリを処理します。各エントリは 12 バイトの構造体です:

root@kitploit:~
Offset  Size  Field
------  ----  -----
0       2     Tag ID
2       2     Data Type (1=BYTE, 2=ASCII, 3=SHORT, 4=LONG, 5=RATIONAL, etc.)
4       4     Count (number of values)
8       4     Value / Offset to data

count * element_size > 4 の場合、4 バイトの Value フィールドはファイルオフセット (実際のデータが存在する場所を指す) として扱われます。その後、コードはアドレス 0x13a258 で境界チェックを実行します:

root@kitploit:~
add w8, w6, w7    ; w8 = value_offset + (count * element_size)  [32-bit]
cmp w8, w5        ; compare against remaining buffer size
b.ls ok           ; if w8 <= buffer_size, proceed

整数オーバーフローによるバイパス

この脆弱性は、加算における32 ビット符号なし整数オーバーフローです。攻撃者が value_offset と count * element_size を、それらの合計が小さな値にラップアラウンドするように細工した場合、base + value_offset での実際のメモリアクセスが範囲外になるにもかかわらず、チェックは通過します。

例 (UNDEFINED 型、element_size = 1):

32 ビット加算 0x17FFF + 0xFFFF0001 = 0x10008000 は 0x8000 に切り詰められ、これは buffer_size と等しくなります。チェックは通過しますが、実際のデータポインタ (base + 0x17FFF) は、割り当てられたバッファの終端から 0x7FFF バイト先に位置します。

脆弱なコードパス

root@kitploit:~
TIFFReadDirectory / WINKJ_ReadTiffInfo
  └─> WINKJ_ReadTiffIFDInfo   (allocates IFD buffer)
       └─> for each IFD entry:
            └─> WINKJ_ReadExifField   (parses entry, reads value data)
                 └─> Switch on Data Type (jump table at 0x13a15c)
                      ├─ Type 0 (BYTE/ASCII/UNDEFINED):  handler at 0x13a15c
                      ├─ Type 3/8 (SHORT/SSHORT):       handler at 0x13a1d0
                      ├─ Type 4/9/11 (LONG/SLONG/FLOAT): handler at 0x13a17c
                      └─ Type 5/10/12 (RATIONAL/SRATIONAL/DOUBLE): handler at 0x13a1ac
                      Each handler -> reads data at offset -> bounds check at 0x13a258

PoC ファイル

ファイル説明
cve-2026-21045_tiff_oob_poc.pypoc_crash.tif を生成 — 細工された count/offset を持つ ASCII タグを介して OOB 書き込みを引き起こす不正な TIFF
cve-2026-21048_dng_oob_poc.pypoc_crash.dng を生成 — 細工された count/offset を持つ UNDEFINED タグを介して OOB 書き込みを引き起こす不正な DNG

使用方法

root@kitploit:~
# Generate TIFF PoC
python3 cve-2026-21045_tiff_oob_poc.py -o payload.tif

# Generate DNG PoC
python3 cve-2026-21048_dng_oob_poc.py -o payload.dng

# Transfer to device and trigger (e.g., via Gallery/MMS)
adb push payload.tif /sdcard/Download/
adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Download/payload.tif -t image/tiff

期待される動作

パッチ未適用デバイス (セキュリティパッチ < 2026 年 7 月) で、Samsung Gallery (または Quram デコーダを使用する任意のアプリ) で細工された TIFF/DNG ファイルを開くと、ヒープメモリ破壊が発生し、以下につながる可能性があります:

  • アプリケーションのクラッシュ (SIGSEGV/SIGABRT)
  • ヒープへの領域外書き込み
  • 特定のヒープレイアウト下では: 任意のコード実行の可能性

パッチ適用済みデバイス (SMR Jul-2026+) では、画像は無効として拒否されるか、安全に処理されます。完全にパッチが適用されたデバイスでのクラッシュは、別の未パッチの問題を示している可能性があります。

バイナリ解析の詳細

ライブラリ情報

root@kitploit:~
File:   libimagecodec.quram.so (64-bit)
SHA256: (verify against your copy)
NDK:    r23c (Android 21)
Built:  2021-12-31 (placeholder date)
Soname: libimagecodec.quram.so

主要関数

ディスパッチテーブル (タグタイプ → ハンドラ)

WINKJ_ReadExifField から抽出:

element_size = 1 のすべてのタイプ (BYTE、ASCII、UNDEFINED) は同じハンドラを共有し、整数オーバーフローによるバイパスに対して同様に脆弱です。

関連 CVE

免責事項

これらの概念実証は、教育およびセキュリティ研究目的のみで提供されます。これらは、ユーザーと開発者がリスクを理解できるよう、脆弱性のメカニズムを実証するものです。所有していないシステム、またはテストする明示的な許可を得ていないシステムに対しては使用しないでください。

参照

  • https://nvd.nist.gov/vuln/detail/CVE-2026-21045
  • https://nvd.nist.gov/vuln/detail/CVE-2026-21048
  • https://security.samsungmobile.com/securityUpdate.smsb
  • https://gitlab.com/libtiff/libtiff/-/releases/v4.6.0
ツールをダウンロード
フィールド値 (16 進)10 進
count0xFFFF00014,294,901,761
element_size11
count * element_size0xFFFF0001 ≡ -65535 (mod 2³²)4,294,901,761
value_offset0x00017FFF98,303
value_offset + count*size0x00008000 (オーバーフロー!)32,768
buffer_size0x0000800032,768
チェック結果: 0x8000 <= 0x8000✅ 通過—
実際のメモリアクセス: base + 0x17FFFバッファを 0x7FFF バイト超過❌ 範囲外
関数アドレス (64 ビット)サイズ目的
WINKJ_ReadExifField0x13a0a8912個々の IFD エントリを解析 (脆弱)
WINKJ_ReadTiffIFDInfo0x139d28896すべての IFD エントリを読み取る
WINKJ_ReadTiffInfo0x139ad4596高水準 TIFF 情報パーサ
WINKJ_GetTiffInfo0x1393fc1752TIFF 解析のメインエントリポイント
decodeTIFF0x1a2adc580libtiff 経由で TIFF 画像をデコード
getTIFFImageInfo0x1a2d20508TIFF 画像のメタデータを取得
copySubImageBuffer0x0b2824324サブイメージ領域をコピー
TIFFReadDirectory0x1aac785896libtiff 4.6.0 ディレクトリリーダ
_TIFFMultiply320x1a2f1c56安全な 32 ビット乗算チェック
_TIFFMultiply640x1a2f5848安全な 64 ビット乗算チェック
タイプ名前要素サイズハンドラアドレス
1BYTE10x13a15c
2ASCII10x13a15c
3SHORT20x13a1d0
4LONG40x13a17c
5RATIONAL80x13a1ac
6SBYTE10x13a15c
7UNDEFINED10x13a15c
8SSHORT20x13a1d0
9SLONG40x13a17c
10SRATIONAL80x13a1ac
11FLOAT40x13a17c
12DOUBLE80x13a1ac
CVE説明ステータス
CVE-2025-58477libimagecodec.quram.so における IFD タグ解析での OOB 書き込み (SMR Dec-2025)✅ パッチ済み
CVE-2026-20973libimagecodec.quram.so における OOB 読み取り (SMR Jan-2026)✅ パッチ済み
CVE-2026-21045libimagecodec.media.quram.so における TIFF 解析での OOB 書き込み (SMR Jul-2026)⚠️ 私の環境では未パッチ
CVE-2026-21048libimagecodec.media.quram.so における DNG 解析での OOB 書き込み (SMR Jul-2026)⚠️ 私の環境では未パッチ
CVE-2026-4775libtiff 4.6.0 putcontig8bitYCbCr44tile での符号付き整数オーバーフロー⚠️ 私の環境では未パッチ
CVE-2024-7006libtiff tif_dirinfo.c での NULL ポインタ参照✅ 4.6.1 で修正済み