Solaraは、JupyterやWebアプリケーションを拡張するためのPython製フレームワークです。バージョン1.35.1以前のSolaraには、ローカルファイルインクルージョン(LFI)の脆弱性が存在します。この脆弱性を悪用されると、攻撃者はファイルシステムから任意のファイルを読み取ることが可能となり、機密情報の漏洩につながる可能性があります。バージョン1.35.1でこの脆弱性は修正されており、アップデートを推奨します。
このLFI脆弱性は、攻撃者がSolaraアプリケーションが提供する静的ファイルを処理する際に、URIフラグメントを操作することで発生します。攻撃者はディレクトリトラバーサルシーケンス(例: '../')をURIフラグメントに埋め込むことで、本来アクセスできないファイルシステム上のファイルにアクセスし、その内容を読み取ることができます。これにより、設定ファイル、ソースコード、機密データなどが漏洩する可能性があります。攻撃者は、この脆弱性を利用して、システムへのさらなる侵入を試みることも考えられます。
この脆弱性は、CISA KEVカタログに登録されている可能性は低いですが、公開されている情報に基づき、攻撃者による悪用リスクは存在します。現時点で公開されているPoCは確認されていませんが、LFI脆弱性は比較的悪用が容易であり、攻撃者によるスキャンや悪用試行が発生する可能性があります。NVD公開日は2024年7月12日です。
Organizations deploying Solara for web applications, particularly those serving sensitive data or running in environments with limited security controls, are at risk. Shared hosting environments where users have the ability to influence URI parameters are also particularly vulnerable.
• python / server:
# Check for vulnerable Solara versions
python -c "import solara; print(solara.__version__)"• generic web:
# Check for URI fragment manipulation attempts in access logs
grep -i '..\/' /var/log/apache2/access.logdisclosure
エクスプロイト状況
EPSS
46.55% (98% パーセンタイル)
CISA SSVC
CVSS ベクトル
この脆弱性への対応策として、まずSolaraをバージョン1.35.1以降にアップデートすることが最も効果的です。アップデートが困難な場合は、Webアプリケーションファイアウォール(WAF)やリバースプロキシを設定し、ディレクトリトラバーサル攻撃を検知・防御するルールを適用することを検討してください。また、Solaraアプリケーションがアクセスできるファイルパスを制限するなどの設定変更も有効です。アップデート後、アプリケーションを再起動し、脆弱性が修正されていることを確認してください。
Actualice la biblioteca Solara a la versión 1.35.1 o superior. Esto corregirá la vulnerabilidad de inclusión de archivos locales. Puede actualizar usando `pip install solara --upgrade`.
脆弱性分析と重要アラートをメールでお届けします。
CVE-2024-39903は、Solaraのバージョン1.35.1以前に存在するローカルファイルインクルージョン(LFI)の脆弱性です。攻撃者はディレクトリトラバーサルシーケンスを利用して、ファイルシステムから任意のファイルを読み取ることが可能です。
Solaraのバージョン1.35.1以前を使用している場合、この脆弱性による影響を受ける可能性があります。攻撃者はファイルシステムから機密情報を読み取る可能性があります。
Solaraをバージョン1.35.1以降にアップデートすることが最も効果的な修正方法です。アップデートが困難な場合は、WAFなどの対策を検討してください。
現時点で公開されているPoCは確認されていませんが、LFI脆弱性は比較的悪用が容易であり、攻撃者による悪用リスクは存在します。
Solaraの公式アドバイザリは、Solaraの公式ウェブサイトまたはGitHubリポジトリで確認できます。
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。