🇰🇷 한글 설명
Linux 커널의 DAMON sysfs 체계(mm/damon/sysfs-schemes)에서, memcg_path 값을 쓸 때 이전에 할당된 메모리 버퍼를 해제하지 않아 메모리 누수가 발생하는 취약점입니다. 공격자(권한 있는 사용자)가 memcg_path DAMOS sysfs 파일에 반복해서 값을 쓰면 커널 메모리가 계속 누수되어 시스템 자원이 고갈될 수 있습니다. 이 문제는 이전 버퍼를 먼저 해제하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터 내부의 메모리 관리 기능에서 쓰고 난 메모리를 반납하지 않는 버그가 있습니다. 이 기능에 반복해서 값을 쓰면 메모리가 조금씩 새어 나가 결국 시스템이 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
mm/damon/sysfs-schemes: free old damon_sysfs_scheme_filter->memcg_path on write
memcg_path_store() assigns a newly allocated memory buffer to
filter->memcg_path, without deallocating the previously allocated and
assigned memory buffer. As a result, users can leak kernel memory by
continuously writing a data to memcg_path DAMOS sysfs file. Fix the leak
by deallocating the previously set memory buffer.
📍 영향받는 시스템
DAMON sysfs 기능을 포함한 수정 이전의 Linux 커널 버전 (수정 커밋이 반영되지 않은 배포판 커널 전반)
⚔️ 공격 벡터
로컬에서 권한을 가진 사용자가 DAMOS sysfs의 memcg_path 파일에 반복적으로 쓰기 작업을 수행하여 커널 메모리를 누수시키는 방식 (서비스 거부 유발)
🛡️ 대응 방법
배포판에서 제공하는 보안 업데이트를 적용하여 해당 커널 패치가 포함된 버전으로 업그레이드하고 재부팅합니다.
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지와 대조하여 패치 포함 여부를 확인하고, CONFIG_DAMON_SYSFS=y 또는 =m이면 해당 기능이 활성화되어 있어 영향을 받을 수 있음을 의미하며, 설정이 없으면 기능이 빌드에서 제외되어 영향이 없습니다.
uname -r && (grep -r 'CONFIG_DAMON_SYSFS' /boot/config-$(uname -r) 2>/dev/null || echo 'config not found')