CVE-2023-52489 in Linux情報

要約

〜によって VulDB • 2026年05月27日

Linuxカーネルにおいて、以下のログは **レベル1翻訳障害(Level 1 Translation Fault)** によるデータアボート(Data Abort)を示しています。これは、カーネルが有効なメモリマッピングを持たないアドレスにアクセスしようとしたことを意味します。

---

### ???? ログの主要部分の解釈

``` [ 540.578082] FSC = 0x05: level 1 translation fault
``` - **FSC (Fault Status Code) = 0x05**: ARM64アーキテクチャにおける「レベル1翻訳障害」を示します。 - これは、ページテーブルのレベル1(大ページまたは中間レベル)で、指定された仮想アドレスに対応するエントリが存在しない、または無効であることを意味します。

``` [ 540.579436] pc : __pageblock_pfn_to_page+0x6c/0x14c
[ 540.579454] lr : compact_zone+0x994/0x1058
``` - **PC (Program Counter)**: `__pageblock_pfn_to_page` 関数内で障害が発生。 - **LR (Link Register)**: 呼び出し元は `compact_zone` 関数。 - `compact_zone` は、メモリ断片化解消のためにページを移動する **メモリコンパクション** の処理を行う関数です。 - つまり、**メモリコンパクション中に、無効なページフレーム番号(PFN)または無効なページ構造体へのアクセスを試みた** ことが推測されます。

``` [ 540.579431] pstate: 82400005 (Nzcv daif +PAN -UAO +TCO -DIT -SSBSBTYPE=--)
``` - **PSTATE**: 例外発生時のプロセッサ状態。 - `+PAN`: Privileged Access Never が有効(特権モードでもユーザー空間メモリに直接アクセス不可)。 - `-UAO`: Unprivileged Access Only が無効。 - これは、カーネルが特権モードで実行中であることを示します。

---

### ???? 原因の推測

1. **メモリコンパクション中のページ状態の不整合** - `compact_zone` は、ページを移動するために `__pageblock_pfn_to_page` を呼び出します。 - この関数は、ページフレーム番号(PFN)から `struct page` へのポインタを取得します。 - もし **PFN が無効**(例:解放済み、存在しない、または範囲外)の場合、ページテーブルにエントリが存在せず、翻訳障害が発生します。

2. **メモリ管理サブシステムのバグ** - ページの解放や移動の処理中に、PFN が正しく更新されていない可能性があります。 - 特に、ホットプラグ(メモリ追加/削除)や、メモリ圧縮(zswap/zsmalloc)との競合が原因となる場合があります。

3. **ハードウェアエラー(RAS: Reliability, Availability, Serviceability)** - メモリハードウェアのエラー(ECCエラーなど)により、ページテーブルが破損している可能性もあります。

4. **カーネルバグ** - 特定のアーキテクチャ(ARM64)やカーネルバージョン固有のバグである可能性があります。

---

### ????️ 対処法・調査手順

#### 1. **カーネルログの完全な取得** - 上記ログは `---truncated---` となっているため、`dmesg` の完全な出力、特に直前の警告やエラーを確認してください。 - `kdump` を有効にし、クラッシュダンプを取得して解析することを推奨します。

#### 2. **カーネルバージョンの確認とアップグレード** - 使用中のカーネルバージョンを確認し、既知のバグが修正されている最新バージョンにアップグレードしてください。 - 特に、メモリコンパクションやページ管理に関連するパッチが適用されているか確認します。

#### 3. **メモリテストの実行** - `memtest86+` や `memtester` を使用して、メモリハードウェアのエラーがないか確認します。

#### 4. **カーネルパラメータの変更** - 一時的な回避策として、メモリコンパクションを無効化または制限するパラメータを試すことができます。 ```bash # /proc/sys/vm/compact_memory を 0 に設定 echo 0 > /proc/sys/vm/compact_memory ``` - または、起動時に

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

予約する

2024年02月20日

モデレーション

承諾済み

エントリ

VDB-255273

EPSS

0.00294

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!