こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
01/17/2021にLibreswanの脆弱性(Important: CVE-2022-23094)が公開されました。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
[過去の関連リンク]
Priority
CVE番号 | 影響するバージョン | 一次情報源 | Priority | CVSS Score / CVSS Vector |
---|---|---|---|---|
CVE-2022-23094 | 4.2 <= Libreswan <= 4.5 | CVE-2022-23094: Malicious IKEv1 packet can cause libreswan to restart | Red Hat: 7.5 Important | Red Hat: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23094
- DoSの可能性
- 4.2から4.5までのLibreswanでは、pluto/idev1.cでオブジェクトが存在するか否かの評価に問題があったことから、リモートの攻撃者が細工したIDEv1パケットによりNULLポインタ被参照を引き起こしデーモンをクラッシュさせるDoSの脆弱性があります。
=============================== Patch for libreswan 4.4 or 4.5: =============================== diff --git a/programs/pluto/ikev1.c b/programs/pluto/ikev1.c index 9f4847874d..f7413f3594 100644 - --- a/programs/pluto/ikev1.c +++ b/programs/pluto/ikev1.c @@ -2103,7 +2103,9 @@ void process_packet_tail(struct msg_digest *md) diag_t d = pbs_in_struct(&md->message_pbs, &isakmp_ignore_desc, &pd->payload, sizeof(pd->payload), &pd->pbs); if (d != NULL) { - - llog_diag(RC_LOG, st->st_logger, &d, "%s", ""); + llog_diag(RC_LOG, + st != NULL ? st->st_logger : md->md_logger, + &d, "%s", ""); LOG_PACKET(RC_LOG_SERIOUS, "%smalformed payload in packet", excuse); @@ -2172,7 +2174,9 @@ void process_packet_tail(struct msg_digest *md) &pd->payload, sizeof(pd->payload), &pd->pbs); if (d != NULL) { - - llog_diag(RC_LOG, st->st_logger, &d, "%s", ""); + llog_diag(RC_LOG, + st != NULL ? st->st_logger : md->md_logger, + &d, "%s", ""); LOG_PACKET(RC_LOG_SERIOUS, "%smalformed payload in packet", excuse);
- 緩和策:IKEv2を使用している場合IKEv1サブシステムはipsec.confの”config setup”箇所でikev1-policy=dropオプションを設定することで無効に出来ます。あるいは、libreswanをコンパイルする際に”USE_IKEv1=false”を指定してください。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS
- Ubuntu
- SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
また、サービスの再起動が発生しますので、pacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
日々のメモを更新しています。
セキュリティ関係ニュースを更新しています。個別で情報出せるようになる前の簡単な情報・リンクなんかも載せていきます。