🔍 CVE-2026-42047

8.6
CVSS Score
HIGH
2026-05-07
2026-10-26 20:10
✅ 완료

🇰🇷 한글 설명

Inngest는 큐잉, 재시도, 단계 오케스트레이션을 지원하는 이벤트 기반 백그라운드 함수 실행 플랫폼입니다. 3.22.0부터 3.53.1 버전의 serve() HTTP 핸들러는 PATCH, OPTIONS, DELETE 요청에 대해 진단 정보를 반환하며, 이 응답에 process.env 내용이 포함되어 인증되지 않은 원격 공격자가 환경 변수(시크릿, API 키, 자격 증명 등)를 탈취할 수 있습니다.

💡 쉬운 설명

Inngest 서버가 특정 HTTP 요청에 내부 환경 설정 정보를 그대로 보여주는 결함이 있습니다. 인터넷에서 누구나 이 요청을 보내면 비밀번호나 API 키 같은 민감한 정보가 노출될 수 있습니다.

🇺🇸 원문 (English)

Inngest is a platform for running event-driven and scheduled background functions with queueing, retries, and step orchestration. Versions 3.22.0 through 3.53.1 contain a vulnerability that allows unauthenticated remote attackers to exfiltrate environment variables from the host process via the serve() HTTP handler. The serve() handler implements GET, POST, and PUT methods. Requests using PATCH, OPTIONS, or DELETE fall through to a generic handler that returns diagnostic information. A change introduced in v3.22.0 caused this diagnostic response to include the contents of process.env, exposing any secrets, API keys, or credentials present in the environment. An application is vulnerable if its serve() endpoint is reachable via PATCH, OPTIONS, or DELETE requests, which is common in setups like Next.js Pages Router or Express's app.use(...). Not affected are Next.js App Router handlers that export only GET, POST, and PUT, and applications using the connect worker method. This issue has been fixed in version 3.54.0. To work around this issue if upgrading is not immediately possible, restrict the serve() endpoint at the framework or reverse-proxy layer to accept only GET, POST, and PUT. The Inngest serve() endpoint does not require any other HTTP methods.

📍 영향받는 시스템

Inngest 3.22.0 ~ 3.53.1 (수정 버전: 3.54.0), serve() 엔드포인트가 PATCH/OPTIONS/DELETE로 접근 가능한 Next.js Pages Router, Express 등 환경

⚔️ 공격 벡터

인증 없이 serve() 엔드포인트에 PATCH, OPTIONS 또는 DELETE 요청을 보내 응답의 진단 정보에서 process.env 내용을 탈취

🛡️ 대응 방법

Inngest를 3.54.0 이상으로 업그레이드하고, 즉시 업그레이드가 어려우면 리버스 프록시나 프레임워크 단에서 serve() 엔드포인트를 GET, POST, PUT으로만 제한

🔧 검증 코드

출력된 버전이 3.22.0 이상 3.53.1 이하이면 취약하므로 3.54.0 이상으로 업그레이드가 필요하며, 명령 결과가 없으면 프로젝트에 해당 패키지가 설치되어 있지 않습니다.

Shell / Script
npm ls inngest 2>/dev/null | grep -E 'inngest@'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N

💻 영향받는 소프트웨어

Next.js