CVE 작성방법
CVE 신청 방법
보안 취약점을 발견했을 때 CVE(Common Vulnerabilities and Exposures) 번호를 받는 것은 중요한 과정이다. 2025년 현재 CVE 생태계는 크게 성장했지만, 동시에 복잡해져서 어디에 어떻게 신청해야 할지 혼란스러울 수 있다.
CVE 신청 가능 기관과 선택 기준
주요 CVE 신청 기관
CVE를 신청할 수 있는 주요 기관들을 알아보자. 먼저 MITRE Corporation이 있다. 이 기관은 CVE 프로그램의 중앙 관리 기관으로 1999년부터 운영되어 왔다. 다른 CNA가 담당하지 않는 모든 취약점을 처리하며, 평균 처리 시간은 30일이지만 실제로는 더 길어질 수 있다. 신청은 cveform.mitre.org에서 할 수 있다.
GitHub Security Advisory도 주요 CNA 중 하나다. 오픈소스 프로젝트 전문 CNA로 2024년 기준 5번째로 큰 CNA가 되었다. GitHub에 호스팅된 모든 프로젝트를 대상으로 하며 생태계 제한이 없다. 가장 큰 장점은 72시간 이내의 빠른 처리 시간이며, 실제로는 몇 시간 내에 처리되기도 한다. 개발 워크플로우와 통합되어 있고 Dependabot과 연동된다는 점도 매력적이다.
이외에도 433개 이상의 벤더별 CNA가 있다. Microsoft, Oracle, Google, Apple 등 주요 기술 기업들이 각자의 제품에 대한 취약점을 직접 처리한다. 일반적으로 MITRE보다 처리 속도가 빠르다.
CNA 선택 기준
CVE 신청 시에는 다음과 같은 우선순위로 CNA를 선택하면 된다. 첫째, 해당 제품의 벤더가 CNA인 경우 직접 해당 벤더에 신청한다. 둘째, 오픈소스 프로젝트가 자체 CNA를 운영하는 경우 그곳에 신청한다. 셋째, GitHub에 호스팅된 프로젝트라면 GitHub CNA를 활용한다. 넷째, 특정 분야에 전문화된 Root CNA가 있다면 그곳을 선택한다. 예를 들어 Red Hat은 오픈소스, CISA는 ICS나 의료기기 분야를 전문으로 다룬다. 마지막으로 위의 모든 경우에 해당하지 않을 때 MITRE에 신청한다.
기관별 CVE 신청 절차
MITRE 신청 절차
MITRE에 CVE를 신청하려면 먼저 사전 확인 작업을 거쳐야 한다. cve.org에서 CVE 중복 여부를 확인하고, 다른 CNA의 관할인지 확인한다. 공개 가능한 참조 URL도 미리 준비해둔다.
웹 폼 작성은 cveform.mitre.org에서 진행한다. Request Type은 “Report Vulnerability/Request CVE ID”를 선택하고, 이메일 주소와 취약점 개수를 입력한다. 취약점 유형은 Buffer Overflow, XSS, SQL Injection 등에서 선택하며, 벤더 및 제품 정보와 영향받는 버전을 명시한다. 취약점에 대한 기술적 상세 정보를 설명하고, 참조 URL은 공개 후에 제공할 수 있다.
신청 후에는 평균 30일, 최대 2개월까지 기다려야 할 수 있다. cve-request@mitre.org를 안전한 발신자로 추가해두고, 추가 정보 요청이 오면 신속히 응답해야 한다.
GitHub Security Advisory 절차
GitHub을 통한 CVE 신청은 더 간편하다. 먼저 저장소의 Security 탭에서 “Report a vulnerability” 버튼이 있는지 확인한다. Private Vulnerability Reporting (PVR)이 활성화되어 있으면 직접 제출할 수 있다.
저장소 관리자라면 Security Advisory를 직접 생성할 수 있다. 저장소의 Security 메뉴에서 Advisories를 선택하고 “New draft security advisory”를 클릭한다. 명확한 취약점 요약을 제목으로 작성하고, 설명란에는 영향, 패치, 해결방법을 기술한다. Affected Products에는 생태계, 패키지명, 버전을 입력하고, Severity는 CVSS 계산기를 사용해 결정한다. CWE로 취약점을 분류하고 “Request CVE ID from GitHub”을 선택한 후 초안을 저장한다.
GitHub은 72시간 내에 CVE ID를 할당해준다. 이후 수정 사항을 개발하고 테스트를 진행한다. Advisory를 공개하면 CVE도 자동으로 공개된다.
벤더 CNA 신청 절차
각 벤더마다 절차가 다르지만 일반적인 프로세스는 비슷하다. 먼저 해당 벤더의 security.txt나 책임있는 공개 정책을 확인한다. 지정된 보안 채널로 초기 연락을 취하고, 기술적 세부사항과 PoC, 영향 분석을 포함한 상세 보고서를 제출한다. 보통 90일의 공개 기한을 협의하며, 벤더가 CNA로서 직접 CVE를 할당해준다.
CVE 신청 시 필수 정보
표준 CVE 설명 형식
CVE 설명은 표준화된 형식을 따르는 것이 좋다. “[제품명] [버전 범위]의 [컴포넌트]에서 [취약점 유형]으로 인해 [공격자 유형]이 [공격 벡터]를 통해 [영향]을 줄 수 있다”는 형식을 사용한다.
예를 들어 “LibreOffice 6.4.0부터 7.1.2까지의 RTF 파서에서 스택 기반 버퍼 오버플로우로 인해 원격 공격자가 조작된 RTF 문서를 통해 임의 코드를 실행할 수 있다”와 같이 작성한다.
필수 포함 정보
CVE 신청 시에는 몇 가지 필수 정보를 포함해야 한다. 취약점 설명에는 CWE ID를 포함한 취약점 유형과 기술적 근본 원인, 재현 가능한 상세 설명이 들어가야 한다. 영향받는 소프트웨어 정보로는 정확한 버전 범위와 플랫폼 또는 OS 의존성, 컴포넌트 정보를 명시한다.
영향 평가는 CVSS를 기준으로 작성한다. Attack Vector는 Network, Adjacent, Local, Physical 중에서 선택하고, Attack Complexity는 Low 또는 High로 표시한다. Privileges Required는 None, Low, High 중에서, User Interaction은 None 또는 Required 중에서 선택한다. Impact는 Confidentiality, Integrity, Availability 각각에 대해 평가한다.
참조 정보로는 공개 접근 가능한 URL을 필수로 제공해야 하며, 패치 정보와 관련 문서도 함께 제공하는 것이 좋다.
GitHub 프로젝트 취약점 신청 가이드
GitHub을 선택해야 하는 경우
GitHub CNA를 선택해야 하는 경우가 몇 가지 있다. GitHub에 호스팅된 프로젝트이거나, 72시간 내의 빠른 CVE 할당이 필요한 경우, Dependabot 연동이 필요하거나 개발 워크플로우와 통합하고 싶은 경우가 해당된다.
Private Vulnerability Reporting (PVR) 활용
보안 연구자라면 프로젝트의 Security 탭을 확인하고 “Report a vulnerability” 버튼을 클릭한다. 구조화된 양식에 취약점 정보를 입력하면 자동으로 관리자에게 통보되고 비공개 협업이 시작된다.
프로젝트 관리자는 Settings의 Security & Analysis에서 PVR을 활성화할 수 있다. 알림 설정을 통해 보고서를 놓치지 않도록 하고, SECURITY.md 파일을 작성해 가이드라인을 제공하는 것이 좋다.
실제 사례: JSON5 취약점 (CVE-2022-46175)
JSON5는 주간 다운로드 6천만 회 이상의 인기 npm 패키지다. 프로토타입 오염 취약점이 발견되었고, GitHub PVR을 통해 신속하게 보고되고 수정되었다. 그 결과 1,100만 개 이상의 Dependabot 알림이 생성되어 많은 프로젝트들이 신속하게 대응할 수 있었다.
CVE 신청 양식과 템플릿
MITRE 웹 폼 예시
MITRE 웹 폼 작성 시 다음과 같은 형식을 사용한다. Request Type은 “Report Vulnerability/Request CVE ID”로 설정하고, 이메일과 필요한 ID 개수를 입력한다. 취약점 유형을 선택하고 벤더, 제품, 버전 정보를 명시한다. 설명란에는 “Example CMS 1.0부터 2.5까지 버전의 관리자 패널에서 입력값 검증 부재로 인한 Stored XSS 취약점이 존재한다. 인증된 사용자가 악성 스크립트를 삽입하여 다른 관리자의 세션을 탈취할 수 있다”와 같이 구체적으로 작성한다.
GitHub Advisory 템플릿
GitHub Advisory는 YAML 형식을 사용한다. Title에는 간단명료한 취약점 요약을 작성하고, Description에는 Impact, Patches, Workarounds, References 섹션을 구분해서 작성한다. Ecosystem과 Package 정보를 입력하고, 영향받는 버전과 패치된 버전을 명시한다. Severity는 CVSS 점수와 함께 표시하고, CWE 분류를 추가한다.
CNA 목록과 선택 가이드
2025년 주요 CNA 현황
2025년 현재 총 433개의 CNA가 운영되고 있다. 35개국 이상에 분포되어 있으며, 350개 이상이 실제로 CVE를 발행하고 있다. 2024년 한 해 동안 40,000개 이상의 CVE가 발행되었다.
분야별 주요 CNA
기술 기업 분야에서는 Microsoft, Google, Apple, Oracle 등이 자사 제품을 전담하며 빠른 처리 속도를 자랑한다. 오픈소스 분야에서는 GitHub, Red Hat, Eclipse Foundation이 커뮤니티 친화적인 프로세스와 투명한 공개 절차를 운영한다. 산업 및 의료 분야에서는 CISA가 ICS와 의료기기를 전문으로 다루며, GE Healthcare, Philips, Medtronic 등이 엄격한 검증 절차를 거쳐 CVE를 발행한다.
CNA 선택 시 고려사항
CNA를 선택할 때는 몇 가지를 고려해야 한다. 각 CNA의 관할권을 확인하고, 긴급도에 따라 처리 속도가 빠른 CNA를 선택한다. 특정 분야에 전문성이 있는 CNA를 활용하는 것도 좋은 방법이다. 영어 외 언어 지원이 필요한 경우 해당 언어를 지원하는 CNA를 찾아보는 것도 중요하다.
신청 시 주의사항과 팁
흔한 실수와 해결책
CVE 신청 시 자주 발생하는 실수들이 있다. 잘못된 CNA에 신청하는 경우가 있는데, 이를 방지하려면 cve.org에서 CNA 관할권을 사전에 확인해야 한다. 불충분한 기술 정보를 제공하는 경우도 많은데, 재현 가능한 상세 단계를 포함해서 작성해야 한다. 버전 정보를 누락하는 실수도 흔한데, 정확한 버전 범위를 명시하는 것이 중요하다. 중복 CVE를 신청하지 않으려면 기존 CVE 데이터베이스를 철저히 검색해야 한다.
성공적인 CVE 신청을 위한 팁
성공적인 CVE 신청을 위해서는 공개 전에 CVE를 예약하는 조기 신청이 유리하다. 표준 템플릿을 활용해 명확한 설명을 작성하고, 안전한 PoC를 준비해두는 것이 좋다. 처리 시간을 여유있게 계획하고 인내심을 가져야 하며, 모든 소통 내용을 문서화해두는 것이 중요하다.
책임있는 공개 타임라인
표준적인 공개 기간은 Google Project Zero 모델을 따라 90일이다. 실제로 악용되고 있는 경우에는 7일로 단축될 수 있으며, 복잡한 경우에는 협의를 통해 연장할 수 있다. CERT/CC는 패치 여부와 무관하게 45일을 기준으로 한다.
신청 후 처리 과정
처리 단계별 소요 시간
MITRE의 경우 CVE 할당까지 평균 30일이 소요되며, 검토는 최대 72시간 내에 이루어진다. 공개 참조 URL을 제출하면 즉시 공개된다.
GitHub의 경우 Advisory 검토가 72시간 이내에 완료되고, CVE 할당은 통상 24시간 이내에 이루어진다. Dependabot 연동은 공개 후 72시간 이내에 완료된다.
벤더 CNA의 경우 응답까지 1-2주가 일반적이며, 처리 시간은 벤더별로 다르다. 공개는 미리 조율된 일정에 따라 진행된다.
상태 확인 방법
CVE 신청 상태는 여러 방법으로 확인할 수 있다. cve.org에서 할당된 ID를 검색하거나, CNA로부터의 이메일을 모니터링한다. 공개 후에는 1시간 내에 NVD에 자동 등록되며, GitHub의 경우 Advisory 페이지에서 실시간으로 확인할 수 있다.
후속 조치 및 에스컬레이션
응답이 없는 경우 1-2주 후에 정중히 재연락을 시도한다. 2주 이상 무응답이면 상위 CNA에 연락하거나 MITRE를 통한 직접 신청을 고려한다. 모든 연락 시도는 문서화해두는 것이 중요하다.
2024-2025 최신 동향
주요 변화사항
2025년 4월에는 MITRE의 자금 지원 중단 위기가 있었다. CISA가 11개월분의 긴급 자금을 확보했고, CVE Foundation 설립으로 장기적인 독립성을 확보하게 되었다.
2024년에는 처리량이 급증했다. 40,009개의 CVE가 발행되어 전년 대비 38% 증가했으며, 일일 평균 108개의 CVE가 발행되었다. 하지만 NVD 처리 지연으로 17,000개 이상의 백로그가 발생했다.
품질 면에서는 개선이 있었다. 평균 CVSS 점수가 7.09에서 6.9로 하락했으며, 더 정확한 취약점 분류가 이루어지고 있다. CNA 규칙 4.0 도입으로 유연성도 증가했다.
미래 전망
2025년 CVE 생태계는 계속 성장할 전망이다. 자동화된 취약점 발견 도구가 증가하고 있으며, AI/ML 시스템의 취약점도 증가하고 있다. IoT 및 공급망 취약점에 대한 관심이 높아지고 있으며, 더 빠른 처리를 위한 프로세스 개선이 진행되고 있다.
결론
CVE 신청은 복잡해 보이지만, 적절한 준비와 올바른 채널 선택으로 효율적으로 진행할 수 있다. GitHub의 간편한 프로세스부터 MITRE의 포괄적인 시스템까지, 각 상황에 맞는 최적의 경로가 있다. 가장 중요한 것은 명확한 기술 정보 제공과 책임있는 공개 원칙 준수다.
댓글남기기