TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 28 READS

Go, CA 침해로 폐기된 중간 인증서 8종을 체인에서 차단한다

Go, CA 침해로 폐기된 중간 인증서 8종을 체인에서 차단한다
SOURCE IMAGE · HACKER NEWS

Go 표준 라이브러리의 인증서 검증 로직이 특정 중간 인증서(intermediate certificate)들에 대한 신뢰를 거둬들인다. Go 팀은 "운영상의 구체적인 보안 우려" 때문에 소수의 중간 인증서에 대한 신뢰를 차단한다고 밝혔으며, 이 변경은 CVE-2026-111943으로 추적된다. 패치는 긴급(URGENT) 트랙으로 처리돼 Go 1.26.10과 1.27.3에 반영됐고, 각각 release-branch.go1.26, release-branch.go1.27로 백포트됐다. Go 팀은 해당 릴리스로 즉시 업그레이드할 것을 강하게 권고하고 있다.

무엇이 어떻게 바뀌나

핵심 변경은 crypto/x509의 인증서 검증 동작에 있다. 이번 패치 이후 Verify는 문제가 된 중간 인증서를 포함하는 인증서 체인을 걸러내며, 그런 체인을 호출자에게 반환하지 않는다. 즉 검증 함수가 "유효한 경로"로 그 체인을 내놓지 않게 되므로, 해당 중간 인증서를 거쳐 발급된 서버 인증서는 Go 프로그램 입장에서 신뢰할 수 없는 것으로 처리된다. 이슈 제목이 "여덟 개의 신뢰 철회된 SPKI"를 언급하는 데서 알 수 있듯, 차단 기준은 개별 인증서 자체가 아니라 공개키 정보를 식별하는 SPKI(Subject Public Key Info) 단위다. 공개키 해시를 기준으로 삼으면 같은 키를 재사용하는 변형 인증서까지 일괄 차단할 수 있다.

이 방식은 운영체제나 브라우저의 신뢰 저장소와는 별개로 동작하는, 언어 런타임 수준의 거부 목록이라는 점이 특징이다. OS 신뢰 저장소 업데이트를 기다릴 필요 없이 Go로 작성된 클라이언트·서버가 자체적으로 해당 인증서를 거부하게 된다. 반대로 말하면, OS나 다른 언어 스택은 이 조치의 보호를 받지 않으므로 같은 위협에 대한 대응은 각 플랫폼이 별도로 수행해야 한다.

배경과 석연치 않은 정황

커밋 메시지에 따르면 문제의 중간 인증서들은 CCADB 기록상 10월 18~19일에 cACompromise(CA 키 침해) 사유로 모두 폐기(revoke)됐다. 통상 CA 키 침해는 인증서 생태계에서 가장 무거운 사고에 속한다. 그런데 이 사안을 두고 어디에서도 관련 뉴스나 보고가 보이지 않는다는 점이 개발자들 사이에서 의아함을 낳았다. 폐기 자체는 공개 데이터베이스에 남아 있으나, 어떤 CA의 무엇이 왜 침해됐는지에 대한 공개 설명이 비어 있는 상태다.

이 때문에 패치 논의에서는 투명성에 대한 불만도 나왔다. 한 참여자는 커밋에 담긴 해시 옆에 그 해시가 누구의, 무엇에 해당하는지 설명해 주기를 바란다고 요청했다. 보안상 즉각 차단이 먼저이고 상세 공개가 나중인 것은 흔한 순서지만, 운영자 입장에서는 자신이 쓰는 인증 경로가 영향권에 있는지 판단할 근거가 당장은 부족하다는 뜻이기도 하다.

실무자가 점검할 것

한국의 서비스 운영자와 개발자라면 두 가지 방향에서 영향을 가늠해야 한다. 첫째는 소비자 측면이다. Go로 작성된 클라이언트, 프록시, 에이전트 등이 외부와 TLS 통신을 한다면 업그레이드 후 특정 상대 서버 인증서가 갑자기 거부될 수 있다. 둘째는 발급 측면이다. 만약 자사 서버 인증서가 공교롭게 이 중간 인증서를 거쳐 발급된 것이라면, Go 기반 클라이언트들이 접속을 끊기 시작할 수 있으므로 인증서 재발급이 필요하다. 실제로 여러 프로젝트가 이미 빌드 기반을 Go 1.26.10 및 1.27.3으로 올리는 변경을 올렸고, 어떤 곳은 1.27.2에서 1.27.3으로 범프하며 이 CVE를 명시했다.

대응 자체는 단순하다. 빌드에 사용하는 Go 툴체인을 패치 버전으로 올리고 바이너리를 재배포하면 된다. 다만 유의할 점은 이 보호가 재컴파일에 의존한다는 것이다. 기존 버전으로 빌드된 바이너리는 자동으로 거부 목록을 적용받지 않으므로, 컨테이너 베이스 이미지와 CI 툴체인까지 함께 갱신해야 실질적인 효과가 있다.

현재 공개된 정보의 한계도 분명히 해 둘 필요가 있다. 영향을 받는 CA나 인증서의 구체적 신원, 침해 경위, 실제 악용 사례 여부는 원문 자료만으로는 확인되지 않는다. 지금 확실한 것은 Go가 여덟 개의 SPKI를 신뢰 경로에서 배제하기로 했고, 그 조치가 긴급 트랙으로 두 개의 안정 릴리스에 백포트됐다는 사실이다. 추가 정보가 공개되기 전까지는 과도한 추측보다 툴체인 업그레이드와 자사 인증 경로 점검이라는 확정된 행동에 집중하는 편이 안전하다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/golang/go/issues/82345
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...