피드로 돌아가기
CVE-2026-40310: CVE-2026-40310: Heap-Based Out-of-Bounds Write in ImageMagick JP2 Encoder
Dev.toDev.to
Security

JP2 Encoder 내 Zero-value 검증 부재로 인한 Heap Out-of-Bounds Write 해결

CVE-2026-40310: CVE-2026-40310: Heap-Based Out-of-Bounds Write in ImageMagick JP2 Encoder

CVE Reports2026년 4월 14일2intermediate

Context

ImageMagick JP2 Encoder가 사용자 제공 sampling factor를 처리하는 과정에서 입력 값 검증 단계가 누락된 구조적 결함 존재. zero-value 입력 시 Heap Allocation 크기가 실제 필요량보다 작게 계산되는 로직 설계의 한계로 인해 메모리 오염 발생.

Technical Solution

  • geometry_info 파라미터에 대한 유효성 검사 로직을 추가하여 부적절한 메모리 할당 방지
  • MagickMax 함수를 도입하여 sampling_dx 및 sampling_dy의 최솟값을 1.0으로 강제 고정
  • 하한선 설정을 통한 계산식의 정수 하향 캐스팅 시 발생 가능한 0 값 할당 원천 차단
  • 유효하지 않은 입력 값으로 인한 인접 메모리 영역 덮어쓰기(Overwrite)를 방지하는 가드 레일 구현
  • policy.xml 설정을 통한 JP2 Encoder 기능 비활성화 옵션을 제공하여 공격 표면(Attack Surface) 최소화

1. 사용자 입력값이 메모리 할당 크기 계산에 직접 사용되는지 검토

2. 산술 연산 결과가 0 또는 음수가 될 때 시스템에 미치는 영향 분석 및 하한값(Clamp) 설정 적용

3. 외부 라이브러리 의존성 버전(ImageMagick

7.

1.2-19, Magick.NET

1

4.

1

2.0 이상) 최신화 상태 점검

4. 사용하지 않는 코덱이나 인코더 기능은 설정 파일을 통해 명시적으로 비활성화

원문 읽기