신뢰성 확보를 위해 누클레이는 고(Go) 정규식(regex) 기반의 서명 검증 프로세스를 사용하고 있다. 프로젝트디스커버리에 따르면, 취약점은 서명 검증 프로세스와 YAML 구문 분석기에서 줄 바꿈 문자를 처리하는 방식에 차이가 있기 때문에 발생한다. 고의 검증 로직은 ‘\r’을 같은 줄로 간주하지만, YAML 구문 분석기는 이를 줄 바꿈으로 처리해 공격자가 악성 코드를 삽입할 여지를 남긴다는 설명이다.
이 취약점은 누클레이가 여러 개의 “digest:” 서명 라인을 제대로 처리하지 못하는 문제와 결합되어 더 심각한 보안 위험을 초래할 수 있다. 공격자는 취약점을 악용해 템플릿의 정상적인 부분에 대한 서명은 그대로 유지한 채, 템플릿 내에 악성 코드를 몰래 삽입할 수 있다.
CLI 및 SDK 사용자 모두 영향
프로젝트디스커버리는 누클레이의 CLI 및 SDK 사용자 모두가 취약점의 영향을 받으며, 패치를 적용해야 한다고 설명했다. CLI 사용자에는 서드파티 및 미검증 저장소와 같은 신뢰할 수 없는 출처의 사용자 정의 코드 템플릿을 실행하는 사용자도 포함된다.