‘GhostLock'(CVE-2026-43499): 15년 묵은 리눅스 커널 rtmutex 버그가 root와 컨테이너를 함께 내준 이유
리눅스 커널의 rtmutex(real-time mutex)는 스레드 간 우선순위 역전을 막기 위한 priority inheritance 로직을 담고 있는, 십수 년 넘게 손댈 일이 거의 없던 오래된 락(lock) 서브시스템입니다. 그런데 2026년 7월, 바로 이…
리눅스 커널의 rtmutex(real-time mutex)는 스레드 간 우선순위 역전을 막기 위한 priority inheritance 로직을 담고 있는, 십수 년 넘게 손댈 일이 거의 없던 오래된 락(lock) 서브시스템입니다. 그런데 2026년 7월, 바로 이…
free나 vmstat으로 메모리 상태를 보면 실제 사용 중인 메모리보다 buff/cache 항목이 훨씬 큰 경우가 많다. 이 대부분이 Page Cache인데, page_type이나 page->flags를 직접 들여다보지 않고서는 특정 페이지가 왜 캐시에 남아 있는지,…
동시접속이 많은 웹 서버나 DB 서버를 운영하다 보면 애플리케이션 코드에는 문제가 없는데도 특정 부하 구간에서 연결이 끊기거나 응답이 느려지는 상황을 만난다. 원인을 따라가 보면 애플리케이션이 아니라 커널 기본값이 병목인 경우가…
리눅스 커널의 패킷 필터링 서브시스템 nf_tables(넷필터)에서 발견된 CVE-2026-23111은 권한 없는 로컬 사용자가 root 권한을 얻을 수 있는 use-after-free 취약점입니다. 더 놀라운 점은 이 버그의 원인이 코드 한 글자, 정확히는 논리…
서버 여러 대의 상태를 순차적으로 점검하는 스크립트를 짜본 적이 있다면 익숙한 문제가 있다. 호스트 10대를 ping으로 확인하는 데 각각 1초가 걸린다면, for 루프로 하나씩 처리할 경우 전체 실행 시간은 10초에…
ps, top, htop 같은 도구는 어떻게 실행 중인 모든 프로세스의 상태와 메모리 사용량을 실시간으로 보여줄까. 답은 의외로 단순한데, 이 도구들은 별도의 커널 API를 호출하는 게 아니라 /proc 아래의 파일들을 읽어서…
파이썬으로 시스템 프로그래밍을 하다 보면 표준 라이브러리에 없는 저수준 기능이 필요한 순간이 온다. 특정 syscall을 직접 호출해야 하거나, 이미 검증된 C 라이브러리(.so)를 재사용하고 싶거나, 순수 파이썬으로는 느린 연산을 C로 짜둔…
여러 개의 락(lock)을 다루는 드라이버나 서브시스템을 작성하다 보면, 어떤 경로에서는 lock_a를 먼저 잡고 lock_b를 나중에 잡는데 다른 경로에서는 반대로 lock_b를 먼저 잡는 실수를 저지르기 쉽다. 이런 ABBA 데드락은 두 경로가…
ASan(AddressSanitizer)을 켜고 프로그램을 돌리면 heap-buffer-overflow나 use-after-free가 발생한 순간 바로 크래시가 나면서 어느 함수의 몇 번째 줄에서, 어떤 malloc 호출로 할당된 메모리에 접근했는지까지 정확히 짚어주는 리포트가 뜬다. 일반적인 세그폴트는 침범한 메모리가…
ps aux로 프로세스 목록을 보거나, 좀비(zombie) 프로세스가 쌓여서 시스템이 이상하게 동작하는 걸 겪어본 적이 있다면 "프로세스가 어떻게 뜨고, 어떻게 관리되고, 어떻게 사라지는가"를 커널 관점에서 이해할 필요가 생긴다. 유저 공간에서는 fork()/exec()…