openSUSE 16 セキュリティ更新 : nasm (openSUSE-SU-2026:21333-1)

critical Nessus プラグイン ID 327237

Language:

概要

リモートの openSUSE ホストに 1 つ以上のセキュリティ アップデートがありません。

説明

リモートの openSUSE 16 ホストに、複数の脆弱性の影響を受けているパッケージがインストールされています。これらの脆弱性は openSUSE-SU-2026:21333-1 アドバイザリで言及されています。

この nasm の更新では、次の問題を修正します

- CVE-2026-6067: obj_directive() 関数の境界チェック不足によるヒープバッファオーバーフローの脆弱性 (bsc#1261986)。
- CVE-2026-6068: 応答ファイル処理におけるヒープのメモリ解放後使用 (Use-After-Free) の脆弱性 (bsc#1261985)。

nasm の変更:

- 3.02 への更新:

* C23 コンパイラで、C23 仕様に違反して bool をマクロとして定義する C23 より前のバージョンの <stdbool.h> を使用した場合のビルド問題を修正。
* JMPE 命令の即時形式 (opcode 0F B8) は、Itanium Architecture Software Developer's Manual バージョン 2.3 第 4 巻 4:249 ページに記載されているように、絶対アドレスに変更されました。これによって JMPE を使用する仮想環境が破損しないことを期待しますが、このオペコードに関する公式仕様に最も近いものです。
* 絶対アドレスであるため、FAR ジャンプと同等に扱い、64 ビットモードではデフォルトで 64 ビットとして扱わないでください。
* JMPE がこれまで何年もの間誤っていたことは、実際にどれほど使用されてきたかを示す十分な手掛かりになるかもしれませんが、仮想環境を破壊する可能性があります。その場合は、仮想環境の詳細を含めて https://bugs.nasm.us にバグレポートを提出してください。適切な解決策を検討します。
* さまざまなビルド修正。cp ユーティリティに -u オプションがないため、macOS でドキュメントがビルドされない問題を修正します。また、リンクのフォーマットが間違っていることによりビルドされない一般的な問題も修正します。その他の修正は、C++ チェックに関連する compiler.h の誤字を修正するものです。
* アセンブルエンコーディングの修正:
+ 無効な LOCK を許可していた CMP を修正します。
+ VCVTSD2SI、VCVTSD2USI、VCVTSS2SI、VCVTSS2USI、VCVTTSD2SI、VCVTTSD2USI、VCVTTSS2SI、VCVTTSS2USI、VGETEXPSH、VGETMANTSH、MOVDDUP、VMOVDDUP など、複数の AVX512 命令を修正します。
+ 命令 UWRMSR、CMPSD、VCMPSS、V4FMADDSS、V4FNMADDSS、VCVTDQ2PH、VCVTPD2PH、VCVTPH2UDQ、VCVTQQ2PH、VCVTUDQ2PH、VCVTUQQ2PH、VGETEXPSH、VGETMANTSH、VRCPPH、VRSQRTPH、VCVTPH2BF8、VCVTPH2BF8S、VCVTPH2HF8、VCVTPH2HF8S のその他のエンコーディングまたは命令フォーマットを修正しました。
+ VP4DPWSSD ニーモニックの誤字を修正しました。
+ CMP などの算術命令で BYTE および WORD オペランドが同じエンコーディングを取得していた問題を修正しました。
+ 64 ビットモードで DWORD を使用した場合に PUSH がアセンブルされない問題を修正しました。オペランドサイズは 64 ビットのままであるため、これは推奨される構文ではありませんが、以前のバージョンの NASM では許可されていました。
+ ディレクティブ (GLOBAL、STATIC、EXTERN、REQUIRED、COMMON) 内の $--escaped シンボルの解析を修正します。
* 逆アセンブルの修正:
+ unity オペランドを伴うシフト命令が、1 オペランドではなくゼロオペランドに逆アセンブルされていました。
+ JMP、CALL、JMPE がレジスタオペランドで不適切に逆アセンブルされました。
* オペランドサイズおよびオペランドサイズプレフィックスに関する多数の細かな修正。変更のほとんどは、2.16.03 で知られている動作に戻します。
* MOV [mem], label がサイズ指定子なしで受け入れられていたため、意図しない結果が発生する可能性がありました。サイズが指定されておらず、オペランドの 1 つがメモリ参照で、別のオペランドがラベルである場合にエラーを発生させます。
* ここでは STRICT が冗長であるため、JMP NEAR は JMP STRICT NEAR と同じになりました。一方、JMP WORD は最適化の対象になります。これは、NEAR と WORD がそれぞれジャンプ長とオペレーションサイズという異なるものに関連しているためです。
* IRET、PUSHF、POPF、PUSH、POP などの命令で、冗長な (または冗長でない) 有効なオペランドサイズプレフィックスを使用できる問題を修正しました。
* JMP または CALL 命令でオペランドサイズプレフィックスを使用すると、無効な命令が生成される可能性がありました。これは長年存在していたバグのようです。
ただし、即値のサイズを明示的に指定してオペランドサイズを指定する方法 (例: JMP DWORD label) は、常に正しく機能していました。
* C2y スタイルの \o エスケープシーケンス、ブレース付きエスケープシーケンス、および NASM 拡張として、10 進数エスケープシーケンス (\d) とコントロール文字エスケープシーケンス (^) のサポートを追加しました。セクション3.4.2を参照してください。
* ADD、OR、ADC、SBB、AND、SUB、XOR、および CMP AL,imm8 の短いオペコードの生成を修正します。
* 引数が =/b または =/ub として定義されている場合に、単一行マクロを呼び出す際に生成される定数が 63 ビットに切り捨てられる問題を修正します。
* %! 構文に代わる、より堅牢で柔軟な代替手段として、%env() プリプロセッサ関数を追加します。セクション5.5.7を参照してください。
* 複数行マクロパラメーターの最大数が、設定可能な制限になりました。セクション2.1.32を参照してください。
* --limit- オプションおよび %pragma limit が、キーワード default、maximum、reset を受け入れるようになりました。セクション2.1.32を参照してください。
* EQU の seg:offs--style FAR ポインターの解析を修正します。
* パラメーターが指定されたときにハングアップする %clear プリプロセッサディレクティブを修正します。
* 適切に実装されたことも文書化されたこともないプリプロセッサディレクティブ %rmacro および %irmacro は、適切に無効化されるようになりました。既存のコードを壊さないように、適切な警告とともに %macro および %imacro にフォールバックします。
プログラマーはこの動作に依存すべきではありません。将来的に、これらのディレクティブは実際に (適切に) 実装される可能性があります。
* INCBIN ファイルの内容を含めるための新しいリストオプション -Lc。セクション 2.1.4 を参照してください。
* TIMES および ALIGN ディレクティブの各反復の出力を含めるための新しいリストオプション -Lt。セクション 2.1.4 を参照してください。
* %pragma list options ディレクティブが、オプションをコマンドラインのデフォルトにリセットできるようになりました。セクション 2.1.4 を参照してください。
* アクティブなリストオプションおよびコマンドラインのデフォルトのリストオプションを取得するための、新しい定義済みマクロ __?LIST_OPTIONS?__ および __?LIST_OPTIONS_DEFAULT?__。セクション2.1.4を参照してください。

- 3.01 への更新:

* OS/2 での使用を目的とした、obj 出力形式の新しい obj2 バージョン。セクション 9.5 を参照してください。
* %exitrep または %exitmacro の後に出力が抑制されている間、%if または %elif の後の条件が評価されていました。どちらの場合も出力は生成されませんが、式の評価によってエラーが発生した場合、アセンブリは失敗していました。
* TCVTROWPS2PHL のエンコーディングを修正し、複数の AVX512-BF16 命令のオペランド形式および誤記されたニモニックを修正します。
* 非公式ですが明白な代替形式である TEST reg,mem は、NASM 3.00 では受け入れられませんでした。
修正済み。
* obj 出力形式では、同じグループに対して複数の GROUP ディレクティブを指定できるようになりました。結果のグループには、そのグループのすべての GROUP ディレクティブで指定されたすべてのセクションが含まれます。
* 新しい %selbits() プリプロセッサ関数。セクション5.4.19を参照してください。
* --before BITS の便利な省略表記としての新しい --bits オプション.... セクション2.1.31を参照してください。
* 外部ラベルマングリングを設定するためのオプションとプラグマには一貫性がなく、前者は postfix という表記を使用し、後者は suffix を使用していました。さらに、これらはプラグマに加えてディレクティブとしても文書化されていました。すでに文書化されているディレクティブ (角括弧形式のみ) を実装し、すべての場合で postfix と suffix の両方を許可します。
セクション2.1.28とセクション8.10を参照してください。
* 追加の許容パターンを定義し、いくつかのオペコードのバグを修正します。
* x87 命令の 2 オペランド形式の解析を修正します。
* 誤った「絶対アドレスは RIP 相対にできない」という警告を修正します。
* OpenWatcom でのビルドを修正できることを期待します。
* 16 ビットモードまたは 32 ビットモードで o64 プレフィックスを使用した場合、デフォルトでエラーに昇格される警告を生成します。警告に降格されるか抑制された場合、プレフィックスは無視されますが、その後、デバッグがより困難なエラーメッセージが発生する可能性があります。
* 指定されたオペランドサイズを持つジャンプおよび呼び出し命令の処理が、より一貫性のあるものになりました。
* CMPXCHG 命令のオペランドサイズ処理のバグを修正します。

- 3.00 への更新:

* ソースからのビルドに関するドキュメントを改善します (付録 D)。
* APX および AVX10 命令セット、ならびにさまざまなその他の新しい命令のサポートを追加します。
* 新しいプリプロセッサ関数 %b2hs()、%chr()、%depend()、%find()、%findi()、%hs2b()、%null()、%ord()、%pathsearch()、および %realpath() を追加します。セクション5.4を参照してください。
* 外部診断を発行せずにリストファイルへ注記を挿入する、新しいプリプロセッサディレクティブ %note。コメントとは異なり、任意でマクロ展開されます。セクション 5.11 を参照してください。
* ファイルの存在を確認するための、新しいプリプロセッサディレクティブ %iffile (および対応する関数 %isfile())。セクション5.6.12を参照してください。
* プリプロセッサディレクティブ、アセンブリディレクティブ、または疑似命令の存在を確認するための、新しいプリプロセッサディレクティブ %ifdirective。セクション 5.6.10 を参照してください。
* さまざまな無効な入力で発生する、複数の無効なメモリ参照 (通常はクラッシュの原因となるもの) を修正します。
* $--escaped 記号の処理における複数のバグを修正します。
* 16 進数のプレフィックスとしての $ の使用は非推奨となり、警告が発行されるようになります。新しいディレクティブ [DOLLARHEX] を使用すると、この構文を完全に無効にできます。セクション 8.12 を参照してください。
* セグメントセレクター参照の生成を修正します (主に obj 出力形式で使用されます)。
* ラベルが定義されていない状態でコードがデフォルトセグメントに出力された場合に、obj バックエンドで発生するクラッシュを修正します。
* コマンドラインヘルプテキスト (-h) を整理し、個別のトピックに分割します。以前の出力は冗長すぎて、クイックリファレンスとして実用的ではありませんでした。
* 64 ビットモードにおける暗黙の DEFAULT ABS は非推奨となり、将来的に REL に変更される可能性があります。セクション8.2を参照してください。この状態では、警告が発行されるようになりました。
* FS: または GS: を使用するメモリアクセスに対して、REL/ABS のデフォルトを設定できるようになりました。セクション 8.2 を参照してください。
* 標準マクロ __?DEFAULT?__ は、DEFAULT ディレクティブの設定を反映するようになりました。
セクション6.4を参照してください。
* NASM プリプロセッサは、%if または %elif で始まる不明なディレクティブを、スペルミスまたは未実装の条件付きディレクティブであるとみなし、対応する %endif との照合を試みるようになりました。セクション5.6.14を参照してください。
* masm マクロパッケージは、x87 レジスタ構文用のマクロを定義するようになりました。セクション7.5を参照してください。
* VPTERNLOGD および VPTERNLOGQ 命令の制御即値の生成を簡素化する、新しいマクロパッケージ vtern。セクション7.6を参照してください。
* 新しいコマンドラインオプション -LF により、[LIST -] ディレクティブを上書きできるようになりました。
* obj 出力形式で、FLAT 疑似グループ内のセグメントが、別の(実際の) グループにも属することを許可します。OS/2 で使用されます。
* Mach-O バックエンドに新しい build_version ディレクティブを追加します。セクション9.8.6を参照してください。
* ELF 上での DWARF デバッグ情報の生成における仕様違反を修正します。
* 応答ファイルをネストできるようになりました。
* ドキュメントを多数改善します。

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

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

ソリューション

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

参考資料

https://bugzilla.suse.com/1261985

https://bugzilla.suse.com/1261986

https://www.suse.com/security/cve/CVE-2026-6067

https://www.suse.com/security/cve/CVE-2026-6068

プラグインの詳細

深刻度: Critical

ID: 327237

ファイル名: openSUSE-2026-21333-1.nasl

バージョン: 1.1

タイプ: Local

エージェント: unix

公開日: 2026/7/16

更新日: 2026/7/16

サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

リスク情報

VPR

リスクファクター: High

スコア: 7

パーセンタイル: 98.23

CVSS v2

リスクファクター: Critical

基本値: 10

現状値: 7.8

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

CVSS スコアのソース: CVE-2026-6068

CVSS v3

リスクファクター: Critical

基本値: 9.6

現状値: 8.6

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

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

脆弱性情報

CPE: cpe:/o:novell:opensuse:16.0, p-cpe:/a:novell:opensuse:nasm

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list

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

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

パッチ公開日: 2026/7/13

脆弱性公開日: 2026/4/10

参照情報

CVE: CVE-2026-6067, CVE-2026-6068