CVE-2024-35877 in Linuxthông tin

Tóm tắt

Bởi VulDB • 16/05/2026

Trong đoạn log kernel panic/crash bạn cung cấp, đây là một lỗi nghiêm trọng xảy ra trong nhân Linux (kernel) khi đang xử lý I/O không đồng bộ (io_uring).

Dưới đây là phân tích chi tiết và các bước khắc phục:

### 1. Phân tích lỗi

* **Hậu quả:** Kernel bị crash (Panic/Oops). * **Tiến trình gây lỗi:** `iouring` (PID 1402). Đây là tiến trình xử lý `io_uring`, một cơ chế I/O hiện đại trong Linux. * **Hàm gây lỗi:** `untrack_pfn+0xf4/0x100`. * `untrack_pfn` là hàm liên quan đến việc theo dõi (tracking) các trang vật lý (Page Frame Numbers - PFN) trong hệ thống bộ nhớ, thường dùng cho các tính năng như KVM, VFIO, hoặc các driver thiết bị ảo hóa. * Lỗi xảy ra khi kernel cố gắng "untrack" (hủy theo dõi) một trang bộ nhớ nhưng gặp phải điều kiện không hợp lệ hoặc dữ liệu không nhất quán. * **Môi trường:** * Kernel: `6.7.5-100.fc38.x86_64` (Fedora 38). * Phần cứng ảo hóa: **QEMU Standard PC (Q35 + ICH9)**. Điều này cho thấy bạn đang chạy trên một máy ảo (VM).

### 2. Nguyên nhân có thể

1. **Lỗi trong kernel Linux (Bug):** Đây là nguyên nhân phổ biến nhất. Phiên bản kernel `6.7.5` có thể chứa lỗi trong cơ chế `io_uring` kết hợp với việc quản lý bộ nhớ ảo hóa (KVM/QEMU). Lỗi `untrack_pfn` thường liên quan đến việc xử lý sai các trang bộ nhớ được chia sẻ hoặc ánh xạ thiết bị (device-mapped pages). 2. **Lỗi trong QEMU/KVM:** Có thể có sự không tương thích hoặc lỗi trong cách QEMU xử lý bộ nhớ cho VM, dẫn đến việc kernel nhận được thông tin PFN không hợp lệ. 3. **Lỗi phần cứng (ít khả năng hơn nhưng vẫn có thể):** Nếu RAM hoặc CPU có lỗi, việc xử lý bộ nhớ ảo hóa có thể gây ra dữ liệu sai lệch. Tuy nhiên, trong môi trường ảo hóa, lỗi phần cứng thường biểu hiện khác.

### 3. Các bước khắc phục

#### Bước 1: Cập nhật Kernel và Hệ thống Vì bạn đang dùng Fedora 38, hãy đảm bảo rằng bạn đã cập nhật lên phiên bản kernel mới nhất. Lỗi này có thể đã được sửa trong các bản cập nhật sau đó.

```bash sudo dnf update kernel sudo dnf update sudo reboot ```

Kiểm tra phiên bản kernel mới: ```bash uname -r ```

#### Bước 2: Kiểm tra và Cập nhật QEMU/KVM Nếu bạn đang chạy VM trên một host Linux, hãy đảm bảo rằng QEMU và libvirt cũng được cập nhật.

```bash sudo dnf update qemu-kvm libvirt sudo systemctl restart libvirtd ```

#### Bước 3: Tắt hoặc Hạn chế sử dụng `io_uring` (Giải pháp tạm thời) Nếu lỗi vẫn tiếp diễn và bạn không thể cập nhật ngay, bạn có thể thử tắt `io_uring` cho ứng dụng cụ thể hoặc toàn hệ thống để tránh kích hoạt lỗi.

* **Tắt io_uring cho một ứng dụng cụ thể:** Nếu bạn biết ứng dụng nào đang sử dụng `io_uring` (ví dụ: database, web server), hãy cấu hình nó để sử dụng cơ chế I/O cũ hơn (như `epoll` hoặc `select`).

* **Tắt io_uring toàn hệ thống (khuyên dùng nếu không cần thiết):** Thêm tham số kernel `io_uring.disabled=1` vào dòng khởi động kernel. 1. Chỉnh sửa file `/etc/default/grub`. 2. Tìm dòng `GRUB_CMDLINE_LINUX` và thêm `io_uring.disabled=1` vào cuối. 3. Cập nhật GRUB: ```bash sudo grub2-mkconfig -o /boot/grub2/grub.cfg # Hoặc /boot/efi/EFI/fedora/grub.cfg tùy cấu hình ``` 4. Khởi động lại.

#### Bước 4: Kiểm tra Log chi tiết hơn Đoạn log bạn cung cấp bị cắt ngắn. Hãy tìm toàn bộ log từ thời điểm crash:

```bash journalctl -k -b -1 | tail -n 100 ``` Hoặc kiểm tra file `/var/log/messages` hoặc `/var/log/dmesg`.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Nguồn

Might our Artificial Intelligence support you?

Check our Alexa App!