🇰🇷 한글 설명
Linux 커널의 DLM(Distributed Lock Manager) 구성 요소에서 메시지 순서가 올바르게 정렬되지 않는 취약점이 발견되었습니다. 이로 인해 메시지 시퀀스 번호 확인 과정에서 오류가 발생하여 참조 횟수(refcounting) 문제 및 Use-After-Free 취약점이 유발될 수 있습니다.
💡 쉬운 설명
네트워크를 통해 많은 양의 데이터를 주고받을 때 데이터의 순서가 뒤섞이는 문제가 발생합니다. 이로 인해 시스템이 이미 사용 중인 메모리를 잘못 참조하여 프로그램이 강제 종료되거나 보안 위협이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
dlm: fix add msg handle in send_queue ordered
In a benchmark scenario triggering a lot of requests that triggers a lot
of DLM messages on the network it can be that the mh->seq is not ordered
according the oldest seq number. This ordering is required by
dlm_receive_ack as "before(mh->seq, seq)" will stop to check for older
sequence numbers that are ordered in the tail of "node->send_queue".
The side effects of not having it correct ordered regarding
"before(mh->seq, seq)" are refcounting issues and use-after free.
I only was able to reproduce this issue in a experimental DLM branch
and a user space DLM benchmark that uses io_uring. After changing this I
don't experienced any refcounting with the sending buffer issues anymore.
📍 영향받는 시스템
DLM(Distributed Lock Manager) 기능을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
네트워크를 통해 대량의 DLM 메시지를 전송하여 메시지 처리 순서를 교란시키는 방식
🛡️ 대응 방법
DLM 메시지 처리 로직이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인