こんにちはカトーです。コロナ罹患してないのにどうも最近疲れ気味です。
まぁ加齢かなと少し運動をしている日々です。
VS CodeでUNCパスで警告が出るようになる
それはそうとテキストエディタをVSCodeに切り替えてから久しいのですが、開発中の仮想サーバやらファイルサーバからのファイルを開くと
毎回エラーがでるようになりました。YesかAllowで続ければいいのですが、どうも面倒なんので設定を変更。
どうもバージョンVersion 1.78あたりから\\で始まるUNC パスで警告がでるようになった模様。
事情的には、Windows版にはUNCパスを悪用した情報漏洩の脆弱性があり、この脆弱性を悪用すると、NTLM hashesが漏洩する可能性対策との事。
参照:Visual Studio Code の情報漏えいの脆弱性 CVE-2023-29338
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-29338
こちら環境でWindowsServerでのAD管理もしていない状況なので、ひとまずこの警告は回避しておきます。
設定
1.VSCodeの設定を開く(ファイル→ユーザー設定→設定)
2.セキュリティの項目を開く
3.”項目の追加”ボタンを押下
4.ファイルサーバをIPドレスや指定パスを入れてOK
ローカルのセグメントを一気に指定しようかと思いましたが怖いので、ひとまず1つだけ設定。
これで警告がでなくなりました。
そもそもはなんの脆弱性なのか?
そもそもこの対策とはなんなのか確認をしてみる事に。
説明にはVS Code 1.78.0以前のWindows版にはUNCパスを悪用した情報漏洩の脆弱性があり、この脆弱性を悪用すると、NTLMハッシュが漏洩する可能性とのこと。NTLMハッシュはNTLM認証プロトコルで使われる値で、認証に使うパスワードをハッシュ化したもの。 パスワードのハッシュ値が盗まれた場合、認証を突破されてしまう可能性らしいが、WindowsのNTLM認証(v1, v2) で利用されるパスワードのハッシュ、格納先も確認してみる。ひとまずWindowsのパスワード、Active Directory配下出ない場合は、Windows アカウントのパスワードは、 C:\Windows\System32\config\SAM ファイルに暗号化されて格納されている模様。同様にサーバにも格納されているからか。そもそもNTLMの流れを気にしていなかったが、後日ひとまずSMBのシーケンスだけ調べてみるか。
参考:https://github.com/microsoft/vscode/security/advisories/GHSA-mmfh-4pv3-39hr