
CVE-2024-23998용 PoC
CVE-2024-23998 취약점에 대한 개념 증명입니다.
Step 1) Setting.vue에 v-html 함수가 있으므로, 악성 JS 스크립트가 이 함수를 통해 실행될 수 있습니다.
Step 2) Another Redis Desktop Manager를 설치할 때 Windows 보안이 설치를 차단합니다. 이로 인해 공격자가 설치 파일을 패치하면 사용자는 패치된 사실을 알 수 없습니다.
Step 3) en.js 파일에서 font faq 메시지를 찾을 수 있습니다.
Step 4) calc.exe를 실행하는 메시지를 패치해 보겠습니다.\
font_faq: '1. Multiple fonts can be set<br>\
2. Font selection is orderly. It is suggested to choose English font first and then font in your language<br>\
3. When the system font list cannot be loaded in some exceptional cases, you can enter the installed font name manually.\
',
Step 5) npm을 사용하여 프로그램을 빌드합니다.\
npm install --platform=win32
npm start
npm run electron
Step 6) Font Family 도움말 아이콘에 마우스 커서를 올리면 계산기가 실행됩니다.

AnotherRedisDesktopManager는 많은 사람들이 사용하고, Electron 애플리케이션으로 배포되는 파일을 수정하고 재배포하기 쉽기 때문에 공격자에게 좋은 대상입니다. 이것이 바로 많은 프로젝트에서 가능하면 v-html을 사용하지 말 것을 권장하는 이유입니다. 또한 nodeIntegration 옵션이 활성화되어 있기 때문에 악의적으로 수정 및 배포되면 AnotherRedisDesktopManager의 권한으로 원격 코드 실행이 가능합니다.