[하루한줄] SoftMaker Office TextMaker에서 발견된 세 가지 취약점

URL

Vulnerability Spotlight: Multiple vulnerabilities in SoftMaker Office TextMaker

Target

  • SoftMaker Software GmbH SoftMaker Office TextMaker 2021, revision 1014

Explain

SoftMaker Software GmbH는 오피스 소프트웨어를 개발하는 독일 소프트웨어 회사입니다. 플래그십 제품인 SoftMaker Office는 워드, 스프레드 시트, 프레젠테이션, 스크립트 등등의 기능을 지원합니다. 이 Office 제품군인 TextMaker의 document parsing 기능에서 세 가지 취약점이 발견되었습니다.

CVE-2020-13544: Sign-extension

document parser가 record를 parsing 할 때 index table record를 16bit unsigned 값으로 사용하지만 루프 문에서 index를 비교할 때 16bit signed 값으로 사용하여 index table record에 지정된 크기보다 많은 횟수를 반복할 수 있습니다. 따라서 index를 통해 heap 할당 범위 밖에 접근할 수 있습니다.

CVE-2020-13545: Integer conversion

document parser가 record를 스캔하고 읽어 올 때 파일 스트림의 현재 위치에서 record에서 사용하는 바이트 크기를 나타내는 32bit integer를 읽어옵니다. 버퍼를 할당할 때 signed multiplication을 사용하지만 버퍼의 끝을 계산할 때 unsigned multiplication을 사용하여 heap 할당 범위 밖의 주소에 접근할 수 있습니다.

CVE-2020-13546: Integer overflow

document parser가 record를 parsing 할 때 파일에서 32비트 값을 읽어 0x23c를 곱합니다. 피연산자는 최대 10비트이므로 overflow 되어 32비트로 잘려서 heap에 할당됩니다. 하지만 곱셈 하기 전의 값을 스택에 저장하고 사용하여 할당된 범위 밖에 값이 써지게 됩니다.

세 가지 취약점 모두 취약점을 트리거하기 위해 해커는 타깃이 문서를 열도록 유도해야 합니다.