JVNTA#97995322
ESC/POSのセキュリティ上の問題について
ESC/POSはセイコーエプソン株式会社により開発されたPOSプリンター等を制御するためのコマンド体系です。ESC/POSは閉域ネットワークでの通信を前提として設計されており、実装に当たっては種々のセキュリティ上の考慮が必要とされます。
ESC/POSコマンドを実装するすべての製品は、本アドバイザリに記載されているセキュリティ上の問題を考慮する必要があります。
セイコーエプソン株式会社製のPOSプリンター製品については、同社が公開している下記の情報を参照してください。
POSプリンターのESC/POSコマンドに対する脆弱性指摘について
ESC/POSはセイコーエプソン株式会社により開発されたPOSプリンター等を制御するためのコマンド体系です。ESC/POSには下記のようなセキュリティ上の問題点が指摘されています。ESC/POSコマンドを実装する製品においては、これらの点に留意した設計・運用を行うことが求められます。
認証メカニズムの欠如(CWE-306)
ESC/POSには、利用者の認証やコマンドの認可を行う仕組みが定義されていません。そのため、ネットワーク経由でESC/POSコマンドを受け付けるプリンターでは、接続に対する制限がなく、ネットワーク上の任意のホストからコマンドを送信することが可能です。
ネットワークアクセス制限の欠如(CWE-284)
ESC/POSは通信の送信元や送信先を制限する仕組みが定義されていません。多くのプリンターは初期状態でTCP 9100番ポートでESC/POS通信を待ち受けており、ネットワーク上の任意のホストからアクセスされる可能性があります。
通信の暗号化の欠如(CWE-319)
ESC/POSによるコマンドの送受信には暗号化や改ざん検知の仕組みがなく、平文による通信が行われます。そのため、同一ネットワーク上の攻撃者による通信内容の窃取や改ざんが行われる可能性があります。
なお、ESC/POSの仕様に起因する脆弱性に対してCVE-2026-23767を採番しました。
ESC/POSコマンドの通信が傍受された場合、その内容を読み取られる可能性があります。また、不正なコマンドを送信された場合、想定外の制御が行われたり機器内の情報が不正に読み取られたりする可能性があります。
ESC/POS仕様の改訂予定はありません。
ESC/POSに準拠した製品の開発者および利用者は、[詳細情報]の内容を踏まえ、製品を利用する環境を適切に保護してください。ESC/POS通信の悪用を防ぐため、以下の対策が推奨されます。
認証およびアクセス制御の導入
ESC/POSを実装する機器において認証・認可機能を実装し、許可されたユーザや機器からのコマンドのみ受け付けるようにすることが推奨されます。また、機器にIPアドレス制限等のアクセス制御機能が搭載されている場合は有効にし、特定のホストからの接続のみ許可するよう設定することが有効です。
ネットワーク公開範囲の制限
機器を利用するネットワーク環境にファイアウォールを設置したりセグメントを分離したりするなど、機器へのアクセスを必要最小限にとどめることを検討してください。前述の通り、ESC/POS通信は多くの場合TCP 9100番ポートを用いて行われます。
通信の暗号化の実施
ESC/POSを実装する機器において、通信の暗号化機能を実装することが推奨されます。また、機器を使用する際は可能な限り信頼できる通信経路を使用し、暗号化されたプロトコルやVPN等のトンネリングを活用することが有効です。
| ベンダ | リンク |
| セイコーエプソン株式会社 | POSプリンターのESC/POSコマンドに対する脆弱性指摘について |
| IP Filtering Configuration Guide(PDF) |
本文書はセイコーエプソン株式会社およびJPCERT/CCが共同で執筆しました。
また、認証メカニズムの欠如に関する問題はMichael Cook(FutileSkills)氏によりセイコーエプソン株式会社へ報告され、JPCERT/CCによる調整が行われました。
