execve()를 이용한 로컬 권한 상승
Source: Hacker News
FreeBSD-SA-26:13.exec – 보안 권고
주제: execve() 를 통한 로컬 권한 상승
카테고리: core
모듈: execve(2)
발표일: 2026‑04‑29
제공: Ryan of Calif.io
영향받는 버전: 모든 지원되는 FreeBSD 버전.
수정일: 2026‑04‑29 (아래 표 참고)
CVE: CVE‑2026‑7270
I. 배경
execve(2)는 실행 파일 이미지를 시작하는 시스템 콜이며, 인터프리터 경로가 앞에 붙은 스크립트도 포함합니다. 이 호출은 이미지 경로를 첫 번째 인자로 받고, 이어서 새 이미지에 전달될 추가 인수와 환경 변수를 받습니다.
II. 문제 설명
커널의 연산자 우선순위 버그로 인해 버퍼 오버플로우가 발생하면 공격자가 제어하는 데이터가 인접한 execve(2) 인수 버퍼를 덮어쓸 수 있는 상황이 발생합니다.
III. 영향
이 버그는 권한이 없는 사용자가 슈퍼유저 권한을 얻기 위해 악용될 수 있습니다.
IV. 우회책
우회책이 제공되지 않습니다.
V. 해결책
수정 날짜 이후에 출시된 지원되는 FreeBSD 안정 버전 또는 릴리즈/보안 브랜치(releng)로 시스템을 업그레이드하고 시스템을 재부팅하십시오.
1. 기본 시스템 패키지로 설치된 시스템 업데이트
amd64 또는 arm64 플랫폼에 기본 패키지로 설치된 FreeBSD 15.0‑RELEASE에 적용됩니다:
# pkg upgrade -r FreeBSD-base
# shutdown -r +10min "Rebooting for a security update"
2. 바이너리 배포 세트로 설치된 시스템 업데이트
기본 패키지를 사용하지 않고 설치된 FreeBSD RELEASE(amd64, arm64, 또는 i386(FreeBSD 13) 플랫폼)에 적용됩니다:
# freebsd-update fetch
# freebsd-update install
# shutdown -r +10min "Rebooting for a security update"
3. 소스 코드 패치를 통한 업데이트
다음 패치는 해당 FreeBSD 릴리즈 브랜치에 대해 검증되었습니다.
a) 패치를 다운로드하고 검증하기
# fetch https://security.FreeBSD.org/patches/SA-26:13/exec.patch
# fetch https://security.FreeBSD.org/patches/SA-26:13/exec.patch.asc
# gpg --verify exec.patch.asc
b) 패치를 적용하기
# cd /usr/src
# patch
작업 트리의 커밋 수를 확인하려면(위 숫자와 비교하기 위해):
# git rev-list --count --first-parent HEAD
VII. 참고 자료
이 권고문의 최신 버전은 FreeBSD 보안 권고 사이트에서 확인할 수 있습니다.