Jenkinsに深刻なデシリアライズ脆弱性、コントローラー上でコード実行が可能に

Jenkinsに存在する深刻な脆弱性CVE-2026-70426により、攻撃者がプラットフォームのRemotingライブラリ内のデシリアライズ保護を回避し、Jenkinsコントローラー上で任意のコードを実行できる可能性があることが分かりました。

Hacking& Cracking

SECURITY-3911として識別されているこの脆弱性は、エージェントがRemoting経由でシリアル化されたJavaオブジェクトを通じてコントローラーと通信するJenkins環境(通常はagent.jarまたはremoting.jarとして展開)に影響します。

Javaのシリアライズ機構は、エージェントシステムと中央コントローラー間でオブジェクトをやり取りするために使用されます。しかし、信頼できないクラスがデシリアライズされる場合、この設計はリスクをもたらす可能性があります。

Jenkinsの深刻なデシリアライズ脆弱性

Jenkinsはこのリスクを軽減するためJEP-200クラスフィルタを導入し、コントローラーがRemotingチャネル経由でオブジェクトを受信する際にデシリアライズ可能なJavaクラスを制限していました。

しかし研究者たちは、Remotingのデシリアライズ実装におけるフォールバックパスを通じて読み込まれるクラスに対しては、このフィルタが適用されていないことを発見しました。

この脆弱性は、Remotingバージョン3384.v60d89463d9e0以前(バージョン3355.3357.v931d3c992987を除く)に影響します。脆弱なRemotingビルドは、Jenkins 2.575以前およびJenkins LTS 2.568.1以前に含まれています。

攻撃者は、侵害されたJenkinsエージェント、エージェント上で既に実行されている悪意あるコード、あるいはAgent/Connect権限を持つアカウントを通じてこの問題を悪用できる可能性があります。悪用に成功すると、攻撃者はJEP-200デシリアライズフィルタを回避し、Jenkinsコントローラー上でコードを実行できる恐れがあります。

この問題には「Critical(深刻)」のCVSS評価が付与されています。公開された評価ベクトルは、ネットワーク経由での到達可能性、権限やユーザー操作を必要としないこと、そして機密性・完全性・可用性への潜在的な影響を示しています。

攻撃の複雑度は「高」と評価されていますが、コントローラーの侵害に成功すれば、認証情報、パイプラインのシークレット、ソースコード、ビルド成果物、さらにはCI/CD環境全体が露呈する可能性があります。

このデシリアライズ回避が影響するのは、Jenkinsコアのクラスパス上で利用可能なクラス(Jenkins自体にバンドルされているクラスとJavaプラットフォームが提供するクラスの両方を含む)に限られます。

重要な点として、Jenkinsプラグイン内にパッケージ化された依存関係はこの脆弱なフォールバックデシリアライズパスの影響を受けず、この仕組みを通じてデシリアライズされることはありません。

この制約により悪用可能なガジェットチェーンの範囲は狭まる可能性がありますが、脆弱なコアクラスやJavaプラットフォームのクラスが存在する環境では、コントローラー上でのコード実行リスクが完全になくなるわけではありません。

Jenkinsはこの脆弱性に対処し、Jenkins 2.576およびJenkins LTS 2.568.2で修正しました。更新されたRemotingライブラリでは、これまで保護されていなかったフォールバック型クラス解決パスにもJEP-200クラスフィルタが適用されるようになりました。

組織は、Jenkinsコントローラーおよび関連するRemotingコンポーネントを速やかに修正版へアップグレードすべきです。セキュリティチームはエージェントのアクセス権限を見直し、不要なAgent/Connect権限を削除するとともに、信頼できないワークロードが接続済みエージェント上で実行可能かどうかを調査する必要があります。

Securitytraining courses

直ちにアップデートできない環境向けに、Jenkinsは SECURITY-3911および関連する問題に対する回避策リポジトリを公開しています。

管理者は、文書化された緩和策を適用し、コントローラーおよびエージェントのログで異常なRemoting活動を監視し、侵害の可能性があるエージェントをJenkinsコントローラーへの直接的なリスクとして扱う必要があります。

この脆弱性は、欧州委員会が後援するJenkins Bug Bounty Programを通じて報告されました。

フィッシングやマルウェアが貴社を侵害する前に阻止しましょう。 世界15,000のSOCからのライブインテリジェンスを統合

翻訳元: https://gbhackers.com/critical-jenkins-deserialization-flaw/

ソース: gbhackers.com