업데이트로 돌아가기
UpdatedSep 2, 2026

CVE-2026-0603 — Updated!

Hibernate ORM 이차 SQL 인젝션

공유

CVE-2026-0603 Hibernate ORM 인젝션 / 2차 SQL 인젝션

★ CVE-2026-0603 Hibernate SQL 인젝션 PoC ★

https://github.com/user-attachments/assets/2e7c3a89-e26f-48cd-af0b-8b82d32ce71f


개요

CVE-2026-0603은 널리 사용되는 Java ORM 프레임워크인 Hibernate ORM2차 SQL 인젝션 취약점입니다.
악성 SQL 페이로드가 포함된 사용자 제공 문자열 기본 키가 대량 DELETE 또는 UPDATE 작업에 사용될 때, Hibernate는 해당 값을 정제 없이 WHERE 절에 직접 삽입하여 의도하지 않은 데이터베이스 레코드의 대량 삭제 또는 수정을 초래합니다.


영향받는 버전

CategoryVersion
취약Hibernate ORM 5.2.8 ≤ version ≤ 5.6.15
패치됨공식 패치 없음 (5.6.x EOL)

영향

  • 여러 테이블에 걸친 레코드 대량 삭제
  • 여러 테이블에 걸친 레코드 대량 수정
  • 데이터베이스의 민감한 데이터 유출 가능성

환경

docker build -t cve-2026-0603-hibernate-vuln .
docker run --rm -it -p 8080:8080 --name hibernate-vuln cve-2026-0603-hibernate-vuln

PoC

취약한 환경을 시작한 후, 아래 단계에 따라 공격을 재현하십시오.

Step 1. 악성 사용자 이름으로 등록

username: ' or '1' = '1

Step 2. update 또는 delete 트리거

등록된 계정에서 update 또는 delete 버튼을 클릭합니다.

Step 3. 모든 사용자 데이터가 영향을 받았는지 확인

DELETE 또는 UPDATE 쿼리가 등록된 계정뿐만 아니라 모든 행에 적용되었는지 확인합니다. DELETE의 경우, 두 테이블의 모든 레코드가 제거됩니다. UPDATE의 경우, 모든 레코드가 공격자가 제공한 값으로 수정됩니다.


완화 방안

  • application.yml에서 InlineIdsOrClauseBulkIdStrategy 설정을 제거하십시오
  • InlineIdsOrClauseBulkIdStrategy를 반드시 사용해야 하는 경우, 사용자 제공 기본 키 값에 대해 엄격한 화이트리스트 기반 입력 검증을 적용하여 SQL 제어 문자를 거부하십시오

분석

카테고리