Ubuntu 16.04 ESM / 18.04 ESM : Node.js 脆弱性 (USN-4796-1)

high Nessus プラグイン ID 183156

概要

リモート Ubuntu ホストに 1 つ以上のセキュリティ更新がありません。

説明

リモートの Ubuntu 16.04 ESM / 18.04 ESM ホストには、USN-4796-1 のアドバイザリに記載された複数の脆弱性の影響を受けるパッケージがインストールされています。

- 0.10.47 より前の Node.js 0.10.x、0.12.16 より前の 0.12.x、4.6.0 より前の 4.x、6.7.0 より前の 6.x の tls.checkServerIdentity 関数は、X.509 証明書の名前フィールドでワイルドカードを適切に処理しないため、中間者攻撃者が細工された証明書を通じてサーバーを偽装する可能性があります。(CVE-2016-7099)

- NAPTR応答の解析に使用されるc-ares関数ares_parse_naptr_reply()は、特別な方法で細工されたDNS応答パケットで渡される場合、指定された入力バッファの外部にあるメモリの読み取りが引き起こされる可能性があります。(CVE-2017-1000381)

- 6.14.4、8.11.4、10.9.0 より前の Node.js のすべてのバージョンでは、UCS-2 エンコーディング (Node.js により [ucs2]、[ucs-2]、[utf16le] および [utf-16le] の名前で認識されるエンコーディング) で使用されると、[Buffer#write()] が悪用され、単一 [バッファ] の境界外で書き込みが行われる可能性があります。バッファの最後から 2 番目の位置から始まる書き込みにより、書き込まれる入力バイトの最大長の計算エラーが発生します。(CVE-2018-12115)

- Node.js: Node.js 6.15.0、8.14.0 より前の全バージョン: HTTP リクエストの分割: HTTP リクエストの [パス] オプションに対して、サニタイズされていないユーザー提供の Unicode データを使用するように Node.js を誘導できる場合、データが提供される可能性があります。このデータ提供により、同じサーバーに対して 2 番目の予期しないユーザー定義の HTTP リクエストが引き起こされます。(CVE-2018-12116)

- Node.js: Node.js 6.15.0、8.14.0、10.14.0、11.3.0 より前の全バージョン: Slowloris HTTP のサービス拒否: 攻撃者は、ヘッダーを非常にゆっくりと送信することで、HTTP または HTTPS の接続と関連するリソースを長期間維持することで、サービス拒否 (DoS) を引き起こす可能性があります。(CVE-2018-12122)

- Node.js: Node.js 6.15.0、8.14.0、10.14.0、11.3.0 より前の全バージョン: javascript プロトコルの URL パーサーにおけるホスト名のなりすまし: Node.js アプリケーションが URL ホスト名を判断するために url.parse() を使用している場合、そのホスト名は大文字と小文字が混在する javascript: (例: javAscript: ) プロトコル (他のプロトコルは影響を受けない) を使用して、なりすましが行なわれる可能性があります。ホスト名に基づいて URL に関するセキュリティの決定が行われた場合、その決定は正しくない可能性があります。(CVE-2018-12123)

- 6.x 以降のNode.js インスペクターは、リモートコードの実行を実行するために悪用される可能性があるDNS再バインド攻撃に脆弱です。同じコンピューター上のWebブラウザ、またはNode.jsプロセスを実行しているコンピューターへのネットワークアクセスがある別のコンピューターで開いている悪意のあるWebサイトから、攻撃が可能です。悪意のあるWebサイトがDNS再バインド攻撃を利用して、Webブラウザを騙して同一生成元ポリシーチェックをバイパスし、ローカルホストまたはローカルネットワーク上のホストへのHTTP接続を許可する可能性があります。デバッグポートがアクティブなNode.jsプロセスがローカルホストまたはローカルネットワーク上のホストで実行されている場合、悪意のあるWebサイトがデバッガとして接続し、完全なコード実行アクセス権を取得する可能性があります。(CVE-2018-7160)

- 一部のパラメーターで Buffer.fill() または Buffer.alloc() を呼び出すと、ハングアップが発生し、サービス拒否が発生する可能性があります。この脆弱性に対処するために、Buffer.alloc() および Buffer.fill() の実装が更新され、このような場合にもハングせずゼロフィルになるようになりました。Node.js 6.x (LTS Boron)、8.x (LTS Carbon)、9.x のすべてのバージョンが脆弱です。Node.js 10.x (最新版) のすべてのバージョンに脆弱性はありません。(CVE-2018-7167)

- 6.17.0より前の 6.x、8.15.1 より前の 8.x、10.15.2 より前の 10.x、11.10.1 より前の 11.x を含む Node.js では、攻撃者が HTTP または HTTPS 接続をキープアライブモードで確立し、ヘッダーの送信を大幅に遅らせることによって、サービス拒否 (DoS) を引き起こす可能性があります。これにより、接続と関連するリソースが長期間有効のままにされます。ロードバランサーまたは他のプロキシレイヤーを使用することで、攻撃の可能性が緩和されます。
この脆弱性は、CVE-2018-12121 の拡張であり、11 月に対処され、6.x より前の 6.17.0、8.x より前の 8.15.1、10.x より前の 10.15.2、11.x より前の 11.10.1 を含むすべてのすべてのアクティブな Node.js リリースラインに影響を与えます。 (CVE-2019-5737)

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

ソリューション

影響を受ける nodejs、nodejs-dev および/または nodejs-legacy パッケージを更新してください。

参考資料

https://ubuntu.com/security/notices/USN-4796-1

プラグインの詳細

深刻度: High

ID: 183156

ファイル名: ubuntu_USN-4796-1.nasl

バージョン: 1.0

タイプ: local

エージェント: unix

公開日: 2023/10/16

更新日: 2023/10/16

サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus Agent, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 5.9

CVSS v2

リスクファクター: Medium

基本値: 6.8

現状値: 5

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

CVSS スコアのソース: CVE-2018-7160

CVSS v3

リスクファクター: High

基本値: 8.8

現状値: 7.7

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

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

脆弱性情報

CPE: cpe:/o:canonical:ubuntu_linux:16.04:-:esm, cpe:/o:canonical:ubuntu_linux:18.04:-:esm, p-cpe:/a:canonical:ubuntu_linux:nodejs, p-cpe:/a:canonical:ubuntu_linux:nodejs-dev, p-cpe:/a:canonical:ubuntu_linux:nodejs-legacy

必要な KB アイテム: Host/cpu, Host/Ubuntu, Host/Ubuntu/release, Host/Debian/dpkg-l

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2021/3/15

脆弱性公開日: 2016/9/13

参照情報

CVE: CVE-2016-7099, CVE-2017-1000381, CVE-2018-12115, CVE-2018-12116, CVE-2018-12122, CVE-2018-12123, CVE-2018-7160, CVE-2018-7167, CVE-2019-5737

USN: 4796-1