🔍 CVE-2026-54460

9.8
CVSS Score
CRITICAL
2026-09-17
2026-09-30 17:32
✅ 완료

🇰🇷 한글 설명

OpenReception의 예약 소프트웨어 1.1.1 미만 버전에서 인증되지 않은 공격자가 특정 사용자의 계정에 자신의 패스키를 등록하여 권한을 탈취할 수 있는 취약점이 발견되었습니다. 공격자는 타겟 직원의 이메일을 이용해 해당 사용자의 ID를 식별한 뒤, 공격자의 패스키를 주입하여 STAFF 세션을 획득하고 테넌트 데이터를 조작하거나 삭제할 수 있습니다.

💡 쉬운 설명

해커가 로그인 과정의 허점을 이용해 다른 사람의 계정에 자신의 디지털 열쇠(패스키)를 몰래 등록할 수 있는 문제입니다. 이를 통해 관리자 권한을 얻어 예약 데이터를 삭제하거나 서비스를 마비시킬 수 있습니다.

🇺🇸 원문 (English)

OpenReception's appointment booking software provides an end-to-end encrypted appointment booking platform. Prior to 1.1.1, POST /api/auth/passkeys accepts a request-body userId and attacker-supplied passkey without an authenticated session, does not call WebAuthnService.verifyRegistration, and does not bind enrollment to locals.user.id. An unauthenticated attacker who knows the public tenant ID and the target staff email can use the public booking bootstrap and GET /api/tenants/[id]/appointments/staff-public-keys to obtain candidate userId values. The attacker first causes UserService.addAdditionalPasskey to store a controlled public key for a candidate userId, then attempts login with the target email; the login check compares verificationResult.userId with the email-resolved account and reveals whether the injected credential belongs to that target. Repeating this injection-before-login sequence identifies the matching userId, and the normal login endpoint accepts the attacker's assertion for the stored key and creates a STAFF session. The session can expose tenant data and reveal TENANT_ADMIN identifiers for further takeover; GLOBAL_ADMIN accounts are not reachable through this tenant-scoped path. A hijacked TENANT_ADMIN can modify or delete tenant resources and key shares, potentially making appointment data permanently undecryptable and taking booking services offline. This issue is fixed in version 1.1.1.

📍 영향받는 시스템

OpenReception appointment booking software versions prior to 1.1.1

⚔️ 공격 벡터

인증되지 않은 상태에서 패스키 등록 API를 악용하여 타겟 사용자의 계정에 공격자의 패스키를 주입하는 방식

🛡️ 대응 방법

OpenReception 소프트웨어를 최신 버전인 1.1.1 이상으로 즉시 업데이트하십시오.

🔧 검증 코드

명령어 결과에 '1.1.1' 이상의 버전 번호가 출력되면 취약점이 해결된 상태입니다.

Shell / Script
curl -s http://[TARGET_IP]/api/version | grep -E '1.1.1'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Spring Web Services