Huny's Dev Blog
huny.dev

서비스와 앱에도 CVE가 붙는다: 개발자가 알아야 할 취약점 식별의 범위

CVE는 언어나 미들웨어만의 번호가 아니다. 앱·SaaS의 취약점과 의존성 결함을 구분하고, 할당 규칙·배포 범위·수정 검증을 연결하는 실무 관점을 정리한다.

Hun Jang
Hun Jang Nov 14, 2026

앱·소프트웨어·클라우드 서비스를 하나의 취약점 식별 체계로 바라보는 생성형 개념 이미지. 실제 제품 화면이나 보안 진단 결과가 아니다.

서비스나 앱에도 CVE가 붙는다. CVE는 프로그래밍 언어나 미들웨어에 주는 인증이 아니라, 특정 보안 취약점을 서로 같은 대상으로 지칭하기 위한 식별자다. 개발자가 확인할 것은 제품의 유명세보다 취약한 기능, 영향을 받는 배포 범위, 수정 방법이다.

특히 SaaS는 “설치 파일이 없으므로 CVE 대상이 아니다”라고 판단하면 안 된다. 반대로 모든 서비스 오류가 자동으로 CVE가 되는 것도 아니다.

클라우드라는 이유만으로 제외하지 않는다

CVE Program의 CNA 운영 규칙 4.2.3은 클라우드·온프레미스·AI 같은 기술 유형만을 근거로 할당 여부를 결정하지 못하도록 한다. 4.2.2는 취약점이 존재한다는 합리적 근거, 공개되었거나 공개될 예정인지, 담당 CNA의 범위를 함께 다룬다. CNA는 CVE 번호를 할당하는 기관이다.

따라서 모바일 앱, 데스크톱 앱, 웹 제품, 클라우드 서비스 모두 취약점의 내용과 할당 규칙을 기준으로 검토한다. “서비스라서 제외”와 “버그라서 무조건 등록”은 모두 잘못된 단순화다. CVE Program 공식 CNA 운영 규칙 4.2

앱 자체 문제와 의존성 문제를 구분한다

다음은 실제 사고가 아닌 설계 검토용 가상 사례다.

파일 공유 앱의 다운로드 API가 로그인 여부만 검사하고 파일 소유권은 검사하지 않는다고 하자. 다른 사용자의 파일을 읽을 수 있다면 먼저 앱의 접근 제어 결함으로 조사한다. 사용한 언어나 웹 프레임워크에서 CVE를 찾는 것만으로는 이 문제를 관리할 수 없다.

반대로 앱에 포함한 이미지 처리 라이브러리에 결함이 있다면, 라이브러리의 취약점과 앱의 노출 여부를 연결한다. 이때 앱 이름마다 새 번호를 붙이는 것으로 이해하면 안 된다. CNA 규칙 4.2.13은 같은 취약 코드를 공유하는 여러 제품이 동일한 독립 수정 가능 취약점의 영향을 받는 경우 CVE를 공유하도록 한다. 공식 할당 규칙

실무에서는 “어디서 고쳐야 하는가”와 “누가 업데이트해야 하는가”를 분리하면 정리가 쉽다. 라이브러리 수정이 끝났더라도 이를 포함한 앱의 새 빌드와 배포가 필요한지는 별도 질문이다.

SaaS에서는 버전 대신 배포 경계도 기록한다

설치형 제품은 고객이 사용 중인 버전과 수정 버전을 비교하기 쉽다. 직접 운영하는 서비스는 사용자에게 버전 번호가 보이지 않을 수 있다. 그래서 다음처럼 내부 대응 기록을 구성하는 방법을 권한다. 아래는 공식 표준이 아니라 이 글의 실무용 예시이며, 실제 시스템에서 실행한 결과가 아니다.

번호가 아직 없다고 조사를 멈추지 않는다. 재현 조건과 영향을 먼저 정리하고, 배포·검증 상태를 따로 남긴다. 서비스 제공자가 서버를 수정하는 것과 고객에게 토큰 교체 등 후속 조치가 필요한지는 같은 일이 아니다.

위 예시의 검증은 반드시 자신이 관리하거나 테스트를 허가받은 환경에서 테스트 계정과 비민감 데이터로 수행한다. 실사용자의 파일을 열어 성공 여부를 확인하는 방식은 피한다.

CVSS 점수는 우선순위의 입력이지 결론이 아니다

CVE 번호와 심각도 점수를 혼동하지 않는다. FIRST는 CVSS Base 점수가 취약점 자체의 심각도를 나타내며, 이것만으로 위험을 판단하지 말라고 설명한다. 위협 정보와 실제 환경을 함께 고려해야 한다. FIRST CVSS v4.0 사용자 가이드

예를 들어 같은 앱이라도 취약 기능이 활성화되어 있는지, 외부에서 접근 가능한지, 어떤 권한이 필요한지에 따라 대응 계획은 달라진다. 이는 “점수가 낮으면 무시해도 된다”는 뜻이 아니다. 근거를 적고 담당자와 기한을 정하자는 뜻이다.

검토 티켓에는 다음 다섯 가지를 함께 남기는 편이 좋다.

  • 공급업체 권고문과 CVE 레코드 링크
  • 실제 사용 제품·버전·배포 식별 정보
  • 영향을 받는 기능과 접근 조건
  • 수정·완화 조치와 적용 담당자
  • 적용 후 재검증 결과와 확인 시각

발견한 취약점은 어디에 알릴까

먼저 제품 공급업체의 보안 신고 창구와 공개 정책을 확인한다. CNA 운영 규칙은 가장 적합한 범위를 가진 CNA에 먼저 할당 기회를 주는 원칙을 둔다. 민감한 재현 정보는 공개 게시물보다 지정된 신고 경로에서 조율한다. CNA 규칙 4.2.1

개발팀이 취약점 관리 대상을 의존성 목록으로만 한정하면 앱 자체의 권한·인증·데이터 경계 결함을 놓칠 수 있다. CVE를 “기반 기술의 문제 번호”가 아니라 “우리 제품에도 생길 수 있는 취약점의 공통 이름”으로 이해하는 것이 출발점이다.

확인 범위

이 글은 공개된 CVE Program 운영 규칙과 FIRST 문서를 확인해 작성했다. 특정 제품의 취약점 판정이나 CVE 발급을 보장하지 않는다. 가상 사례와 YAML은 설명용 제안이며 침투 테스트나 운영 검증을 실행한 결과가 아니다.

추천 글