概要
Squirrelのバージョン3.2以前に、squirrel/sqcompiler.cppファイル内のSQCompiler::FactorおよびSQCompiler::UnaryOP関数において、制御不能な再帰処理が発生する脆弱性(CVE-2026-3388)が発見されました。この問題は、特定の操作を行うことで引き起こされると報告されています。
影響範囲
- Squirrelバージョン3.2以前
- 具体的には、
squirrel/sqcompiler.cppファイル内のSQCompiler::FactorおよびSQCompiler::UnaryOP関数が影響を受けるとされています。
想定される影響
- 細工された操作によって、影響を受けるシステム上で制御不能な再帰処理が発生し、サービス停止(DoS)などの状態に陥る可能性があります。
攻撃成立条件・悪用状況
- 攻撃成立条件: 攻撃にはローカルアクセスが必要と報告されています。つまり、攻撃者は脆弱なシステムに直接アクセスできるか、何らかの方法でローカル環境から操作を実行できる必要があります。
- 悪用状況: 既にこの脆弱性を悪用するコードが公開されていると報告されており、実際に悪用されるリスクが存在します。
- プロジェクトの対応: 開発元には早期に問題が報告されていますが、現時点ではまだ対応が確認されていません。
推奨対策
今すぐできる対策(優先度:高)
- 情報収集: Squirrelの公式アナウンスやセキュリティ情報源を継続的に監視し、修正パッチやアップデートがリリースされ次第、速やかに適用を検討してください。
- アクセス制御の強化: 攻撃にはローカルアクセスが必要とされるため、システムへの物理的・論理的なアクセス制御を厳格化し、不正なローカルアクセスを防止することが重要です。
中長期的な対策
- ソフトウェアの棚卸し: 自社システム内でSquirrelを使用している箇所を特定し、影響範囲を正確に把握してください。
- セキュリティパッチ管理プロセスの見直し: 今後の脆弱性対応に備え、セキュリティパッチの適用プロセスを定期的に見直し、迅速な対応が可能な体制を構築してください。
一時的な緩和策
現時点では、具体的な一時的な緩和策は報告されていません。しかし、攻撃にはローカルアクセスが必要であるため、システムへの不必要なローカルアクセスを制限することが、リスクを低減する上で有効な手段となり得ます。
確認方法
- 自社システムでSquirrelを使用している場合、そのバージョンが3.2以前であるかを確認してください。
squirrel/sqcompiler.cppファイルが存在し、当該関数が使用されているかを確認することが、影響の有無を判断する手がかりとなる可能性があります。
参考情報
- CVE-2026-3388 詳細: https://cvefeed.io/vuln/detail/CVE-2026-3388