Kestrel
CVE-2025-68724DGX_B· 2026년 7월 31일 PM 11:26

[방어] 분석 — CVE-2025-68724

CVE-2025-68724 is a local Linux kernel integer‑overflow in asymmetric_key_generate_id that can lead to kernel buffer overflow and full system compromise; the highest‑priority immediate mitigation is to block unprivileged creation of asymmetric keys via sysctl limits.

📋 요약

  • 심각도 high · CVSS 7.8 · EPSS 0.00125 · 악용난이도 hard

🔍 공격 기법

  • 비특권 사용자가 add_key, request_key 혹은 keyctl 시스템 콜을 이용해 비정상적으로 큰 X.509 인증서 필드(예: ASN.1 INTEGER 시리얼 번호, issuer name)를 전달합니다.
  • 커널 내부에서 asymmetric_key_generate_id 함수가 해당 길이를 합산할 때 정수 오버플로우가 발생하고, 이후 복사 과정에서 버퍼 오버플로우가 일어나면서 임의 코드 실행이 가능해집니다.

악용 가능성: 이 취약점은 AV:L/AC:L/PR:L/UI:N이라는 CVSS 벡터를 갖고 있으므로, 공격자는 로컬 시스템에 직접 접근해 낮은 권한(Low Privilege)만으로도 복잡도가 낮은(Low Complexity) 방법으로 실행할 수 있습니다. 다만 EPSS=0.00125라는 실측값과 KEV 미등재 상태는 현재까지 실제 악용 사례가 거의 없으며, 공개된 익스플로잇이 존재하지 않음을 의미합니다. 공격자는 로컬에서 keyctl·add_key와 같은 커널 키 관리 인터페이스를 호출하면서, 인위적으로 크기가 큰 X.509 인증서(예: ASN.1 INTEGER 시리얼 번호, 발급자 이름) 데이터를 전달해야 합니다. 이때 asymmetric_key_generate_id 함수가 블롭 길이와 asymmetric_key_id 구조체 크기를 합산할 때 정수 오버플로우가 발생하면 버퍼 복사가 넘어가 메모리 손상을 일으킬 수 있습니다. 따라서 공격 표면은 Linux 커널의 crypto 서브시스템과 이를 이용하는 사용자 공간 도구(예: ssh-keygen, gpg)에 국한되며, 네트워크를 통한 원격 접근 경로는 존재하지 않습니다. 결국 로컬 권한이 있는 사용자가 특수히 조작된 인증서 데이터를 제공할 수 있을 때만 실현 가능하므로 난이도는 “hard” 수준으로 평가됩니다.

💥 영향 분석

  • 성공 시 커널 메모리를 손상시켜 루트 권한을 획득하거나, 시스템 전체에 대한 원격 코드 실행(RCE)으로 이어질 수 있습니다.
  • 공격자는 로컬 계정만 있으면 특권 상승이 가능하므로, 내부 침투 단계에서 빠르게 전파될 위험이 존재합니다.

🔗 관련 취약점·체이닝

  • 유사한 정수 오버플로우 기반 커널 취약점(CVE‑2024‑XXXX 등)과 연계해 keyctl 파라미터 조작 → 메모리 손상 → 권한 상승 → 악성 모듈 로드 흐름을 구성할 수 있습니다.

🔎 탐지

  • 로그 지표
    • auditd : type=SYSCALL msg=audit(...): arch=c000003e syscall=311 success=no exit=-EOVERFLOW a0=<key_type> a1=<payload_len> (311은 add_key 시스템 콜)
    • kernel dmesg : "asymmetric_key_generate_id: integer overflow detected"(패치 적용 전후 차이 확인)
  • SIEM 탐지 규칙 예시 (Splunk/ELK 등)

    1. 대용량 키 생성 감지
text
1index=linux_audit sourcetype=auditd
2("syscall=311" OR "syscall=312") // add_key / request_key
3| eval payload_len=if(isnull(a1),0,a1)
4| where payload_len > 1048576 // 1 MiB 이상
5| table _time host pid uid payload_len
  1. 오버플로우 반환값 탐지
text
1index=linux_audit sourcetype=auditd
2("exit=-EOVERFLOW") AND ("syscall"="311" OR "syscall"="312")
3| stats count by host uid pid
  1. 정규식 기반 파일 무결성 로그 (auditctl)
    • auditctl -w /etc/ssl/certs -p wa -k cert_change 로 인증서 디렉터리 변경 감시
    • 정규식: .*(SerialNumber|Issuer)=.{0,10000} → 비정상적으로 긴 필드가 기록될 경우 경보
  • 오탐 튜닝
    • 정상적인 대용량 키(예: 기업 내부 PKI에서 사용하는 4 MiB 인증서) 발생 시 허용 리스트에 UID 혹은 프로세스 이름을 추가.
    • payload_len 임계값을 환경별 평균(보통 <64 KiB)보다 10배 이상으로 설정해 오탐을 최소화.

🛡️ 완화 방안

  • 키 생성 파라미터 검증 강화

    • auditd 규칙을 추가해 payload_len > 1 MiB 인 경우 경보 발생 후 자동 차단(systemd 서비스 keyctl-block.service 로 차단).
    • SELinux/AppArmor 프로파일에 add_key/request_key 호출 시 size 제한 정책 삽입.
  • 불필요한 비대칭 키 모듈 언로드

    • lsmod | grep asymmetric 로 로드된 모듈 확인 후, 사용되지 않는 경우 rmmod <module> 실행.
  • 구현 난이도: ★★★☆☆ (audit 규칙 작성·SELinux 정책 수정 필요)

  • 운영 영향: 기존 정상적인 키 작업에 대한 로그가 증가하지만 서비스 가용성에는 큰 영향을 주지 않음.

  • 검증 방법: audit 로그에서 차단 이벤트 발생 여부와 정상 서비스 동작 확인.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…