[공격] 분석 — CVE-2025-68803
A logic flaw in Linux kernel NFSD fails to apply NFSv4 ACLs during file creation, leading to unintended permission defaults that can be leveraged for unauthorized data access if combined with other vulnerabilities.
📋 요약
- 심각도 미상 · CVSS 미상 · EPSS 0.00177 · 악용난이도 hard
🔍 공격 기법
공격자는 NFSv4 클라이언트로서 서버에 파일 생성을 요청하며 동시에 특정 권한을 가진 named principal 기반의 ACL(Access Control List)을 설정하려 시도한다.
-
취약점 트리거 원리:
nfsd_create_setattr()함수가 호출될 때, 내부적으로nfsd_attrs_valid()를 통해 속성 변경 여부를 확인한다.- 그러나
nfsd_attrs_valid()는iattr변경이나 보안 레이블만 체크하고 POSIX ACL 변경 사항은 무시한다. - 결과적으로 ACL만 포함된 요청의 경우
false가 반환되어nfsd_setattr()호출이 스킵되며, 요청한 ACL이 Inode에 적용되지 않고 기본 mode bits 기반의 Default ACL만 생성된다.
-
공격 표면 및 경로:
- 노출 엔드포인트: NFSv4 서버 포트 (기본 TCP 2049).
- 파라미터/프로토콜: NFSv4
CREATE및SETATTR요청 내 ACL 속성. - 공격 체인:
- 정찰: 대상 서버가 NFSv4를 지원하며, 특정 권한 제어를 위해 ACL을 사용 중인지 확인.
- 초기 접근: 유효한 NFSv4 클라이언트 자격 증명을 통해 서버에 접속.
- 실행 (Trigger): 정교하게 구성된 ACL(예: 특정 사용자에게만 읽기/쓰기 권한 부여)을 포함하여 파일을 생성.
- 영향: 서버는 요청을 수락한 것처럼 보이지만 실제로는 기본 권한(Default ACL)이 적용됨. 공격자는 이후 이 파일의 권한이 의도보다 느슨하게 설정되었는지 확인하여 접근 제어를 우회한다.
-
추정 CVSS 벡터 기반 분석:
- AV:N (Network): 네트워크를 통해 NFS 요청 전송 가능.
- AC:L (Low): 특정 프로토콜 규격(RFC 8881)에 맞춘 요청만 보내면 됨.
- PR:L (Low): 최소한의 NFS 클라이언트 접근 권한 필요.
- UI:N (None): 사용자 개입 불필요.
악용 가능성: 본 취약점은 NFSv4 프로토콜의 파일 생성 과정에서 ACL(Access Control List) 설정이 누락되는 논리적 결함으로, 공격 난이도는 Hard로 평가됩니다. 공격자는 네트워크를 통해 접근 가능한 nfsd 엔드포인트에 연결되어 있어야 하며, 특정 권한을 가진 NFSv4 클라이언트로서 파일 생성 요청 시 ACL 속성을 함께 전송해야 하는 전제조건(AV:N/AC:L/PR:L)이 필요합니다. 공격 표면은 Linux 커널의 nfsd_create_setattr() 함수와 이를 호출하는 NFSv4 프로토콜 스택이며, 특히 nfsd_attrs_valid()가 POSIX ACL 변경 사항을 제대로 검증하지 못해 nfsd_setattr() 호출이 생략되는 지점이 핵심 트리거입니다. EPSS 수치가 0.00177로 매우 낮고 KEV에 등재되지 않은 점은, 이 결함이 즉각적인 원격 코드 실행(RCE)이나 시스템 장악으로 이어지는 직접적인 통로가 아님을 시사합니다. 그러나 실제 악용 가능성은 권한 관리 체계를 우회하여 의도치 않은 기본 ACL(Default ACL)이 적용된 파일을 생성함으로써, 이후 정교하게 설계된 권한 상승(Privilege Escalation)이나 데이터 무단 접근 체인으로 연결될 수 있다는 점에 있습니다. 결과적으로 이론적 심각도는 낮으나, NFS 환경의 세밀한 권한 제어가 필수적인 인프라에서는 논리적 보안 경계를 무너뜨리는 유효한 공격 벡터가 될 수 있습니다.
💥 영향 분석
- 권한 관리 무력화: 보안 관리자가 특정 주체에게만 엄격한 권한을 부여하려 했으나, 실제로는 기본 mode bits에 따른 느슨한 권한이 적용되어 의도치 않은 데이터 노출이나 수정 가능성이 발생한다.
- 보안 정책 위반: RFC 8881 section 6.4.1.3("the ACL attribute is set as given")을 위반하여, 서버의 접근 제어 신뢰성이 파괴된다.
🔗 관련 취약점·체이닝
본 취약점 단독으로는 직접적인 RCE나 권한 상승(Privilege Escalation)을 일으키지 않으나, 다음과 같은 체이닝 경로가 추정된다.
- 추정 체이닝 패턴:
접근 제어 설정 오류$\rightarrow$권한 밖의 데이터 접근/수정$\rightarrow$애플리케이션 로직 오염. - 상세 시나리오:
- 데이터 무결성 파괴: 특정 프로세스만 수정 가능해야 하는 설정 파일을 생성할 때, ACL 적용 실패로 인해 다른 낮은 권한의 사용자가 해당 파일을 수정할 수 있게 된다면 이는 시스템 전체의 권한 상승으로 이어질 수 있다.
- 정보 유출 체이닝: 민감 정보를 담은 파일을 생성하며 엄격한 ACL을 걸었으나, 기본 권한으로 인해 읽기 권한이 열려 있는 경우 정보 노출 취약점으로 이어진다.
- 유형 수준 분석: CWE-284 (Improper Access Control) 유형의 결함이며, 설정 단계에서의 로직 오류가 실행 단계의 보안 경계 붕괴로 이어지는 패턴이다.
🔎 탐지
- 네트워크 레벨: NFSv4
CREATE요청 패킷 중 ACL 속성이 포함되어 있으나, 이후 해당 파일에 대한GETATTR또는READ요청 시 예상과 다른 권한 응답이 돌아오는 패턴 감시. - 커널/시스템 레벨:
nfsd_create_setattr()내에서nfsd_attrs_valid()가 ACL 변경 사항을 인지하지 못하고 스킵하는 로직 흐름 추적 (디버그 로그 필요).
🛡️ 완화 방안
- 근본 해결: Linux 커널 패치를 적용하여
nfsd_attrs_valid()함수가 POSIX ACL 변경 사항을 정상적으로 체크하도록 수정. - 즉시 조치:
- NFSv4 ACL에 의존하는 중요 워크로드의 권한 설정을 재검토하고, 필요 시 전통적인 Unix Permission(mode bits)을 통해 최소 권한 원칙을 강제 적용.
- 신뢰할 수 없는 클라이언트의 NFS 접근 제한.
[파이프라인 근거] 본 분석은 다중 소스에서 일관성이 확인된 사실을 바탕으로 작성되었다. EPSS 실측값 0.00177(백분위 0.07464) 및 exploit 등급 'hard'를 통해 실제 야생에서의 악용 가능성은 매우 낮음을 확인하였으며, 이에 따라 우선순위를 monitor로 결정하였다. 이는 CVSS 점수와 별개로 실측 기반의 위험도를 반영한 결과이다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=미상 · non-KEV · EPSS=0.00177 · exploit=hard · in_scope=None