
CVE-2026-31431
놀랍도록 단순하지만 치명적인 Linux 커널 로컬 권한 상승 취약점
CVE-2026-31431 (일명 "복사 실패")은 Linux 커널의 암호화 하위 시스템, 특히 algif_aead 인터페이스에 영향을 미치는 로컬 권한 상승 취약점입니다.
권한이 없는 로컬 사용자는 이 결함을 악용하여 시스템에서 읽을 수 있는 모든 파일(setuid 바이너리 포함)의 페이지 캐시에 제어된 4바이트 쓰기를 수행할 수 있으며, 궁극적으로 루트 권한으로 임의 코드 실행이 가능해집니다.
이 취약점은 2017년 커밋 72548b093ee3("crypto: algif_aead - support in-place operations")에 의해 도입되었습니다.
커널은 AEAD 요청이 제자리(in-place)(req->src == req->dst)에서 안전하게 실행될 수 있다고 잘못 가정했습니다. 그러나 일반 파일에서 splice()와 함께 AF_ALG 소켓을 사용할 경우 소스 및 대상 버퍼는 종종 서로 다른 메모리 매핑에 위치하게 됩니다.
이러한 불일치로 인해 페이지 캐시에서 제어된 메모리 손상을 허용하는 논리 오류가 발생했습니다.
익스플로잇은 사소할 정도로 간단합니다. 약 10줄의 Python PoC로 패치되지 않은 시스템에서 안정적으로 루트 권한을 획득할 수 있습니다.
| 지표 | 값 |
|---|---|
| CVSS v3 점수 | 7.8 (높음) |
| Red Hat 등급 | 중요 |
| Ubuntu 등급 |
a664bf3(또는 이에 상응하는 백포트) 이전의 모든 커널권장 조치: 커널을 즉시 업데이트하십시오.
공식 수정 사항은 crypto/algif_aead.c의 문제가 되는 in-place 최적화를 되돌립니다.
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y
# RHEL / Fedora / Rocky / Alma
sudo dnf update kernel -y
# Check kernel version
uname -r
임시 해결 방법 (즉시 패치가 불가능한 경우):
AF_ALG 소켓 사용 제한매우 작고 안정적인 Python 개념 증명(PoC)을 포함한 공개 익스플로잇이 이미 공개되어 있습니다.
⚠️ 경고: 공개 이후 패치되지 않은 시스템은 매우 취약합니다.
안전하게 지내세요. 일찍 패치하세요. 자주 패치하세요.
리눅스 커뮤니티를 위해 ❤️로 제작되었습니다
| 높음 |
| 공격 유형 | 로컬 권한 상승 |