Kestrel
CVE-2025-68803DGX_F· 2026년 8월 2일 AM 12:27

[단독방어] 분석 — CVE-2025-68803

CVE-2025-68803 allows an NFSv4 client to create files without the requested POSIX ACL, leading to privilege escalation; immediately disable NFSv4 ACL handling on affected exports as a stop‑gap mitigation.

📋 요약

  • 심각도 high · CVSS 8.0 · EPSS 0.00368 · 악용난이도 hard

🔍 공격 기법

NFSv4 클라이언트가 파일 생성 시 named principal을 포함한 POSIX ACL을 지정해 RPC SETATTR 요청을 보내면, nfsd 내부에서 nfsd_attrs_valid() 가 ACL 변화를 인식하지 못하고 nfsd_setattr() 호출이 생략됩니다. 결과적으로 inode 에 ACL 이 적용되지 않아 서버는 파일 모드 비트 기반의 기본 ACL만 반환합니다. 공격자는 의도한 제한보다 넓은 접근 권한을 가진 파일을 얻어, 이후 해당 파일을 이용해 권한 상승 또는 무단 데이터 접근을 수행할 수 있습니다.

악용 가능성: 이 취약점은 네트워크 접근(AV:N)이 필요하므로 공격자는 NFSv4 서비스를 외부에서 직접 호출할 수 있어 원격 이용이 가능하지만, 사용자 상호작용(UI:R)이 요구됩니다. 즉, 공격자는 파일 생성 요청 시 ACL을 지정하는 정상적인 클라이언트 동작을 수행해야 하며, 이는 일반 사용자가 파일을 만들 때 자동으로 발생합니다. 권한 요구조건(PR:L)은 로컬 또는 인증된 NFSv4 사용자에게만 제한되므로, 공격자는 이미 유효한 NFS 계정을 보유하거나 인증 정보를 탈취한 상태여야 합니다. 공격 난이도(AC:L)는 “Low”로 평가되는데, 이는 ACL을 포함한 파일 생성 RPC를 조작하는 것이 비교적 간단하고, 추가적인 특수 권한 상승 단계가 필요 없기 때문입니다. EPSS 값 0.00368은 실제 악용 가능성이 낮지만 존재함을 의미하며, KEV에 등재되지 않은 점은 아직 광범위하게 관찰된 사례가 부족함을 보여줍니다. 노출된 공격 표면은 NFSv4 프로토콜의 CREATESETATTR RPC 엔드포인트이며, 특히 ACL 파라미터를 포함한 파일 생성 요청이 전송되는 경우에만 취약성이 발현됩니다.

💥 영향 분석

  • 생성된 파일에 지정한 ACL이 적용되지 않아 실제 권한보다 높은 읽기/쓰기/실행 권한이 부여됨
  • NFSv4 클라이언트가 의도하지 않은 권한을 가진 파일을 배포함으로써, 동일 네트워크 내 다른 사용자·서비스가 해당 파일에 접근 가능해짐
  • 공격자는 이 파일을 악성 스크립트·바이너리 등으로 활용하여 시스템 권한 상승(특히 루트가 아닌 일반 사용자가 NFS 서버의 root‑squash 설정을 우회) 또는 데이터 유출 위험이 발생

🔗 관련 취약점·체이닝

  • 동일 계열의 POSIX ACL 적용 오류(CWE‑??)와 결합하면, 파일 소유자 변경(Chown) 후 권한 재설정 공격으로 이어질 수 있음
  • NFSv4 EXPORT 옵션(fsid, no_root_squash)과 조합 시, 권한 상승 경로가 단축될 가능성이 존재함

🔎 탐지

  • 로그 지표

    • auditdsetxattr 이벤트: objtype=PATH, name="system.posix_acl_access" 혹은 "system.posix_acl_default" 가 기록된 경우 추적
    • rpc.nfsd 로그(레벨 debug 이상)에서 SETATTR RPC 호출 시 acl= 필드가 존재하지만 이후 ACL applied 메시지가 누락되는 패턴
    • syslog/journalctl -u nfs-server 에서 nfsd_create_setattr 함수 진입 로그와 nfsd_attrs_valid: false 경고(패치 전 커널에선 디버그 옵션이 켜진 경우)
  • SIEM 탐지 규칙 예시

    1. Auditd 기반 쿼리 (Splunk/Elastic)
text
1index=linux audit
2event.type="SETXATTR"
3object.path="/export/*"
4attr.name IN ("system.posix_acl_access","system.posix_acl_default")
5| stats count by host, user, object.path, _time
6| where count > 0
text
1 *오탐 튜닝*: 일반 백업·복구 작업에서 ACL을 일괄 적용하는 경우 `proc.name="rsync"` 혹은 `proc.cmdline="*backup*"` 로 필터링

2. NFS 로그 기반 정규식 (Logstash/Graylog)

text
1^.*nfsd_create_setattr\(\).*attrs_valid=0.*$
text
1 *오탐 튜닝*: `debug` 레벨이 아닌 운영 환경에서는 해당 로그가 거의 발생하지 않으므로, 레벨 INFO 이상만 수집

3. Syscall 추적 (Falco)

text
1syscall=setxattr and evt.dir=< and fd.name startswith "/export/" and arg2 in ("system.posix_acl_access","system.posix_acl_default")
text
1 *오탐 튜닝*: `proc.name`이 `systemd-tmpfiles`, `restorecon` 등 시스템 초기화 스크립트인 경우 제외
  • 검증 방법
    • 위 규칙을 적용한 후, 테스트 클라이언트에서 ACL 포함 파일 생성 시 알림 발생 여부 확인
    • 정상적인 백업·복구 시나리오와 비교해 false positive 비율을 측정하고, proc.name/cmdline 필터를 조정

🛡️ 완화 방안

  • 즉시(긴급 차단)

    • NFS export 옵션에 noacl 를 추가하거나 전체 NFSv4 서비스에서 ACL 지원을 비활성화(sysctl -w fs.nfs.idmap_cache_timeout=0 && echo "options nfsd no_acl" > /etc/modprobe.d/nfsd.conf && modprobe -r nfsd && modprobe nfsd)
    • 구현 난이도: 낮음 (수분 내 적용 가능) → 운영 영향: ACL 기반 권한 제어가 필요한 워크로드는 일시적으로 기본 모드 비트 권한만 사용하게 됨, 가용성은 유지
  • 단기(완화)

    1. ACL 검증 스크립트 배포 – NFS export 디렉터리 전체를 주기적으로 getfacl 로 검사하고, 기대 ACL과 차이가 있으면 관리자에게 알림 (cron + diff)

      • 난이도: 중간 (스크립트 작성·배포) → 영향: 파일 시스템 I/O 증가(대상 디렉터리 규모에 따라) → 검증: 스크립트 실행 로그와 알림 확인
    2. 클라이언트 측 제한 – NFSv4 클라이언트에서 mount -o nfsvers=3 로 강제 다운그레이드하거나, rpc.idmapd 를 비활성화해 named principal 사용을 차단

      • 난이도: 낮음 → 영향: 일부 최신 기능(ACL, Kerberos) 상실 → 검증: 마운트 옵션 확인 (mount | grep nfs)
  • 근본(해결)

    • 해당 커널 패치를 포함하는 최신 Linux 배포판(예: kernel 6.8.x 이상)으로 업그레이드하고, NFS 서버 서비스를 재시작한다.
      • 구현 난이도: 높음 (재부팅·패키지 의존성 검증 필요) → 운영 영향: 서비스 중단 시간 발생 가능 → 검증: uname -r 로 커널 버전 확인 후, nfsstat -c 로 NFS 동작 정상 여부 점검
  • 잔여 리스크

    • 패치 적용 전까지 noacl 옵션으로 인한 권한 제어 약화가 남으며, ACL 기반 보안 정책을 사용하는 서비스는 별도 접근 제어(Linux Capabilities·SELinux)로 보완 필요.
  • 인시던트 대응 플레이북

    1. 알림 수신 → 해당 호스트와 export 경로 확인
    2. auditctl -l | grep setxattr 로 현재 감시 설정 검증, 필요 시 즉시 auditctl -a exit,always -F arch=b64 -S setxattr -F dir=/export/... 추가
    3. getfacl /export/<path> 로 실제 ACL 확인, 기대와 차이 있으면 즉시 chmod·setfacl 로 교정 후 로그 남김
    4. 공격 가능성 판단 시 NFS 클라이언트 로그에서 비정상적인 SETATTR 호출 패턴을 추가 분석하고, 필요 시 해당 클라이언트를 격리

위 조치를 순차적으로 적용하면 CVE-2025-68803 로 인한 권한 상승 위험을 최소화하면서 서비스 연속성을 유지할 수 있습니다.

⚖️ 위험도 / 우선순위

  • 조치: scheduled (이번 주 내)
  • 근거: CVSS=8.0 · non-KEV · EPSS=0.00368 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…