プラットフォーム
python
コンポーネント
streamlit-geospatial
修正版
4.0.1
CVE-2024-41118は、streamlit-geospatialにおけるサーバーサイドリクエストフォージェリ(SSRF)脆弱性です。この脆弱性を悪用されると、攻撃者はアプリケーションを通じて任意のURLにリクエストを送信し、内部リソースへの不正アクセスや、さらなる攻撃への足がかりを得る可能性があります。影響を受けるバージョンはstreamlit-geospatialのc4f81d9616d40c60584e36abb15300853a66e489以前です。最新バージョンへのアップデートでこの脆弱性は修正されています。
このSSRF脆弱性は、攻撃者がstreamlit-geospatialアプリケーションを通じて、本来アクセスできないはずの内部リソースにアクセスすることを可能にします。例えば、内部APIエンドポイントへのリクエスト、クラウドストレージへのアクセス、または他の内部サービスへの攻撃などが考えられます。攻撃者は、これらのリソースから機密情報を窃取したり、システムの設定を変更したり、さらには他のシステムへの攻撃を仕掛けたりする可能性があります。この脆弱性は、特にstreamlit-geospatialが内部ネットワークに接続されている場合、深刻な影響を及ぼす可能性があります。攻撃者は、この脆弱性を利用して、内部ネットワーク全体に攻撃を拡大する可能性があります。
この脆弱性は、CISAのKEV(Known Exploited Vulnerabilities)カタログに掲載されている可能性は現時点ではありません。公開されているPoCは確認されていませんが、SSRF脆弱性は一般的に悪用が容易であり、今後悪用されるリスクがあります。NVD(National Vulnerability Database)は2024年7月26日に公開されました。
Organizations deploying streamlit-geospatial in production environments, particularly those with sensitive internal services or data, are at risk. Shared hosting environments where multiple Streamlit applications share the same server are also at increased risk, as a vulnerability in one application could potentially be exploited to access resources belonging to other applications.
• python: Monitor for requests originating from the Streamlit application to unusual or internal IP addresses. Use Python's logging module to log outbound requests and analyze for suspicious patterns.
import logging
import requests
logging.basicConfig(level=logging.INFO)
def make_request(url):
try:
response = requests.get(url)
logging.info(f'Request to {url} successful. Status code: {response.status_code}')
return response.text
except requests.exceptions.RequestException as e:
logging.error(f'Request to {url} failed: {e}')
return None
# Example usage (replace with your actual Streamlit code)
url = input("Enter URL: ")
make_request(url)• generic web: Examine access and error logs for requests to internal IP addresses or unusual domains originating from the Streamlit application's server. Look for patterns indicative of SSRF attempts. • generic web: Check response headers for unexpected content or redirects that might indicate SSRF exploitation.
disclosure
エクスプロイト状況
EPSS
0.21% (44% パーセンタイル)
CISA SSVC
CVSS ベクトル
この脆弱性への最も効果的な対策は、streamlit-geospatialをバージョンc4f81d9616d40c60584e36abb15300853a66e489以降にアップデートすることです。アップデートがすぐに適用できない場合は、WAF(Web Application Firewall)を使用して、不正なURLリクエストをブロックすることを検討してください。また、streamlit-geospatialアプリケーションがアクセスできるURLの範囲を制限する設定も有効です。アプリケーションのログを監視し、異常なURLリクエストがないか確認することも重要です。アップデート後、アプリケーションを再起動し、SSRF攻撃を試みるリクエストがブロックされていることを確認してください。
streamlit-geospatial ライブラリをバージョン c4f81d9616d40c60584e36abb15300853a66e489 以降にアップデートしてください。これにより、Web Map Service コンポーネントにおけるブラインド SSRF の脆弱性が修正されます。ライブラリは pip パッケージマネージャーを使用してアップデートできます: `pip install streamlit-geospatial==c4f81d9616d40c60584e36abb15300853a66e489`。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2024-41118は、streamlit-geospatialのバージョンc4f81d9616d40c60584e36abb15300853a66e489以前に存在するサーバーサイドリクエストフォージェリ(SSRF)脆弱性です。攻撃者は、この脆弱性を利用して任意のURLにリクエストを送信できます。
streamlit-geospatialのバージョンがc4f81d9616d40c60584e36abb15300853a66e489以前の場合は、この脆弱性の影響を受けています。
streamlit-geospatialをバージョンc4f81d9616d40c60584e36abb15300853a66e489以降にアップデートしてください。
現時点では、積極的に悪用されているという報告はありませんが、SSRF脆弱性は一般的に悪用が容易であり、今後悪用されるリスクがあります。
streamlitの公式アドバイザリは、通常、streamlitのGitHubリポジトリまたは公式ウェブサイトで公開されます。
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。