プラットフォーム
java
コンポーネント
gerrit
修正版
2.15.22
2.16.26
3.0.16
3.1.12
3.2.7
3.3.2
CVE-2021-22553は、Gerritにおけるヒープメモリの枯渇を引き起こす脆弱性です。Git操作がJettyを経由する際に、セッションが作成されますが、有効期限が設定されておらず、自動的に破棄されないため、複数のGit操作を繰り返すことでサーバーのリソースを消費し、最終的にサービス停止につながる可能性があります。この脆弱性はGerrit 3.3.2以前のバージョンに影響を与え、バージョン3.3.2へのアップグレードによって修正されています。
この脆弱性を悪用されると、攻撃者はGerritサーバー上で大量のGit操作を実行することで、意図的にヒープメモリを枯渇させることができます。これにより、Gerritサーバーが応答しなくなり、開発者によるコードレビューやバージョン管理作業が中断される可能性があります。攻撃者は、内部ネットワークにアクセスできる場合、他のシステムへの攻撃の足がかりとしてGerritサーバーを利用する可能性も考えられます。この脆弱性は、特に大規模な開発チームや、継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインでGerritを使用している組織にとって深刻な脅威となります。
この脆弱性は、CISA KEVカタログには登録されていません。公的なPoCは確認されていませんが、メモリ枯渇攻撃は一般的な攻撃手法であり、悪用される可能性は否定できません。NVD(National Vulnerability Database)は2021年2月17日にこの脆弱性を公開しています。
Organizations heavily reliant on Gerrit for code review, particularly those with large development teams or frequent Git activity, are at increased risk. Environments with limited server resources or inadequate monitoring practices are also more vulnerable. Teams using older Gerrit versions without robust session management configurations are particularly exposed.
• java / server:
ps -ef | grep gerrit | grep -v grep | awk '{print $2}' | xargs -I {} jstat -gc {} 2>&1 | grep -i 'HeapUsage' • java / server: Monitor Gerrit's memory usage using tools like JConsole or VisualVM. Look for steadily increasing heap usage without corresponding decreases. • java / server: Check Gerrit's Jetty configuration for session timeout settings. Ensure that session timeouts are properly configured to prevent unbounded session creation. • java / server: Review Gerrit logs for errors related to memory allocation or Jetty session management.
disclosure
エクスプロイト状況
EPSS
0.09% (26% パーセンタイル)
CVSS ベクトル
最も効果的な対策は、Gerritをバージョン3.3.2以降にアップグレードすることです。アップグレードが困難な場合は、一時的な回避策として、Git操作の頻度を制限したり、Gerritサーバーのヒープメモリサイズを増やすことを検討してください。また、WAF(Web Application Firewall)を導入し、異常なGit操作を検知・遮断するルールを設定することも有効です。Gerritのログを監視し、異常なメモリ使用量の増加を検知することも重要です。アップグレード後、Gerritサーバーのメモリ使用量を監視し、正常に動作していることを確認してください。
Gerritをバージョン2.15.22、2.16.26、3.0.16、3.1.12、3.2.7、または3.3.2にアップデートするか、それ以降のバージョンにアップデートしてください。これにより、期限切れのJettyセッションが原因で発生するHeapメモリの枯渇の問題が修正されます。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2021-22553は、GerritのGit操作におけるセッション管理の不備により、サーバーのヒープメモリが枯渇する脆弱性です。
はい、Gerritのバージョンが3.3.2以前の場合、この脆弱性の影響を受けます。
Gerritをバージョン3.3.2以降にアップグレードしてください。
公的なPoCは確認されていませんが、メモリ枯渇攻撃は一般的な攻撃手法であり、悪用される可能性は否定できません。
Gerritの公式アドバイザリは、Gerritのウェブサイトで確認できます。
pom.xml ファイルをアップロードすると、影響の有無を即座にお知らせします。