🇰🇷 한글 설명
Trilium Notes 0.102.1 이하 버전에서 Electron의 RunAsNode fuse를 악용하여 macOS TCC 보안 체계를 우회하는 취약점입니다. 공격자가 -e 플래그로 임의 Node.js 명령어를 실행하면, 카메라·마이크·파일 접근 권한 요청이 Trilium 신원으로 나타나 사용자를 기만할 수 있습니다. 0.102.2에서 수정되었습니다.
💡 쉬운 설명
Trilium Notes 앱에서 macOS의 보안 권한 시스템을 우회할 수 있는 버그가 있어서, 악의적인 코드가 마치 Trilium이 요청한 것처럼 위장하여 카메라나 마이크 같은 민감한 자원에 접근할 수 있습니다. 버전 0.102.2로 업데이트하면 해결됩니다.
🇺🇸 원문 (English)
Trilium Notes is a cross-platform, hierarchical note taking application focused on building large personal knowledge bases. In versions 0.102.1 and prior, the Electron configuration is vulnerable to TCC Bypass via Prompt Spoofing, allowing local attackers to trigger misleading macOS permission prompts by running malicious code under the identity of the trusted app. The root cause is that the RunAsNode fuse allows launching the app in a special Node.js mode using -e to execute arbitrary system commands with Trilium Notes's permissions and identity. An attacker can leverage this through a subprocess to request any sensitive permissions, such as access to hardware (camera, microphone) and TCC-protected files, causing the TCC system prompt to appear as if the request came from Trilium rather than the attacker's code, because macOS treats the subprocess as part of the parent application. Exploitation allows access to TCC-protected resources like the screen, camera, microphone, and folders such as ~/Documents and ~/Downloads, undermining macOS's security model and UI integrity through social engineering. This issue has been fixed in version 0.102.2.
📍 영향받는 시스템
Trilium Notes 버전 0.102.1 이하 (macOS)
⚔️ 공격 벡터
로컬 공격자가 RunAsNode를 통해 Node.js 모드로 진입한 후 -e 플래그로 시스템 명령어 실행, 하위 프로세스로 TCC 보호 리소스 접근 요청
🛡️ 대응 방법
Trilium Notes를 0.102.2 이상으로 업그레이드
🔧 검증 코드
출력된 버전 번호가 0.102.2 미만이면 취약, 0.102.2 이상이면 패치됨
grep -oE '[0-9]+\.[0-9]+\.[0-9]+' /Applications/Trilium.app/Contents/Resources/app/package.json 2>/dev/null | head -1