Cisco Talos は先日、Prusa Research 社の PrusaSlicer で、境界外書き込みの脆弱性を 2 件発見しました。Prusa Slicer は、Slic3r から派生したオープンソースの 3D プリンタ スライシング プログラムです。さまざまな 3D モデルファイル形式を変換する機能や、3D プリンタで読み取り可能な Gcode を出力する機能を備えています。細工された OBJ ファイルを媒介としてこのソフトウェアの 2 つの機能がエクスプロイトされると、境界外状態やバッファオーバーフローが発生し、標的とされたマシン上でコードを実行できるようになります。
Cisco Talos は情報開示方針に従い Prusa Research 社と協力してこれらの脆弱性を開示し、アップデートが利用可能であることを確認しています。
脆弱性の詳細
Prusa Research PrusaSlicer の Obj.cpp load_obj() 機能に起因する境界外書き込みの脆弱性(TALOS-2020-1219/CVE-2020-28595)
Prusa Research PrusaSlicer 2.2.0 および Master(コミット 4b040b856)の Obj.cpp load_obj() 機能には、境界外書き込みの脆弱性が存在します。細工された obj ファイルが媒介となり、任意のコードを実行される危険性があります。攻撃者は、悪意のあるファイルを提供することによってこの脆弱性をエクスプロイトできます。
脆弱性のアドバイザリ全文はこちらをご覧ください。
Prusa Research PrusaSlicer の Objparser::objparse() 機能に起因するスタックベースのバッファオーバーフローの脆弱性(TALOS-2020-1220/CVE-2020-28596)
Prusa Research PrusaSlicer 2.2.0 および Master(コミット 4b040b856)の Objparser::objparse() 機能には、スタックベースのバッファオーバーフローの脆弱性が存在します。細工された obj ファイルが媒介となり、任意のコードを実行される危険性があります。攻撃者は、悪意のあるファイルを提供することによってこの脆弱性をエクスプロイトできます。
脆弱性のアドバイザリ全文はこちらをご覧ください。
脆弱性が確認されたバージョン
Talos は検証により、Prusa Research PrusaSlicer バージョン 2.2.0 および PrusaSlicer Master コミット 4b040b856 がこれらの脆弱性の影響を受けることを確認済みです。
カバレッジ
脆弱性のエクスプロイトは、以下の SNORTⓇ ルールで検出できます。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center または Snort.org を参照してください。
Snort ルール:56727、56728
本稿は 2021 年 04 月 21 日に Talos Group のブログに投稿された「Vulnerability Spotlight: Code execution vulnerabilities in PrusaSlicer」の抄訳です。