FreeBSD:py-svglib -- 複数の脆弱性(bdac753c-d1d5-11f1-985e-901b0edee044)

critical Nessus プラグイン ID 372882

Language:

概要

リモートの FreeBSD ホストに 1 つ以上のセキュリティ関連の更新プログラムがありません。

説明

リモートホストにインストールされている FreeBSD のバージョンは、テスト済みバージョンより前です。したがって、bdac753c-d1d5-11f1-985e-901b0edee044 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

Dinu Gherman 氏による報告:
svglib.utils.split_arc_values() の SVG <path> 楕円弧パーサーは、複数の空の一致可能なフロートグループと 2 つの必須フラググループを持つ正規表現を構築し、それを re.finditer() で実行します。
桁数の長い実行である arc 引数 (フラグが予想される場合は 0/1 を含まない) は、致命的なバックトラッキングをトリガーし、そのコストは指数関数的に増加します (~4 桁の追加あたり ~2 倍)。svg2rlg / svg2pdf を介して信頼できない SVG から到達可能。
svg2rlg() は、拡張の総数に制限なし <use> 参照を拡張します。ダイレクトサイクルのみが拒否されます(CircularRefError)。
そのような別のグループを指す N 個の <use> 要素を含むグループは、ネストレベルごとに作業に N を掛けます。したがって、約 1.4 KB の SVG によって svglib は 100,000 を超えるノードを複製およびレンダリングし、数十秒の CPU 時間と数百 MiB のメモリを消費します。レベルを追加するたびに、ドキュメントに約 245 バイトが追加され、時間に ~10 が掛けられます。

これは、XML billion laughs 攻撃(librsvg CVE-2019-20446と同じクラス)の SVG <use> バリアントです。
svglib は、SVG を ReportLab 描画 / PDF / PNG (svg2rlg) に変換します。
または要素をレンダリングするとき、SvgRenderer.xlink_href_target()は要素のxlink:href / hrefをローカルファイルパスに解決し、そのファイルを出力に埋め込みます。この解決策は、攻撃者がコントロールする参照を os.path.join() を使用して SVG 自身のディレクトリに結合し、包含チェックを実行しません。os.path.join(base, iri) は iri が絶対である瞬間に base を破棄し、 ..
セグメントがベースより上で崩壊し、細工された SVG はレンダリングプロセスが読み取ることができる任意のファイルに名前を付けることができます。そのファイルがラスター画像(任意の拡張子)としてデコードされると、そのバイトは逐語的に出力にコピーされます。XML 解析可能.svg、レンダリングされたコンテンツ (テキストを含む) がインライン化されている場合。その結果、信頼できない SVG をファイルパスから変換するサービスに対して、任意のローカルファイルが読み取られます。これは、2020 XXE(CVE-2020-10799、 0.9.4で修正)とは異なるクラスおよび異なるコードパスです。

Tenable は、前述の記述ブロックを FreeBSD セキュリティアドバイザリから直接抽出しています。

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。

ソリューション

影響を受けるパッケージを更新してください。

参考資料

http://www.nessus.org/u?190e31c2

http://www.nessus.org/u?ad9fc462

http://www.nessus.org/u?bbd72c70

http://www.nessus.org/u?dd9fc5a5

プラグインの詳細

深刻度: Critical

ID: 372882

ファイル名: freebsd_pkg_bdac753cd1d511f1985e901b0edee044.nasl

バージョン: 1.1

タイプ: Local

公開日: 2026/10/28

更新日: 2026/10/28

サポートされているセンサー: Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 4.9

パーセンタイル: 57.15

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 5.9

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS スコアのソース: CVE-2020-10799

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 8.8

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

現状ベクトル: CVSS:3.0/E:P/RL:O/RC:C

CVSS v4

リスクファクター: Critical

Base Score: 9.3

Threat Score: 8.9

Threat Vector: CVSS:4.0/E:P

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

脆弱性情報

CPE: cpe:/o:freebsd:freebsd, p-cpe:/a:freebsd:freebsd:py311-svglib, p-cpe:/a:freebsd:freebsd:py312-svglib, p-cpe:/a:freebsd:freebsd:py313-svglib, p-cpe:/a:freebsd:freebsd:py313t-svglib, p-cpe:/a:freebsd:freebsd:py314-svglib, p-cpe:/a:freebsd:freebsd:py314t-svglib, p-cpe:/a:freebsd:freebsd:py315-svglib

必要な KB アイテム: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2026/10/27

脆弱性公開日: 2020/2/2

参照情報

CVE: CVE-2019-20446, CVE-2020-10799