🔍 CVE-2022-48858

7.0
CVSS Score
HIGH
2024-07-16
2026-08-04 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 mlx5 드라이버에서 명령 플러시(command flush) 흐름 중 레이스 컨디션(Race Condition)이 발생하여 Use-After-Free 취약점이 존재합니다. 특정 명령이 참조 횟수를 해제하고 인덱스를 자유롭게 하는 동안 다른 프로세스가 해당 명령에 접근하여 참조 횟수를 증가시키려 할 때 발생합니다.

💡 쉬운 설명

컴퓨터 부품을 제어하는 명령어가 처리되는 과정에서, 이미 삭제된 명령어를 다른 프로세스가 다시 사용하려고 시도하면서 발생하는 오류입니다. 이로 인해 시스템이 예기치 않게 멈추거나 보안 문제가 생길 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Fix a race on command flush flow Fix a refcount use after free warning due to a race on command entry. Such race occurs when one of the commands releases its last refcount and frees its index and entry while another process running command flush flow takes refcount to this command entry. The process which handles commands flush may see this command as needed to be flushed if the other process released its refcount but didn't release the index yet. Fix it by adding the needed spin lock. It fixes the following warning trace: refcount_t: addition on 0; use-after-free. WARNING: CPU: 11 PID: 540311 at lib/refcount.c:25 refcount_warn_saturate+0x80/0xe0 ... RIP: 0010:refcount_warn_saturate+0x80/0xe0 ... Call Trace: <TASK> mlx5_cmd_trigger_completions+0x293/0x340 [mlx5_core] mlx5_cmd_flush+0x3a/0xf0 [mlx5_core] enter_error_state+0x44/0x80 [mlx5_core] mlx5_fw_fatal_reporter_err_work+0x37/0xe0 [mlx5_core] process_one_work+0x1be/0x390 worker_thread+0x4d/0x3d0 ? rescuer_thread+0x350/0x350 kthread+0x141/0x160 ? set_kthread_struct+0x40/0x40 ret_from_fork+0x1f/0x30 </TASK>

📍 영향받는 시스템

Mellanox(mlx5) 네트워크 드라이버를 사용하는 Linux 커널 시스템

⚔️ 공격 벡터

로컬 시스템에서 특정 네트워크 명령을 반복적으로 실행하여 레이스 컨디션을 유도하는 방식

🛡️ 대응 방법

Mellanox 드라이버의 레이스 컨디션 수정을 포함한 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel