{"id":5066,"date":"2026-09-04T18:46:58","date_gmt":"2026-09-04T10:46:58","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-48087"},"modified":"2026-09-04T18:46:58","modified_gmt":"2026-09-04T10:46:58","slug":"cve-2026-48087","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-48087","title":{"rendered":"CVE-2026-48087 [CRITICAL] &#8211; OpenReception&#8217;s appointment booking software provides an end-to-end encrypted appointment"},"content":{"rendered":"<p>OpenReception&#8217;s appointment booking software provides an end-to-end encrypted appointment booking platform. Prior to version 1.0.2, the registration handler at `POST \/api\/auth\/register\/{userId}` validates the relationship between the WebAuthn challenge and the registration cookie&#8217;s email but never validates that the `userId` in the URL belongs to that email. An unauthenticated attacker requests a challenge for their own email, generates a registration response with their own authenticator, and submits it against any victim user&#8217;s URL. The challenge-vs-cookie email match passes, the WebAuthn ceremony validates, and `addPasskey` writes the attacker&#8217;s credential into the victim&#8217;s `user_passkey` rows. The next victim-email login accepts a passkey assertion from the attacker&#8217;s authenticator and issues a session as the victim. User IDs are not strictly secret on this platform, but the exact set of exposure surfaces should be assessed by the maintainers. Staff-list endpoints return user IDs to authenticated tenant members per the route signature; live verification of all exposure surfaces (whether user IDs leak through any unauthenticated route, through invite-confirmation URLs, or through other administrative views) is part of the pending live PoC. Where the attacker knows the victim&#8217;s email and userId, the analysis below becomes account takeover. Version 1.0.2 fixes the issue.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenReception&#8217;s appointment booking software provides an end-to-end encrypted appointment booking platform. Prior to version 1.0.2, the registration handler at `POST \/api\/auth\/register\/{userId}` valid<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-5066","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/5066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}