zlib에서 취약점이 감지되었습니다.

최근에 zlib 라이브러리의 취약점에 대한 뉴스가 발표되었습니다. 들어오는 데이터에서 특별히 준비된 문자 시퀀스를 압축하려고 할 때 버퍼 오버플로를 일으키는 CVE-2018-25032로 이미 분류되었습니다.

현재의 형태로, 연구원들은 비정상 종료를 호출할 가능성을 보여주었습니다. 따라서 문제가 더 심각한 결과를 초래할 수 있는지 여부는 아직 연구되지 않았습니다.

취약점은 그것은 zlib 1.2.2.2 이후로 나타나며 zlib 1.2.11의 현재 버전에 영향을 미칩니다. 2018년에 취약점을 수정하는 패치가 제안됐지만 개발자들이 이를 무시하고 수정 버전을 출시하지 않았다는 점은 주목할 만하다(zlib 라이브러리는 2017년 마지막 업데이트).

이 버그는 Eideticom, Inc의 Danilo Ramos에 의해 보고되었습니다. 그는 13년 동안 배회하다가 발견되었습니다! 버그가 도입되었습니다 zlib 1.2.2.2에서 Z_FIXED 옵션이 추가되었습니다. 이 옵션은 고정된 허프만 코드를 강제로 사용합니다. 희귀 항목의 경우
많은 먼 일치, 보류 중인 버퍼 압축된 데이터를 덮어쓸 수 있습니다. 이로 인해 출력이 손상됩니다. 유효하지 않은 거리 및 범위를 벗어난 액세스가 발생할 수 있습니다. 앱 충돌.

취약점 입력 스트림에 많은 수의 일치 항목이 포함된 경우 나타납니다. 포장하다 포장은 Huffman 코드에 따라 적용됩니다. 결정된. 특정 상황에서 압축된 결과가 있는 중간 버퍼의 내용이 기호 빈도 테이블이 저장된 메모리와 겹칠 수 있습니다. 그 결과, 잘못된 압축 데이터의 형성과 버퍼 경계 외부의 쓰기로 인한 충돌이 관찰됩니다.

취약점 고정된 Huffman 코드를 기반으로 하는 압축 전략에 의해서만 악용될 수 있습니다. Z_FIXED 옵션이 코드에 명시적으로 포함될 때 유사한 전략이 선택됩니다(Z_FIXED 옵션을 사용할 때 충돌을 일으키는 시퀀스의 예). 코드로 판단하면 Z_FIXED 전략은 데이터에 대해 계산된 최적 및 정적 트리의 크기가 동일한 경우 자동으로 선택될 수도 있습니다.

여기서 솔루션은 거리 버퍼와 리터럴/길이를 결합합니다. 단일 기호 버퍼로 버퍼링합니다. 이제 XNUMX바이트 d각 리터럴 또는 길이/거리에 대해 버퍼 공간이 열립니다. 소비된 쌍, 이전 두 바이트 대신
보류 중인 버퍼는 기호 테이블을 덮어쓸 수 없습니다. 최대 압축 고정 코드 길이/거리는 31비트이고, XNUMX바이트마다 XNUMX바이트의 미해결 공간이 있기 때문에 기호 공간의.

취약점을 악용하기 위한 조건이 기본적으로 적용되는 Z_DEFAULT_STRATEGY 압축 전략과 일치하는지 여부는 아직 명확하지 않습니다.

그렇지 않으면 취약점은 Z_FIXED 옵션이 명시적으로 적용된 특정 시스템으로 제한됩니다. 그렇다면 zlib 라이브러리가 사실상의 표준이고 Linux 커널, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg를 비롯한 많은 인기 있는 프로젝트에서 사용되기 때문에 취약점으로 인한 피해가 매우 클 수 있습니다. , rpm, Git, PostgreSQL, MySQL 등

또한 언급됩니다 취약점이 나타나는 선택된 매개변수 기본 압축 전략 Z_DEFAULT_STRATEGY를 선택할 때. 실제 상황에서, 공격은 여전히 ​​​​가능성이 낮은 것으로 간주됩니다, 공개된 시퀀스를 사용하는 익스플로잇은 memLevel 매개변수를 1로 설정해야 하지만 기본적으로 레벨 8이 선택되어 있기 때문입니다.

"deflateInit2(&strm, 7, Z_DEFLATED, 15, 1, Z_DEFAULT_STRATEGY)" 호출 시 잠금 시퀀스의 예(level=7, windowBits=15, memLevel=1).

최종적으로 솔루션도 포함되어 있지 않다는 점을 언급해야 합니다. 여전히 배포판에서 제공하는 패키지에 있으므로 다음 페이지에서 배포판별 수정 릴리스를 추적할 수 있습니다. 데비안RHEL페도라SUSE우분투, 아치 리눅스오픈 BSD  FreeBSD의NetBSD, 게다가 zlib-ng 라이브러리는 문제의 영향을 받지 않습니다.

자세한 내용을 알고 싶으시면 자세한 내용을 참조하십시오 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.