🔍 CVE-2026-109184

4.3
CVSS Score
MEDIUM
2026-10-12
2026-10-13 17:17
✅ 완료

🇰🇷 한글 설명

jshERP 3.6 이하 버전에서 발생하는 부적절한 권한 부여 취약점입니다. 권한이 낮은 인증된 사용자가 임의의 accountId를 제공함으로써 테넌트 내 다른 사용자의 결제 계정 원장을 조회할 수 있습니다. 이를 통해 타인의 청구 번호, 거래 상대방, 금액 및 비고 내용을 탈취할 수 있습니다.

💡 쉬운 설명

로그인한 일반 사용자가 시스템의 허점을 이용해 다른 사람의 돈 거래 내역을 몰래 훔쳐볼 수 있는 보안 결함입니다. 계정 번호만 알면 본인의 권한을 넘어 다른 사람의 결제 정보를 조회할 수 있습니다.

🇺🇸 원문 (English)

jshERP through 3.6 contains an improper authorization vulnerability that allows low-privilege authenticated users to read any settlement account ledger by supplying an arbitrary accountId. Attackers restricted to personal or department data scope can query GET /account/findAccountInOutList to view other users' bill numbers, counterparties, amounts and remarks within the tenant.

📍 영향받는 시스템

jshERP version 3.6 and below

⚔️ 공격 벡터

인증된 저권한 사용자가 GET /account/findAccountInOutList API 호출 시 임의의 accountId를 파라미터로 전달

🛡️ 대응 방법

jshERP를 최신 보안 패치가 적용된 버전으로 업데이트하거나, API 호출 시 accountId에 대한 세션 기반 권한 검증 로직을 구현해야 합니다.

🔧 검증 코드

명령어 실행 결과로 타인의 결제 정보(billNumber, amount 등)가 포함된 JSON 데이터가 반환되면 취약한 상태입니다.

Shell / Script
curl -s -X GET 'http://<target_ip>/account/findAccountInOutList?accountId=<target_id>' -H 'Authorization: Bearer <low_privilege_token>' | grep -E 'billNumber|amount'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Spring Data REST