ClickCease TuxCare가 수정한 중요한 OpenSSL 취약점 |tuxcare.com

인기 뉴스레터 구독하기

4,500명 이상의 Linux 및 오픈소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.

TuxCare CVE-2021-3711/3712에서 수정된 중요 OpenSSL 취약점

2021년 8월 24일 TuxCare 홍보팀

OpenSSL만큼 널리 사용되는 라이브러리는 거의 없습니다. 이 라이브러리는 하드웨어 플랫폼과 운영 체제, 사용자 영역 애플리케이션, IoT 전반에 걸쳐 어디에나 존재합니다. 지금 이 페이지를 읽기 위해 사용 중인 웹 브라우저가 웹서버와 "https"의 "s"를 협상하기 위해 어떤 식으로든 OpenSSL에 의존하고 있을 가능성이 높습니다.

curl, zlib, glibc와 함께 "새로운 취약점 발견"과 같은 문장에 등장할 때마다 시스템 관리자를 떨게 만드는 이름 중 하나입니다. 안타깝게도 오늘도 그런 날 중 하나입니다. 두 가지 새로운 취약점이 OpenSSL에서 발견되었는데, 하나는 "높음" 심각도이고 다른 하나는 "낮음" 심각도로 간주됩니다. 이 취약점들은 현재 베타/알파 버전인 3.0.0뿐만 아니라 모든 OpenSSL 1.1.1 버전에 영향을 미치지만, 해당 시리즈의 최종 버전에는 수정 사항이 포함될 예정입니다.

TuxCare의 라이브 패치 서비스는 이미 취약점이 발표된 당일에 EL8 기반 배포판은 물론, 영향을 받는 OpenSSL 버전이 출시된 Debian 10, Ubuntu 18.04 및 20.04에 대한 패치를 준비하여 배포하고 있습니다.

 

CVE-2021-3712를 시작으로, OpenSSL 코드의 여러 위치에서 ASN.1 문자열이 항상 NUL로 끝나는 것으로 잘못 가정하는 것이 발견되었습니다. NUL 종료는 NUL 바이트(0)로 끝나는 문자 시퀀스에 대한 전문 용어입니다. 프로그래머는 문자열의 끝을 찾을 때 종종 이 용어를 사용합니다. 즉, 해당 NUL 바이트를 찾을 때까지 문자열을 살펴봅니다. 따라서 이러한 문자열을 OpenSSL 함수 외부에서 구성한 다음 OpenSSL로 전달하여 처리할 수 있으며, 적절한 동기를 가진 악의적인 공격자의 경우 버퍼 오버런을 유발하고 메모리 손상의 경로가 될 수 있습니다. 유사한 기법을 사용한 이전 익스플로잇을 보면, 결국 권한 상승으로 이어질 수 있다는 것을 알 수 있습니다.

OpenSSL 코드 저장소에 있는 수정 사항에 대한 커밋 메시지에서 작성자는 이 수정 사항이 자신이 찾을 수 있었던 인스턴스에 대해서만 적용된다고 구체적으로 언급하고 있습니다. NUL로 종료된 것으로 추정되는 ASN.1 문자열의 더 많은 사용이 여전히 코드베이스에 남아있을 수 있습니다. 가까운 시일 내에 이와 같은 문제를 해결하기 위해 추가적인 코드 수정이 필요할 수도 있습니다.

이 문제에 취약한 것으로 알려진 OpenSSL의 함수에는 인증서가 OpenSSL을 통해 직접 구성되지 않고 유효성 검사를 위해 OpenSSL로 전달되는 상황에서 인증서의 이름 유효성 검사와 관련된 함수가 포함되지만 이에 국한되지 않습니다.

CVE-2021-3711로 넘어가면 심각도가 "높음"으로 평가된 취약점은 SM2 암호 해독과 관련이 있습니다. SM2는 타원 곡선 기반 알고리즘입니다. OpenSSL에는 이 알고리즘을 지원하는 여러 가지 함수가 포함되어 있으며, 여기에는 EVP_PKEY_DECRYPT()가 포함됩니다. 이 함수는 일반적으로 두 번 호출되는데, 첫 번째는 데이터를 저장하는 데 필요한 버퍼의 크기를 검색하고 두 번째는 실제로 복호화를 수행하기 위해 호출되며, 이번에는 적절한 크기의 버퍼를 전달합니다.

이 함수 구현의 버그로 인해 첫 번째 호출에서 실제로 두 번째 호출에 필요한 버퍼 크기보다 작은 버퍼 크기를 수신할 수 있으며, 이 경우 호출하는 애플리케이션이 전체 데이터를 담기에는 너무 작은 버퍼를 전달하여 버퍼 오버플로를 초래할 수 있습니다. 이로 인해 메모리 손상이 발생할 수 있으며, 앞서 언급했듯이 적절한 동기를 가진 공격자에게는 더 위험한 결과를 초래하는 것으로 나타났습니다.

TuxCare 팀은 이러한 취약점을 지속적으로 추적하고 서비스 가입자의 시스템에 어떤 영향을 미칠 수 있는지 평가하여 적절한 경우 수정 사항을 제공합니다.

TuxCare 서비스에 대해 자세히 알고 싶으시면 여기에서 자세한 내용을 확인하세요.

Kernel 재부팅, 시스템 다운타임 또는 예정된 유지 보수 기간 없이 취약성 패치를 자동화하고 싶으신가요?

TuxCare로 라이브 패치에 대해 알아보기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기