리눅스 보안은 다음 발견 이후 또 다른 도전에 직면해 있습니다. 취약점 CVE-2026-31431, 일명 "복사 실패" Xint Code의 연구원들이 발견한 이 문제는 이론적인 결함과는 거리가 멀고, 설계상의 문제입니다. 이 기능은 권한이 없는 로컬 사용자가 권한을 높여 완전한 접근 권한을 얻을 수 있도록 해줍니다. 예측 가능하고 조용한 방식으로 최고 관리자로서 권한을 행사합니다.
연구원들은 이 취약점이 우분투, 아마존 리눅스, RHEL, SUSE와 같은 주요 배포판에서 성공적으로 악용되었다고 언급하며 이를 확인했습니다. 커널 버전 4.14 이후의 커널을 실행하는 모든 시스템 유지 AF_ALG 소켓 지원을 활성화하면 잠재적으로 취약점이 발생할 수 있습니다. 이 공격에 대해.
제자리 작업 및 페이지 캐시 오버플로
판결과 관련하여 다음과 같이 언급되어 있습니다. 이는 2017년에 커널의 암호화 API(AF_ALG) 내에 도입된 최적화 기능에서 비롯되었습니다. 이번 수정 저는 불필요한 버퍼링을 없애고 싶었습니다. 인증된 암호화(AEAD) 작업을 동일한 메모리 공간에서 직접 실행하는 것을 "인플레이스" 작업이라고 합니다.
El 이 최적화 기법을 splice() 함수와 결합할 때 심각한 문제가 발생합니다. 이 방법은 데이터를 물리적으로 복사하는 대신 커널 페이지 캐시에 대한 직접 참조를 전송하여 파일 디스크립터 간에 데이터를 전송합니다. 복호화를 요청할 때, 메모리 구조가 구성되어 사용자를 위한 임시 공간이어야 할 대상 버퍼가 시스템 파일 데이터가 포함된 캐시 페이지에 직접 연결되었습니다.
메모리 용량 범위를 벗어난 인증 및 쓰기
El 이 취약점의 최종 원인은 인증 알고리즘의 비정상적인 동작에 있습니다. 대상 버퍼의 경계를 엄격하게 준수하는 다른 암호화 루틴과는 달리, 이 특정 알고리즘은 사용자의 메모리 공간을 임시 작업 영역으로 사용합니다. 인증 태그 계산 중 바이트 시퀀스를 재배열하기 위한 (스크래치 패드).
이 과정에서 알고리즘은 출력 영역에 대해 설정된 제한을 넘어 4바이트를 기록합니다. 이는 제자리 최적화와 splice() 함수에 의해 생성된 참조 체인 때문입니다.겉보기에는 무해해 보이는 이 글은 사용자의 기억의 경계를 넘어섭니다. 그리고 처리 중인 파일과 관련된 커널 캐시 페이지에 직접 도달합니다.
이러한 논리적 오류의 연쇄 이 취약점을 이용하면 공격자는 특정 캐시 위치에서 임의로 4바이트를 덮어쓸 수 있습니다. 읽을 수 있는 모든 파일에 대해 페이지 수를 요청합니다. 일련의 계산된 요청을 전송함으로써, 공격자는 악성 코드를 주입할 수 있습니다. 사용자 전환 도구와 같이 suid 비트가 설정된 중요 실행 파일의 메모리 버전에서.
모든 읽기 작업은 먼저 페이지 캐시를 조회하므로, 다음에 해당 유틸리티가 호출될 때, 시스템은 메모리에서 주입된 코드를 실행하여 즉시 루트 권한을 부여합니다. 하드 드라이브의 물리적 파일을 전혀 변경하지 않고도 이러한 취약점을 이용할 수 있습니다. 더욱 심각한 것은 컨테이너 격리가 호스트의 페이지 캐시를 공유하기 때문에, 이 취약점이 쿠버네티스 클러스터와 같은 가상화 환경에서 탈출하여 기본 노드를 손상시키는 직접적인 통로가 될 수 있다는 점입니다.
긴급 패치 및 완화 솔루션
이번 판결의 중대성을 고려할 때, 유지보수팀에서 긴급 업데이트를 배포했습니다. 결정적인 해결책이 있는 곳은 바로 여기입니다. algif_aead.c 파일 내의 제자리 최적화를 되돌리고 소스 및 대상 메모리 목록을 엄격하게 분리합니다. 캐시된 페이지가 쓰기 가능한 경로에 저장되는 것을 방지하기 위해서입니다.
이러한 패치는 이미 커널 6.18.22, 6.19.12 및 7.0에 통합되었으며 장기 지원 브랜치로 백포팅되고 있습니다. 서버를 즉시 재시작하거나 업데이트할 수 없는 관리자의 경우, algif_aead 커널 모듈이 외부에서 컴파일된 경우 해당 모듈을 비활성화하거나 SELinux와 같은 보안 정책을 사용하여 AF_ALG 소켓 생성을 엄격하게 제한하는 것이 좋습니다. SELinux는 예를 들어 현재 Android 기기를 이 위협으로부터 보호하는 데 사용된 보안 기능입니다.
마지막으로, 더 자세한 내용을 알고 싶으시다면 다음 링크에서 확인하실 수 있습니다.