protobuf.js의 치명적 취약점, Google Cloud 및 Firebase 수천 개 서비스 위협
Protocol Buffers 형식 작업에 사용되는 인기 JavaScript 라이브러리 protobuf.js에 공격자가 서버에서 임의 코드를 실행할 수 있는 치명적 취약점이 발견되었습니다. 이 문제는 수백만 개의 서비스, 특히 Google Cloud 및 Firebase에서 실행되는 서비스에 영향을 미칩니다.
공격 작동 방식
이 취약점은 protobuf 스키마 파일을 처리하는 메커니즘과 관련이 있습니다. 라이브러리는 데이터 설명을 기반으로 JavaScript 코드를 생성하고 eval 유사 함수를 통해 실행합니다. 스키마의 유형 또는 필드 이름에 악성 코드가 삽입되면 검증 없이 실행됩니다.
공격에는 복잡한 작업이 필요하지 않습니다. 애플리케이션이 외부 소스에서 변조된 스키마 파일을 로드하기만 하면 됩니다. 이러한 스키마는 종종 파트너 서비스, 공유 리포지토리 또는 gRPC 자체 설명을 통해 얻습니다. 로드 후 단일 일반 메시지가 악성 코드를 활성화합니다.
위협 범위
- 주간 5,200만 건 다운로드 — protobuf.js가 다운로드되는 횟수입니다.
- 이 라이브러리는 종종 숨은 종속성이므로 실제 취약한 프로젝트 수는 더 많을 수 있습니다.
- 8.0.0 및 7.5.4 이하 버전이 영향을 받습니다.
- 취약점에는 식별자 GHSA-xq3m-2v4x-88gg와 CVSS 점수 9.4가 할당되었습니다.
주요 사항
- 이 취약점은 인증 없이 서버에서 코드 실행을 허용합니다.
- 애플리케이션이 외부 소스에서 스키마를 로드하는 경우 공격이 가능합니다.
- 8.0.1 및 7.5.5 버전에서 수정 사항이 릴리스되었습니다.
- 아직 공개된 공격은 보고되지 않았지만, 악용은 기술적으로 간단합니다.
- Google Cloud, Firebase 및 gRPC를 사용하는 서비스가 특히 취약합니다.
비즈니스 영향
공격자가 단일 스키마 소스를 손상시키면 다음을 수행할 수 있습니다.
- 토큰 및 사용자 데이터에 접근.
- 내부 서비스 침투.
- 기밀 정보 탈취.
protobuf.js의 인기를 고려할 때, 이 공격은 수천 개의 회사에 영향을 미칠 수 있습니다. 개발자는 라이브러리를 긴급히 업데이트하고 모든 종속성, 특히 외부 소스에서 스키마를 로드하는 종속성을 확인해야 합니다.
권장 사항
- protobuf.js를 즉시 8.0.1 또는 7.5.5 버전으로 업데이트하세요.
- 모든 프로젝트에서 취약한 버전의 숨은 종속성을 확인하세요.
- 애플리케이션이 외부 소스에서 스키마 파일을 로드하는 위치를 검토하세요.
- 로드 전에 스키마 검증을 고려하세요.
- 다운로드한 파일에 대한 무결성 제어 메커니즘을 사용하세요.
— Editorial Team
아직 댓글이 없습니다.