kdnakt blog

hello there.

今週気になったTLS関連のニュース

2022年10月31日~11月6日に読んだ中で気になったニュースとメモ書き(TLSらじお第79回の前半用原稿)です。

 

 

[OpenSSL: CVE-2022-3602]

こちらのツイートから。

リンク先はBulletproof TLS Newletterの最新号。月末なのに出ないな、と思っていたらOpenSSLの件をトップに持ってきた。
OpenSSLのサイトでの脆弱性報告はこちら。

https://www.openssl.org/news/secadv/20221101.txt

 

国際化メールアドレスの処理に問題があるらしい、ということはなんとなく分かったが、X.509証明書のどこにメールアドレスが入るんだっけ?と思っていたらRFC 8389なる仕様があるらしい。

RFCはこちら。

datatracker.ietf.org

X.509証明書の仕様を定義したRFC 5280では、subjectAltNameの種類に、dNSNameやiPAddressなどと合わせて、rfc822Nameを利用できる。RFC 822はメールアドレスに関する最初期の仕様である。
RFC 5280では、メールアドレスに関する最新の仕様であるRFC 5321で定義されたASCII文字の一部しかrfc822Nameとして利用できなかった。
これをRFC 6531で定義された国際化メールアドレスも利用できるようにしたのが上述のRFC 8398ということらしい。

知らない仕様がいっぱいある...。

影響を受けるソフトウェアも早速まとまっているらしい。

github.com

Alpine LinuxとかAmazon Linuxに混じってJira Cloud、Bitbucket Cloud、ClamAV、Node.jsやPHPも影響を受けている。
ただ、OpenSSLから派生したLibreSSLとかBoringSSLは影響を受けないらしい。

比較的新しめのOpenSSL3.0.X系ということであまり影響を受けないかな?と思っていたら意外と多いらしい。

本件の修正で、OpenSSLのテストコードに金八先生などの文字列が入っているが、これはRFC 3492のサンプルとのこと。2003年3月のRFCなので平成ど真ん中という感じ。
RFC 3492: Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)

libfuzzerとかでランダムな値でファジング検査すればすぐ見つかるのに、という指摘もあった。テスト観点として大事だし、C言語で仕事することがあれば忘れないようにしたい...。

 

[Windows CryptoAPI: CVE-2022-34689]

こちらのツイートから。

OpenSSLのニュースよりもっと大事な話があるけどみんな触れてない件があるらしい。詳細はこちらのツイートから。

リンク先はこちら。

msrc.microsoft.com

 

アメリカのNSAとイギリスのGCHQから報告されたWindows CryptoAPIの脆弱性があり、既存の公開 x.509 証明書を操作して身元を偽装し、認証やコード署名などを実行できるらしい。重大度はCriticalになっているものの、詳細は語られていない。
8月に修正パッチがリリースされているものの、情報の公開は10月に入ってから、というのは、攻撃の容易性を考慮してパッチが行き渡るのを待つとか、何か目的があったのだろうか...。

 

[その他のニュース]

▼Crt.shのDB直接アクセス

こちらのツイートから。

Crt.shのWebサイト上ではSANのotherNameを検索することはできないが、DBに直接アクセスすればできる、とのこと。そういう意味では便利なのか?

実際に接続してクエリを投げてみたが、コネクションが頻繁に切れるし、使い勝手はあまり良くなさそう...。
とりあえずOpenSSLの脆弱性で話題になっているSAN=rfc822Nameの証明書を探してみたけど、やはり普通にASCIIのメールアドレスだった(全部調べたわけじゃないけど)。

 

ErlangのkTLS対応

こちらのツイートから。

やっぱりカーネルにすると速くなるのかな...。

 

[まとめ]

OpenSSLの件、事前情報ほどやばくなくてよかった。