17.1.12까지의 AGL app-framework-main에는 위젯 설치 흐름의 TOCTOU 경쟁 조건(CWE-367)과 결합된 Zip Slip 경로 탐색 취약점(CWE-22)이 포함되어 있습니다. wgtpkg-zip.c의 is_valid_filename 함수는 ZIP 항목 이름의 유효성을 검사하지만 점 표기법 디렉터리 순회 시퀀스는 확인하지 않고 절대 경로만 차단합니다. zread 추출 함수는 작업 디렉토리를 기준으로 점 표기법 값을 확인하는 openat(workdirfd, filename, O_CREAT)를 사용하여 파일 t를 허용합니다.
17.1.12까지의 AGL app-framework-main에는 위젯 설치 흐름의 TOCTOU 경쟁 조건(CWE-367)과 결합된 Zip Slip 경로 탐색 취약점(CWE-22)이 포함되어 있습니다. wgtpkg-zip.c의 is_valid_filename 함수는 ZIP 항목 이름의 유효성을 검사하지만 점 표기법 디렉터리 순회 시퀀스는 확인하지 않고 절대 경로만 차단합니다. zread 추출 기능은 작업 디렉터리를 기준으로 점 표기법 값을 확인하는 openat(workdirfd, filename, O_CREAT)를 사용하여 파일 시스템의 어느 위치에나 파일을 쓸 수 있도록 합니다. 중요한 점은 wgtpkg-install.c 파일의 install_widget 함수에서 zread를 통한 추출이 check_all_signatures를 통한 서명 확인 전에 발생한다는 것입니다. 서명 확인에 실패하더라도 오류 정리(remove_workdir)는 경로 탐색을 통해 외부에 작성된 임시 작업 디렉터리 파일만 영구적으로 삭제합니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 98.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 98.00 |
VPI 공식 vpi-v1 기준