{"id":"CVE-2026-103396","summary":"bbs-go through 4.4.6 Incorrect Authorization via /api/admin/user/synccount","details":"bbs-go through 4.4.6 contains a permission bypass vulnerability in the AdminMiddleware authorization logic where the read-only dashboard.user.view permission rule matches the /api/admin/user/synccount endpoint before the intended dashboard.user.update rule. Authenticated users with only view permissions can call the synccount endpoint to trigger expensive full-table user recounts and cache invalidations, causing denial of service through repeated concurrent database operations.","modified":"2026-10-02T03:47:25.918075951Z","published":"2026-09-30T14:48:56.405Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-863"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103396.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103396.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-103396"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/bbs-go-through-4.4.6-incorrect-authorization-via-api-admin-user-synccount"},{"type":"REPORT","url":"https://github.com/mlogclub/bbs-go/issues/303"},{"type":"FIX","url":"https://github.com/mlogclub/bbs-go/commit/97d0bb3dcbacd686fd5300295afbf4f4a5da7609"},{"type":"PACKAGE","url":"https://github.com/mlogclub/bbs-go"},{"type":"ARTICLE","url":"https://github.com/mlogclub/bbs-go/blob/v4.4.6/internal/handlers/admin/user_handlers.go#L47-L59"},{"type":"ARTICLE","url":"https://github.com/mlogclub/bbs-go/blob/v4.4.6/internal/permissions/admin_permission_registry.go#L59-L60"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/mlogclub/bbs-go","events":[{"introduced":"0"},{"fixed":"7745195925f2094d1f37a1d7bbf13837fa948898"},{"fixed":"97d0bb3dcbacd686fd5300295afbf4f4a5da7609"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"4.4.6"}],"source":["DESCRIPTION","REFERENCES"]}}],"versions":["v4.4.6","v4.4.5","v4.4.5-rc2","v4.4.5-rc1","v4.4.4","v4.4.3","v4.4.3-rc3","v4.4.3-rc2","v4.4.3-rc1","v4.4.2","v4.4.2-rc5","v4.4.2-rc4","v4.4.2-rc3","v4.4.2-rc2","v4.4.2-rc1","v4.4.1-rc4","v4.4.1","v4.4.1-rc3","v4.4.1-rc2","v4.4.1-rc1","v4.4.0-rc5","v4.4.0","v4.4.0-rc4","v4.3.9","v4.3.6","v4.3.5","v4.3.4","v4.3.3","v4.3.2","v4.3.1","v4.3.0","v4.1.2","v4.1.1","v4.1.0","v4.0.6","v4.0.5","v4.0.3","v4.0.1","v4.0.0","v4.0.0-beta2","v4.0.0-beta1","v3.5.6","v3.5.5","v3.5.4","3.5.4","v3.5.3","v3.5.2","v3.5.1","v3.5.0","v3.4.3","v3.4.2","v3.4.1","v3.4.0","v3.3.2","3.3.2","v3.3.1","v3.3.0","v3.2.6","v3.2.5","v3.2.4","v3.2.3","v3.2.2","v3.2.1","v3.2.0","v3.1.9","v3.1.8","v3.1.7","v3.1.6","v3.1.5","v3.1.4","v3.1.3","v3.1.2","v3.1.1","v3.1.0","v3.0.9","v3.0.7","v3.0.6","v3.0.5","v3.0.4","v3.0.3","v3.0.2","v3.0.1","v3.0.0","v2.0.0","v1.0.5","v1.0.4","v1.0.3","v1.0.2","v1.0.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-103396.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"}]}