🔍 CVE-2026-45371

0.0
CVSS Score
UNKNOWN
2026-05-14
2026-05-15 19:17
✅ 완료

🇰🇷 한글 설명

SiYuan 지식관리 시스템의 퍼블리시 모드에서 8개의 API가 관리자 역할과 읽기 전용 검증을 누락하여, 제한된 권한의 사용자가 설정파일과 SQL 인덱스를 변경할 수 있는 취약점입니다. 익명 퍼블리시 방문자와 읽기 전용 편집자도 서버 상태를 수정할 수 있습니다.

💡 쉬운 설명

SiYuan 노트 프로그램에서 읽기 전용이어야 할 사용자가 설정을 변경할 수 있습니다. 권한 검사 과정이 빠져서 누구나 중요한 설정 파일을 수정할 수 있다는 뜻입니다.

🇺🇸 원문 (English)

SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, SiYuan publish-mode Reader can mutate Conf and SQL index via 8 ungated APIs. POST /api/graph/getGraph, POST /api/graph/getLocalGraph, POST /api/sync/setSyncInterval, POST /api/storage/updateRecentDocViewTime, POST /api/storage/updateRecentDocCloseTime, POST /api/storage/updateRecentDocOpenTime, POST /api/storage/batchUpdateRecentDocCloseTime, and POST /api/search/updateEmbedBlock are registered with model.CheckAuth only, omitting both model.CheckAdminRole and model.CheckReadonly. Each of them writes server-side state, including atomic rewrites of <workspace>/conf/conf.json via model.Conf.Save(). Any caller whose JWT passes CheckAuth, including a publish-service RoleReader (the role assigned to anonymous publish visitors) and a RoleEditor against a workspace where Editor.ReadOnly = true, can hit them This vulnerability is fixed in 3.7.0.

📍 영향받는 시스템

SiYuan < 3.7.0

⚔️ 공격 벡터

publish-mode Reader 권한의 JWT를 가진 사용자가 POST /api/graph/getGraph, /api/sync/setSyncInterval, /api/storage/* 등 8개 API를 호출하여 conf.json 수정

🛡️ 대응 방법

SiYuan을 3.7.0 이상으로 업그레이드

🔧 검증 코드

반환된 버전이 3.7.0 이상인지 확인합니다. 3.7.0 미만이면 취약점이 존재합니다.

Shell / Script
curl -s http://localhost:6806/api/system/version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'

💻 영향받는 소프트웨어

SQL Server