
리눅스 커뮤니티는 새로운 도전에 직면해 있습니다. 지역 권한 상승의 심각한 취약성 '더티 프래그'라는 별명이 붙은 이 물건은 판결이 나온 지 불과 일주일 만에 발견되었다. 복사 실패이번 새로운 보안 문제에 대해 자세히 설명드리겠습니다. GitHub에서이는 권한이 없는 로컬 사용자도 대부분의 최신 Linux 배포판에서 루트 액세스 권한을 얻을 수 있게 해줍니다. 더욱 우려스러운 점은 현재로서는, 공식적인 패치나 지정된 CVE 식별자는 없습니다..
Dirty Frag가 예정보다 일찍 공개되었습니다. 보안 금수 조치 위반연구와 무관한 제3자가 일부 정보를 유출하면서 연구자는 커널 관리자와 배포판에서 패치를 준비하기 전에 기술적 세부 정보와 개념 증명을 공개하게 되었습니다. 이로 인해 시스템 관리자들은 확실한 해결책이 없는 상황에서 악용될 수 있는 취약점에 직면하게 되어 매우 불안한 상황에 놓였습니다.
더티 프래그(Dirty Frag)란 무엇이며, 왜 그토록 큰 우려를 불러일으키는 걸까요?
Dirty Frag는 다음과 같이 소개되었습니다. Copy Fail의 직계 후속작 이 취약점은 Dirty Pipe와 같은 계열에 속합니다. 이러한 모든 취약점은 공통적인 기본 원리를 공유합니다. 커널의 페이지 캐시 관리 오류를 악용합니다.즉, 성능 향상을 위해 리눅스가 메모리에 유지하는 파일 복사본에 저장된다는 뜻입니다.
실질적으로, 이 공격은 다음과 같은 결과를 가져옵니다. 커널 자체가 페이지 캐시의 내용을 덮어씁니다. 공격자가 해당 파일에 대한 쓰기 권한이 없는 상태에서 파일을 덮어쓸 수 있습니다. 이렇게 제어된 덮어쓰기는 임의 쓰기 기본 요소로 작용하며, 제대로 악용될 경우 단 한 번의 익스플로잇 실행으로 루트 권한 상승을 가능하게 합니다.
한국 연구자 김현우(본명)에 따르면 @v4bel), Dirty Frag는 단순한 일회성 버그가 아니라, 논리적 취약성 등급 이는 Dirty Pipe 및 Copy Fail과 같은 계열에 속하는 취약점입니다. 시간 조건이나 경쟁 조건에 의존하지 않으므로, 이 취약점은 결정론적이며, 실패 시 커널 충돌을 일으키지 않습니다. 성공률이 매우 높음 취약한 시스템에서.
두 가지 취약점이 연쇄적으로 작용하여 루트 권한을 획득했습니다.
Dirty Frag의 핵심 특징 중 하나는 단 하나의 실패에 기반한 것이 아니라, 오히려 여러 실패 사례를 종합적으로 고려한다는 점입니다. 이는 서로 다른 두 가지 리눅스 커널 취약점을 연결합니다. 현대 시스템에 대한 거의 보편적인 공격을 달성하기 위해:
- xfrm-ESP 페이지 캐시 쓰기 - IPsec/ESP 네트워크 스택(esp_input() 함수)의 취약점이 발견되었습니다. 2017년 1월 커밋 (cac2661c53f3). 허용합니다 4바이트 저장 페이지 캐시에 직접 저장되며, 공격자가 제어하는 위치와 값을 가집니다.
- RxRPC 페이지 캐시 쓰기 - RxRPC/rxkad 서브시스템(함수 rxkad_verify_packet_1())에서 오류가 발생하고 있으며, 이는 이후 계속 발생하고 있습니다. 2023 년 XNUMX 월이 방식은 복호화 프로세스를 활용하여 페이지 캐시에 8바이트를 기록하며, 네임스페이스 생성 권한이 필요하지 않고 키는 다음과 같습니다. 사용자 공간에서 완전히 무차별 대입.
첫 번째 취약점은 IPsec(xfrm) 하위 시스템에서 발견되었으며, 다음과 같은 상황에서 악용됩니다. 페이지가 연결된 비선형 소켓 버퍼 (페이지 캐시에 있는 페이지들은 다음과 같은 작업을 통해 연결됩니다.) splice(2) o sendfile(2))는 (를 써서 복사본 확인을 회피합니다.skb_cow_data()이러한 시나리오에서 ESP 고속 복호화 경로는 해당 페이지에 직접 쓰기를 수행하므로 권한이 없는 프로세스가 참조하는 데이터를 수정할 수 있는 가능성이 열립니다.
RxRPC의 경우, 복호화 경로는 다음과 같습니다. 페이지 캐시에 있는 페이지에 대해 제자리 복호화를 적용합니다. 이것들 또한 사용자에 의해 "고정"되지만, 네임스페이스 생성과 같은 특별한 권한은 필요하지 않습니다. 공격자는 사용자 공간에서 암호화된 블록을 준비하는데, 커널에 의해 복호화될 때, 결과는 정확히 원하는 대로 나왔습니다. 기억 속에.
Dirty Frag가 거의 모든 배포판에 영향을 미치는 이유는 무엇일까요?
각각의 취약점은 개별적으로는 모든 시나리오를 포괄하지 못합니다. xfrm-ESP 익스플로잇은 권한이 없는 사용자가 접근할 수 있어야 합니다. 사용자 네임스페이스 생성이는 일부 우분투 구성에서 AppArmor에 의해 차단되는 부분입니다. 반면, RxRPC 익스플로잇은 네임스페이스가 필요하지 않지만, 해당 모듈은 필요합니다. rxrpc.ko는 기본적으로 포함되어 있지 않습니다. 대부분의 기업용 배포판, 예를 들어 특정 버전의 RHEL에서 그렇습니다.
Dirty Frag의 핵심은 여기에 있습니다. 두 가지 공격 경로를 상호 보완적인 방식으로 활용하십시오.사용자 네임스페이스가 허용되는 시스템에서는 ESP 변형이 먼저 실행됩니다. 반면, 많은 Ubuntu 설치 환경처럼 네임스페이스 생성이 제한적이지만 rxrpc 모듈이 기본적으로 로드되는 환경에서는 RxRPC 변형이 실행됩니다. 따라서 한 공격 경로의 "사각지대"는 다른 공격 경로가 보완해 줍니다.사실상 보편적인 취약점을 달성했습니다.
영향을 받은 것으로 확인된 배포판은 다음과 같습니다. 우분투 24.04.4다양한 버전 RHEL 10.1, CentOS Stream 10, AlmaLinux 10, Fedora 44 및 openSUSE Tumbleweed이는 Arch Linux나 Windows의 WSL2 환경과 같은 다른 인기 플랫폼에도 적용됩니다. 실제로 이는 관련 모듈 및 구성이 있는 경우 사용 중인 상당수의 Linux 서버와 데스크톱이 취약할 수 있음을 의미합니다.
Copy Fail 및 기타 최근 오류와의 연관성
Dirty Frag는 Copy Fail(CVE-2026-31431) 취약점 바로 다음에 발생했으며, 이 취약점은 이미 강제 적용되었습니다. 여러 Linux 배포판에서 패치 적용 속도를 높입니다. 현재 활발히 악용되고 있는 권한 상승 취약점에 직면했을 때, 두 공격 방식 모두 페이지 캐시와 빠른 I/O 경로를 악용한다는 공통점을 가지고 있지만, Dirty Frag는 우려스러운 이점을 하나 더 가지고 있습니다. 복사 실패 방지 조치가 적용된 시스템에서도 작동합니다.모듈 잠금 장치와 같은 것들 algif_aead 또는 정책 커널 잠금.
연구원은 Dirty Frag가 발동될 수 있다고 지적합니다. algif_aead 모듈이 활성화되었는지 차단되었는지 여부와 관계없이즉, 운영 서버에서 Copy Fail 권장 사항을 이미 구현했더라도 커널에 특정 패치가 적용되거나 임시 완화 조치가 시행될 때까지는 이 새로운 취약점에 노출된 상태로 남아 있습니다.
사업 환경에 미치는 영향
다음과 같은 맥락에서 리눅스는 데이터 센터, 클라우드 서비스 제공업체 및 정부 기관에서 널리 사용됩니다.Dirty Frag는 내부 네트워크 내에서 횡적 권한 상승의 위험성이 매우 높습니다. 공격자는 (탈취된 자격 증명, 취약한 웹 애플리케이션 또는 잘못 구성된 서비스 등을 통해) 일반 사용자 접근 권한을 획득하면 다음과 같은 상황이 발생할 수 있습니다. 로컬 루트 액세스 권한을 즉시 얻을 수 있었습니다. 복잡한 조건을 이용할 필요 없이 말입니다.
Ubuntu, RHEL, CentOS Stream, Fedora 또는 AlmaLinux와 같은 배포판에서 핵심 서비스를 운영하는 조직의 경우 문제는 특정 공급업체에만 국한되지 않습니다. 바로 취약점 때문입니다. 그것은 리눅스 커널 자체에 존재합니다.AlmaLinux와 같은 일부 프로젝트는 이미 작업에 착수했습니다. 초기 패치 테스트용하지만 이 글이 발행된 시점까지도 널리 사용되는 공식적인 해결책은 아직 없습니다.
이러한 시나리오로 인해 많은 보안 및 시스템 팀이 구현해야 할 사항이 발생합니다. 임시 조치서버 및 워크스테이션 인벤토리를 검토하고, 대화형 셸을 보유하거나 시스템에서 바이너리를 실행할 수 있는 사용자가 있는 환경과 보안 자격 증명(예: 루트 비밀번호 변경이는 Dirty Frag가 악용하는 바로 그 벡터이기 때문입니다.
커널 오류는 어디에서 발생했습니까?
기술적인 측면에서 Dirty Frag는 다음과 같은 위치에 있습니다. 빠른 현장 복호화 경로 커널의 ESP4, ESP6 및 RXRPC 네트워크 모듈에서 가져온 것입니다. 네트워크 패킷이 ESP로 래핑되거나 RxRPC를 통해 도착하면 수신 경로는 성능 향상을 위해 추가 데이터 복사 없이 해당 패킷을 복호화하려고 시도합니다.
문제는 해당 패키지에 다음이 포함될 때 발생합니다. 커널이 독점적으로 소유하지 않는 페이징된 메모리 조각예를 들어, 작업과 관련된 페이지 캐시의 페이지 등이 있습니다. splice o MSG_SPLICE_PAGES커널은 개인 버퍼에서 작업하는 대신, 공유 페이지에 직접 글을 쓰세요권한이 없는 사용자 프로세스에서 여전히 참조되는 데이터가 있습니다. 이로 인해 데이터의 평문이 노출되거나, 더 심각하게는 의도적인 데이터 변조가 가능해집니다.
보안 관련 메일링 리스트에 게시된 분석에 따르면 oss-security 및 netdev2017년 1월에 xfrm-ESP 취약점을 도입한 커밋은 이전 버퍼 오버플로우(CVE-2022-27666)의 근본 원인이기도 했습니다. 코드 변경으로 인해 여러 보안 문제가 발생했습니다. 이 기간 동안.
패치 부재 및 금지령 위반
Dirty Frag는 비공개로 신고되었습니다. 리눅스 커널 관리자들이 2026년 4월 30일에 발표한 내용입니다.원래 계획은 패치를 준비하고 배포 일정을 조율하며 노출 기간을 최소화하기 위해 5월 중순까지 정보 공개를 금지하는 것이었습니다.
그러나 조정 과정과 무관한 제3자가 이를 공개했습니다. ESP 취약점 악용 관련 세부 정보는 5월 7일에 공개됩니다.금지령을 어긴 것입니다. 이러한 상황에 직면하여 연구원은 모든 정보를 공개하기로 결정했는데, 여기에는 다음 사항도 포함됩니다. 단일 명령으로 루트 권한을 획득할 수 있는 기능적 개념 증명그 결과 대부분의 유통업체와 나머지 세계는 준비된 해결책 없이 즉흥적으로 대응할 수밖에 없었습니다.
정보 공개 당시, 메인 커널 트리에는 공식 패치가 없었습니다. 주요 벤더에서 배포하는 업데이트된 버전도 없습니다. AlmaLinux와 같은 일부 공급업체는 내부 테스트를 위해 예비 패치를 출시했지만, 관리자는 여전히 주로 구성 수준의 완화 조치에 의존하고 있습니다.
패치가 나올 때까지 더티 프래그 문제를 완화하는 방법
즉각적인 업데이트가 없는 경우, 보안 커뮤니티의 일반적인 권장 사항은 다음과 같습니다. 관련 커널 모듈을 차단하거나 비활성화합니다. 판결에서: esp4, esp6 y rxrpc이는 취약한 경로가 로드되거나 사용되는 것을 방지하여 공격 표면을 크게 줄입니다.
대부분의 데스크톱 시스템과 범용 서버에는 이러한 모듈이 사용됩니다. 그들은 필수적이지 않다이는 주로 IPsec 기능(네트워크 트래픽 암호화) 및 표준 배포 환경에서는 덜 일반적인 원격 프로시저 호출 메커니즘인 RxRPC와 관련이 있기 때문입니다. 그러나 특정 환경에서는 ESP 기반 IPsec VPN 또는 기타 특정 서비스; 이러한 서비스를 비활성화하면 연결성에 영향을 미칠 수 있으므로 위험성을 평가해야 합니다.
이러한 완화 조치를 신속하고 자동화된 방식으로 적용하는 방법은 취약한 모듈을 무해한 바이너리로 교체하고 이미 활성화된 경우 제거하는 modprobe 구성을 만드는 것입니다. 여러 보안 소스에서 다음과 유사한 명령줄을 공유했습니다.
sudo sh -c "printf 'install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false
' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
이 명령은 파일을 생성합니다. /etc/modprobe.d/dirtyfrag.conf 모듈 사용을 방지하는 규칙 esp4, esp6 y rxrpc 메모리에 이미 로드되어 있는 경우, 해당 메모리 요소들을 다시 로드한 다음 언로드를 시도하십시오. 대부분의 웹 서버, 데이터베이스 또는 일반적인 비즈니스 애플리케이션 인프라의 경우, 중단을 초래해서는 안 됩니다.하지만 항상 실제 운영 환경 이전 단계에서 먼저 테스트하는 것이 좋습니다.
개념 증명 및 실제 활용 위험
Dirty Frag의 공개와 함께 연구원은 다음 논문도 발표했습니다. 개념 증명 코드가 포함된 저장소이를 통해 몇 가지 명령만으로 익스플로잇을 컴파일하고 실행할 수 있습니다. 생성된 바이너리는 두 가지 공격 경로(ESP 및 RxRPC)를 연결하며, 취약한 시스템에서는 현재 사용자를 즉시 루트 권한으로 승격시킵니다..
해당 실패 사례를 분석한 일부 기술 전문가들은 다음과 같은 사실을 발견했습니다. 서로 다른 분포에서 취약성을 재현합니다.여기에는 최신 주요 커널이 설치된 업데이트된 Arch Linux 시스템이 포함됩니다. 개발자들이 점점 더 많이 사용하는 WSL2와 같은 환경에서도 기본 커널이 필요한 조건을 충족하면 동일한 동작이 나타나는 것으로 확인되었습니다.
사용하기 쉬운 공개 익스플로잇과 패치가 없는 창 이는 악의적인 그룹이 Dirty Frag를 공격 체인에 통합하려는 시도를 할 가능성을 높입니다. 많은 조직에게 있어 이는 접근 제어를 시급히 재검토하고, 내부 네트워크 분할을 강화하며, Linux 서버에서 의심스러운 활동에 대한 모니터링을 강화해야 함을 의미합니다.
유통 대응 방안 및 향후 조치
이번 발표는 생태계 전반에 걸쳐 예상치 못한 일이었지만, 여러 리눅스 시스템 제공업체들이 대응에 나서기 시작했습니다. 영향을 받는 복호화 경로에 대한 특정 패치를 작업합니다.연구원 본인이 RxRPC 부분에 대한 수정 사항을 메일링 리스트에 보냈습니다. netdev 4월 말까지 완료될 예정이며, 향후 며칠 또는 몇 주 내에 해당 해결책이 커널의 안정 버전에 통합될 것으로 예상됩니다.
다음과 같이 강하게 나타나는 분포의 경우 우분투, 데비안, RHEL, SUSE, openSUSE, 페도라 또는 알마리눅스핵심은 기존 보안 채널을 통해 제대로 테스트된 커널 업데이트를 제공하는 것입니다. 한편, 관리자와 IT 관리자는 다음 사항을 준수해 주시기 바랍니다. 보안 권고 사항을 면밀히 모니터링하십시오. 공식 저장소에 업데이트가 올라오면 즉시 적용하세요.
최근 Dirty Pipe, Copy Fail, 그리고 이제는 Dirty Frag까지 겪으면서 다음과 같은 필요성이 더욱 부각되었습니다. 커널의 핵심 부분에 대한 보안 검토를 개선합니다.특히 고속 네트워크 및 I/O 경로와 같은 고성능 영역에서는 공격적인 최적화로 인해 미묘하지만 매우 위험한 오류가 발생할 수 있습니다.
최근 발생한 다른 버그들과 함께 Dirty Frag의 출현은 유지 관리의 중요성을 다시 한번 강조합니다. 민첩한 업데이트 정책 및 심층 방어 제어 모든 Linux 인프라에서 발생할 수 있습니다. 이 취약점에 대한 확실한 패치는 아직 없지만, 관련 모듈을 비활성화하고 시스템을 모니터링하며 향후 커널 업데이트를 신속하게 배포할 준비를 하는 것이 현재로서는 이 새로운 공격 벡터의 영향을 최소화하는 최선의 비상 계획입니다.