2026년 Next.js 대규모 해킹: CVE-2025-55182 취약점 타고 766개 서버 자격증명 유출

  • CVE-2025-55182(React2Shell) 취약점을 악용한 대규모 자동화 공격으로 766개 이상 Next.js 서버의 자격증명과 민감 정보가 탈취됨
  • 환경 변수와 자격증명 유출로 인해 AWS 시크릿, 데이터베이스 정보, SSH 키 등 주요 서비스 인프라가 위협받음
  • 공급망·오픈소스 취약점 관리 미흡이 피해 확산의 근본 원인으로 지적돼, 패치 및 권한 관리의 중요성이 재조명됨

공개된 오픈소스 기반의 인프라에서는 빠른 패치와 권한 최소화가 곧 보안의 첫걸음임을 상기시킨 사건입니다.

2. 사건 개요: CVE-2025-55182(React2Shell) 취약점 및 침해 규모

2026년 3월 말, 세계적인 규모의 사이버 침해 사건이 발생했다. 해커 그룹이 Next.js 프레임워크의 원격 코드 실행(RCE) 취약점인 CVE-2025-55182(일명 React2Shell)를 악용하여 최소 766개의 Next.js 호스트를 침투한 것으로 집계됐다. 공격은 수일 만에 수백 대 서버로 빠르게 확산되며 대규모 피해를 키웠다.

이 취약점은 React의 서버사이드 렌더링 환경에서 환경 변수와 서버 내 민감 데이터에 대한 접근통제가 적절히 이뤄지지 않아 발생한다. 원격 공격자는 특수한 요청을 통해 서버의 환경 변수를 탈취하거나 임의의 코드를 실행할 수 있다는 점에서 심각성이 높다. Next.js는 전 세계 웹 애플리케이션에서 널리 쓰이는 오픈소스 풀스택 React 프레임워크이기 때문에 실제 피해 범위가 매우 넓은 것으로 분석된다.

3. 공격 동작 원리: 자동화 스크립트와 탈취 정보 종류

공격자들은 체계적이고 자동화된 스크립트를 사용해 침해를 시도했다. 감염에 성공한 후, 맞춤형 bash 스크립트가 설치되어 서버 내 민감 정보의 자동 수집과 유출이 이뤄졌다. 이 스크립트는 서버에 저장된 주요 자격증명과 환경 변수를 집중적으로 탐색하고 외부로 전송하는 기능이 핵심이었다.

  • 데이터베이스 인증 정보: 접속 아이디, 비밀번호, DB 연결 문자열 등
  • SSH 개인키: 서버 원격 접속에 사용하는 SSH 개인 키
  • AWS 시크릿: AWS 액세스 키, 시크릿 키, 세션 토큰 등
  • Stripe API 키: 결제 플랫폼 Stripe의 키
  • GitHub 토큰: 저장소 및 CI/CD 접근용 API 토큰
  • 기타 환경 변수: 각종 서드파티 서비스 키, 내부 설정값 등

이렇게 유출된 자격증명은 추가 악의적 행위나, 클라우드 인프라를 무단 활용하는 2차 공격을 위한 발판이 된다. 특히 환경 변수에 저장된 정보 관리의 중요성이 부각된다.

4. 위협 그룹 및 피해 현황: ‘React2Shell’ 클러스터 분석

보안 기업인 Cisco Talos는 이번 공격을 수행한 조직을 ‘React2Shell’로 지칭하며, 연관된 침입 지표와 상세 분석 보고서를 발표했다. 해당 그룹은 자동화된 공격 도구와 준비된 스크립트를 사용해 Next.js 서버를 체계적으로 탐색하고 취약점을 공략한 것으로 보인다.

피해 서버는 최소 766대지만, 실제로는 공개와 패치 사이의 시간 차와 패치 미적용 사례로 인해 이보다 훨씬 더 많을 가능성이 크다. 특히 개발·스테이징 환경과 같이 상대적으로 관리가 미진한 서버에서 추가 피해가 우려된다.

5. 공급망·오픈소스 취약점 관리의 교훈

React2Shell 사태는 공급망 보안오픈소스 취약점 관리가 얼마나 중요한지 다시 한번 보여준다. Next.js처럼 널리 쓰이는 프레임워크 취약점은 개별 시스템뿐 아니라 대규모 생태계 전체를 위험에 빠뜨릴 수 있다.

오픈소스 라이브러리와 프레임워크의 취약점은 단순한 코드가 아니라 전체 애플리케이션에 영향을 준다. 의존성을 늘 최신 상태로 유지하고, 보안 패치를 제때 적용하는 것은 선택이 아니라 필수다. 환경 변수와 자격증명은 노출 범위를 반드시 최소화하고, 서버 내 불필요한 정보는 삭제해야 한다는 점도 이번 사건이 남긴 중요한 교훈이다.

6. 보안 권고사항 및 시사점

Cisco Talos는 Next.js 사용자 및 피해 가능성이 있는 기업들에게 다음과 같은 조치를 권고했다.

  • 접근 로그 점검: 비정상적인 접근이나 환경 변수 조회 시도를 신속히 발견하고, 침해 여부를 확인한다.
  • 자격증명 즉시 교체: 노출 의심이 있는 비밀번호, 키, 토큰을 즉각 변경하고, 정기적 교체 정책을 도입한다.
  • 패치 적용: Next.js를 최신 보안 패치가 적용된 버전으로 즉시 업그레이드한다.
  • 최소 권한 원칙: 애플리케이션에 꼭 필요한 권한만 제공하고, 환경 변수 노출도 최소화한다.
  • 모니터링 강화: 침입 탐지 시스템과 취약점 진단 도구로 적극적인 모니터링 체계를 구축한다.

자동화된 공격 도구의 등장으로, 취약점이 공개되면 매우 짧은 시간 안에 광범위한 피해로 이어질 수 있음을 이번 사례는 분명하게 보여주고 있다. 개발·운영 담당자는 취약점 공개 즉시 신속하게 패치를 적용할 체계를 갖추는 것이 무엇보다 중요하다. 오픈소스 환경의 보안은 전체 개발 커뮤니티의 관심과 긴밀한 협업, 그리고 적극적인 취약점 관리에서 출발한다.

  • Next.js와 같은 핵심 오픈소스 프레임워크의 보안 결함은 전체 생태계에 광범위한 영향을 미친다.
  • 환경 변수와 자격증명 등 민감 정보 관리를 위한 최소 권한 원칙 및 접근 통제가 반드시 필요하다.
  • 공급망 보안과 오픈소스 취약점 관리는 개발과 운영 과정에서 지속적으로 점검·강화해야 한다.

TAG : CVE-2025-55182, React2Shell, Next.js 해킹, 자격증명 탈취, 공급망 보안 위협, 환경 변수 유출, AWS 시크릿 유출, 오픈소스 취약점, 자동화 보안 공격, 서버 해킹 사고

댓글 남기기