🔍 CVE-2022-49929

5.5
CVSS Score
MEDIUM
2025-05-01
2026-11-05 20:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 RDMA/rxe 드라이버에서 RESPST_ERR_RNR 처리 시 rxe_recheck_mr()가 증가시킨 MR(메모리 영역)의 참조 카운트를 해제하지 않아 메모리 누수가 발생하는 문제가 해결되었습니다. 이로 인해 해당 MR 정리 과정에서 커널 경고(WARNING)가 발생할 수 있었습니다. 수정은 RESPST_ERR_RNR 경로에서 rxe_put(mr)를 호출하여 참조 카운트를 올바르게 감소시키는 것입니다.

💡 쉬운 설명

컴퓨터의 고속 네트워크 통신 기능에서 사용하던 메모리 조각을 다 쓰고도 반환하지 않는 버그가 있었습니다. 이 버그를 고쳐서 메모리가 낭비되거나 커널 경고가 나타나지 않도록 했습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix mr leak in RESPST_ERR_RNR rxe_recheck_mr() will increase mr's ref_cnt, so we should call rxe_put(mr) to drop mr's ref_cnt in RESPST_ERR_RNR to avoid below warning: WARNING: CPU: 0 PID: 4156 at drivers/infiniband/sw/rxe/rxe_pool.c:259 __rxe_cleanup+0x1df/0x240 [rdma_rxe] ... Call Trace: rxe_dereg_mr+0x4c/0x60 [rdma_rxe] ib_dereg_mr_user+0xa8/0x200 [ib_core] ib_mr_pool_destroy+0x77/0xb0 [ib_core] nvme_rdma_destroy_queue_ib+0x89/0x240 [nvme_rdma] nvme_rdma_free_queue+0x40/0x50 [nvme_rdma] nvme_rdma_teardown_io_queues.part.0+0xc3/0x120 [nvme_rdma] nvme_rdma_error_recovery_work+0x4d/0xf0 [nvme_rdma] process_one_work+0x582/0xa40 ? pwq_dec_nr_in_flight+0x100/0x100 ? rwlock_bug.part.0+0x60/0x60 worker_thread+0x2a9/0x700 ? process_one_work+0xa40/0xa40 kthread+0x168/0x1a0 ? kthread_complete_and_exit+0x20/0x20 ret_from_fork+0x22/0x30

📍 영향받는 시스템

RDMA Soft-RoCE(rdma_rxe) 드라이버를 사용하는 수정 이전의 Linux 커널 버전

⚔️ 공격 벡터

로컬 또는 네트워크 접근 권한을 가진 공격자가 RNR 상황을 반복 유발하여 메모리 누수를 누적시키는 서비스 거부(DoS) 형태로 악용될 수 있음

🛡️ 대응 방법

배포판 제공 최신 커널 업데이트를 적용하고 재부팅하거나, 해당 수정이 포함된 Linux 커널 안정 버전으로 업그레이드하십시오.

🔧 검증 코드

커널 버전이 수정이 포함된 최신 배포판 커널 버전 이상인지 확인하고, rdma_rxe 모듈이 로드되지 않았다면 이 취약점에 노출되지 않은 것입니다.

Shell / Script
uname -r && (lsmod | grep rdma_rxe || echo 'rdma_rxe 모듈 미로드') && (dpkg -l linux-image-$(uname -r) 2>/dev/null || rpm -q kernel 2>/dev/null)

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel