🇰🇷 한글 설명
Joplin 3.7.2 미만 버전에서 내부 리소스 URL 검증 시 정규표현식 오류로 인해 javascript: 프로토콜이 포함된 악성 링크가 허용될 수 있습니다. 공격자가 조작된 HTML 노트를 공개 공유할 경우, 피해자가 특정 방식으로 링크를 클릭하면 Joplin Server 권한으로 악성 스크립트가 실행됩니다.
💡 쉬운 설명
메모 앱인 Joplin에서 보안 검사가 허술한 점을 이용해 악성 코드가 담긴 링크를 만들 수 있는 취약점입니다. 사용자가 이 링크를 클릭하면 공격자가 사용자의 계정 정보나 메모 내용을 훔쳐갈 수 있습니다.
🇺🇸 원문 (English)
Joplin is an open source note-taking and to-do application that organises notes and lists into notebooks. Prior to 3.7.2, isAcceptedUrl() in packages/renderer/htmlUtils.ts uses an unanchored regular expression for internal resource URLs, allowing a javascript: URL containing a matching 32-character path fragment to pass validation and be emitted into an HTML note's link. A low-privileged Joplin Server user can publish the crafted HTML note as a public share. In the current build, ordinary left-click is blocked; demonstrated execution requires middle-click or Open in new tab in an older or non-hardened browser because current Chrome and Firefox block javascript: new-tab navigation. When execution succeeds, the script runs in the Joplin Server origin, can read page-visible content, and can make authenticated same-origin requests when the victim is signed in. This issue is fixed in version 3.7.2.
📍 영향받는 시스템
Joplin versions prior to 3.7.2
⚔️ 공격 벡터
공격자가 조작된 HTML 링크가 포함된 노트를 공개 공유하고, 피해자가 특정 방식(휠 클릭 등)으로 해당 링크를 클릭하도록 유도
🛡️ 대응 방법
Joplin을 최신 버전인 3.7.2 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.7.2 미만인 경우 해당 취약점에 노출되어 있는 상태입니다.
joplin --version 2>/dev/null | grep -E '3\.[0-7]\.[0-2]'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server