英語弱者がChatGPTの力を借りて『Do Secure-By-Design Pledges Come With Stickers? - Ivanti Connect Secure RCE (CVE-2025-0282)』を読む
個人的によう分からんと思ったところだけ押さえる。
最初の画像、入力を待つようなプロンプトのあとに414141…と続いている。バッファオーバーフローの余地があることを示している。
"Same drill" から始まる段落
Ivantiは脆弱性の技術的な詳細を公開していない。すでに悪用しているアクターが、再現できないようにするためってこと?
スピルバーグのくだりはよく分からない。茶番だよねってこと?
"Our previously-documented //bin/bash bypass no longer works" のくだり
昨年のIvantiの脆弱性が公開されたときに見つけた、アプライアンスのシェルアクセスを得る手段がもう動かないことを示している。当時の様子はかなりひどい。
What’s this we see?
__int64 __fastcall sub_FFFFFFFF826CC601(unsigned __int8 *a1)
{
__int64 i;
if ( strcmp(a1, "/bin/sh") )
qword_FFFFFFFF827E2030 = a1;
for ( i = 0LL; i != 31; ++i )
qword_FFFFFFFF82212168i = 0LL; return 1LL;
}
is… is that a blacklist on the term /bin/sh?! Really?! What a bizarre check. It’s easily bypassed, of course, by specifying a slightly different (but equivalent) argument (such as //bin//sh).
root\\home\\bin\\webというファイルが、パッチ適用前後で4KB大きくなっていた模様。
stringsコマンドによる可読文字の差分比較では、値のサイズ制限に関するエラーメッセージが追加されていることが分かった。-> バッファオーバーフローに関係ある? "Too late for IFT_PREAUTH_INIT" とは?
(おそらく)diaphoraというツールによるバイナリの差分比較によって、ソースコード中に追加されたことが分かったコメント。 IFTはVPNに関するプロトコルみたい。Mandiantのレポートでも痕跡除去の手順内に「ifttls」というワードが出てくる。
このへんからちょっとよく分かんない。
Openconnectのドキュメント中に「昔のPulse Secureサーバーはクライアント証明書を要求してくるが本来は必要ない。そういうときは古いクライアントを使うといい」みたいな一文がある。Watchtowrはこれに「the worst ‘code smell’」を感じるとのこと。 ようやく直接の原因
pulse.c というファイル中のIF-Tのリクエスト受信処理にバッファオーバーフロー脆弱性がある
clientCapabilities という属性値を受け取る処理にミスコーディングが原因
以下は例のようだが、バッファの長さが256であるところ、strncpy()での入力許容値(第3引数)がclientCapabilitieslength、つまり(おそらく)入力値そのものの長さになってしまっている
code:example.c
...
strncpy(dest, connInfo->clientCapabilities, clientCapabilitiesLength);
悪用を難しくする要因
以降の処理が破綻してsegmentation faultしないようなスタッキングが必要
表現
pledge: 誓い
we spotted a smoking gun: 私たちは決定的な証拠を見つけた
smoking gun:銃口から煙が立ち上っている銃、つまり発砲したことが明白であるということ
Groundhog Day: 同じことが繰り返される状況、変化のない日常
この記事で使用されている「Groundhog Day」という表現は、1993年の映画『Groundhog Day(邦題:恋はデジャ・ブ)』に由来しています。この映画では、主人公が同じ一日を何度も繰り返すというストーリーが展開されます。そのため、「Groundhog Day」は「同じことが繰り返される状況」や「変化のない日常」を指す比喩として使われるようになりました。
この記事では、2024年と2025年に同様の脆弱性がIvanti製品で発見され、同じような対応が繰り返されている状況を皮肉を込めて「Groundhog Day」と表現しています。具体的には、「As an industry, we are on GroundHog day - but let’s call it GroundHog Year, and pretend this isn’t just incredibly depressing.」と述べられており、業界全体が同じ問題を繰り返していることを嘆いています。
2l8: = Too late