
CVE-2022-36162 문서: HOME 환경 변수와 postsave 구성 옵션을 통한 hovacui PDF 뷰어 1.1.0의 로컬 명령 주입 취약점.
[제안된 설명] pdftoroff hovacui 1.1.0은 명령 실행에 영향을 받습니다. 영향은 로컬에서 임의 코드를 실행하는 것입니다. 구성 요소는 hovacui.c, 1574번 줄입니다. 공격 벡터는 HOME 환경 변수를 변경하고, postsave로 명령을 설정한 다음, PDF 파일을 열고 저장하기만 하면 됩니다. hovacui에서 취약점이 발견되어 임의 명령 실행이 가능해집니다. 1574번 줄: 1574 system(command); HOME 환경 변수가 신뢰되며, 공격자는 이를 위조할 수 있습니다. 그런 다음 공격자는 설정 파일에
postsave로 임의의 명령을 입력할 수 있으며, 남은 것은 PDF 파일을 열고 저장하는 것뿐입니다. 이는 코드 실행, 서비스 거부 또는 권한 상승에 영향을 줄 수 있습니다.
[추가 정보] hovacui Linux 프레임버퍼 및 X11용 hovacui PDF 뷰어는 텍스트 블록에 자동으로 확대/축소됩니다. 작은 화면에서 파일을 보는 데 적합하며, 특히 여러 열로 된 문서에 유용합니다.
hovacui는 pdftoroff의 일부입니다. 링크: https://aur.archlinux.org/packages/pdftoroff
설정 파일 경로는 다음과 같이 찾습니다.
snprintf(configfile, 4096, "%s/.config/hovacui/hovacui.conf", 3358\t\t\tgetenv("HOME"));
따라서 HOME을 위조하여 자신만의 설정 파일을 만들 수 있습니다.
그리고 savepdf() 함수에서 다음과 같은 코드가 있으므로 PDF를 저장하기만 하면 명령 실행이 가능합니다.
else { cairoui_printlabel(cairoui, output->help, NO_TIMEOUT, "saved to %s", path); if (post && output->postsave != NULL) { command = malloc(strlen(output->postsave) + 100); sprintf(command, output->postsave, fileno, fileno); system(command); free(command); } return CAIROUI_DONE; }}
output->postsave는 공격자가 완전히 제어할 수 있습니다. if (sscanf(configline, "postsave %900[^ \r]", s) == 1) output.postsave = strdup(s); 저장하려면 d를 입력한 후 s를 누르면 됩니다. hovacui 웹 페이지:
[취약점 유형 기타] 명령 실행
[제품 공급업체] pdftoroff
[영향을 받는 제품 코드 베이스] hovacui - 1.1.0
[영향을 받는 구성 요소] hovacui.c, 1574번 줄
[공격 유형] 로컬
[코드 실행 영향] true
[서비스 거부 영향] true
[권한 상승 영향] true
[공격 벡터] 취약점을 악용하려면 HOME 환경 변수를 변경하고, postsave로 명령을 설정한 다음, PDF 파일을 열고 저장하기만 하면 됩니다.
[발견자] Maher Azzouzi