
CVE-2025-55183에 대한 PoC
이 저장소는 Next.js React Server Components (RSC) / Server Actions에서 발생하는 소스 코드 노출 취약점(CVE-2025-55183)을 탐지하는 도구를 포함합니다.
취약한 애플리케이션에서 서버 함수에 대한 조작된 HTTP 요청을 보내면, 해당 함수의 참조가 문자열화될 때(예: 템플릿 리터럴이나 데이터베이스 쿼리에서의 암시적 강제 변환) 서버가 해당 함수의 전체 JavaScript 소스 코드를 반환할 수 있습니다.
React의 수정 사항은 서버 참조에 대해 toString()을 재정의하여 실제 함수 본문 대신 상수 플레이스홀더 문자열을 반환하도록 합니다. 이전 빌드를 실행하는 애플리케이션은 서버 참조가 직접적 또는 간접적으로 문자열화되어 클라이언트에 반영될 경우 여전히 소스 코드가 유출될 수 있습니다.
⚠️ 법적 고지:
이 도구들은 귀하가 소유하거나 명시적으로 테스트할 권한이 있는 시스템에 대한 보안 테스트 및 연구용입니다. 허가되지 않은 스캔 또는 악용은 불법일 수 있습니다.
CVE-2025-55183.yaml_next/static/chunks/*.js 파일을 발견ID: CVE-2025-55183
구성 요소: Next.js 앱의 React Server Components / Server Actions
영향: 서버 측 JavaScript 소스 코드 노출
근본 원인:
서버 참조(Server Functions)가 toString()을 재정의하지 않았습니다. 이러한 참조가 문자열로 강제 변환되는 코드에 인수로 전달되면, 전체 소스 코드가 클라이언트에 반환될 수 있습니다(예: 오류 경로, 로깅 또는 쿼리 빌딩 로직을 통해).
수정 사항(상위 프로젝트):
React는 이제 서버 참조에 toString 디스크립터를 설치하여 다음과 같은 상수 플레이스홀더를 반환합니다:
function () { [omitted code] }
이렇게 하면 문자열화되더라도 실제 함수 본문이 노출되지 않습니다.
기본 React 변경 사항에 대한 자세한 내용은 다음을 참조하십시오:
894bc73cb493487c48d57f4508e6278db58e673a