FreeBSD: libX11 -- 複数の脆弱性(fe99d3ca-a63a-11e8-a7c6-54e1ad3d6335)

critical Nessus プラグイン ID 112074

Language:

概要

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

説明

freedesktop.orgプロジェクトによる報告:

関数XGetFontPath、XListExtensions、およびXListFontsは、悪意のあるサーバー応答のoff-by-oneオーバーライドに対して脆弱です。
サーバー応答は、長さバイトとそれに続く実際の文字列で構成されるチャンクで構成されます。これは、NUL終端ではありません。応答の解析中、長さバイトは「\0」でオーバーライドされるため、メモリ領域は後でC文字列のストレージとして使用できます。最後の文字列をNUL終端できるようにするために、バッファは追加のスペースで予約されています。境界チェックのために、chが最初に指し示すバッファの終端を指す変数chend(end of ch)が導入されました。残念ながら、「the end of ch」の処理に違いがあります。chendは、書き込まれてはならない最初のバイトを指し示していますが、forループは、書き込み可能な最後のバイトとしてchendを使用します。このため、off-by-oneが発生する可能性があります。

長さの値は、多くのシステムで符号付きcharとして解釈されます(charのデフォルトの符号に依存)。これにより、割り当てられたストレージの前で最大128バイトの境界外書き込みが発生する可能性がありますが、NULバイトに制限されます。

最初の文字列でさえも転送済みバイトをオーバーフローさせる応答をサーバーが送信すると、list[0](またはflist[0])がNULLに設定され、カウント0が返されます。結果のリストが後でXFreeExtensionListまたはXFreeFontPathで解放されると、最初のXfree呼び出しがXfree(NULL-1)に変換され、セグメンテーション違反が発生する可能性が高くなります。長さの値を符号なしcharにキャストすると、この問題が修正され、最大255文字の文字列値が許可されます。

ソリューション

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

参考資料

https://lists.x.org/archives/xorg-announce/2018-August/002915.html

http://www.nessus.org/u?3d7f3a46

プラグインの詳細

深刻度: Critical

ID: 112074

ファイル名: freebsd_pkg_fe99d3caa63a11e8a7c654e1ad3d6335.nasl

バージョン: 1.3

タイプ: local

公開日: 2018/8/23

更新日: 2018/11/10

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

基本値: 7.5

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

CVSS v3

リスクファクター: Critical

基本値: 9.8

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

脆弱性情報

CPE: p-cpe:/a:freebsd:freebsd:libx11, cpe:/o:freebsd:freebsd

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

パッチ公開日: 2018/8/22

脆弱性公開日: 2018/8/21

参照情報

CVE: CVE-2018-14598, CVE-2018-14599, CVE-2018-14600