Broken Realm Authorization in Apache Syncope Search Lets Users See All Identities
AI analysis
Apache Syncope, an open-source identity management platform, fails to correctly enforce authorization on search requests (CWE-863). When any user performs a non-recursive search, the Realms filter — the component that restricts results to the requester's assigned permissions — can be rendered as empty in the generated SQL, Neo4j, or Elasticsearch/OpenSearch query, voiding all privilege restrictions. An authenticated attacker with even minimal access can therefore enumerate users, groups, and other identity objects across the entire deployment, potentially harvesting usernames, attributes, and other sensitive identity data. All deployments on 3.0.0-M0–3.0.16, 4.0.0-M0–4.0.7, and 4.1.0-M0–4.1.2 are affected; there is no evidence of exploitation in the wild and no public proof of concept.
What to do: Upgrade to Apache Syncope 4.0.8 or 4.1.3 as soon as possible; no fix is listed for the 3.0.x line, so 3.0 deployments should migrate to a patched 4.x release. In the interim, restrict access to the Syncope console and REST API to trusted administrators and audit logs for non-recursive search activity from low-privileged or delegated users. Check whether delegated admins or regular users previously enumerated identities outside their assigned realms, and treat any exposed identity data accordingly.
Affected
| Apache Syncope | 3.0.0-M0 through 3.0.16 |
| Apache Syncope | 4.0.0-M0 through 4.0.7 |
| Apache Syncope | 4.1.0-M0 through 4.1.2 |
Estimated exposure
nichelikely a few hundred to low thousands of self-hosted enterprise deployments worldwide (order of magnitude; no reliable count) — Apache Syncope is a self-hosted, enterprise-grade open-source IdM with no public install metrics, and such deployments are typically internal-facing rather than internet-exposed, so the exposed population is plausibly small.
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Description
Incorrect Authorization vulnerability in Apache Syncope. Any search requests are transformed into SQL, Neo4J or Elasticsearch / Opensearch queries, depending on the actual deployment configuration. An important component of such transformation is the Realms filter, which ensures that the search results are matching the requester's permissions. For non-recursive search requests it is possible that such Realms filter is rendered as empty, thus voiding any restriction on requester privileges. This issue affects Apache Syncope: from 3.0.0-M0 through 3.0.16, from 4.0.0-M0 Through 4.0.7, from 4.1.0-M0 through 4.1.2. Users are recommended to upgrade to version 4.0.8 / 4.1.3, which fix this issue.