CVE-2021-3856
Keycloak has Files or Directories Accessible to External Parties
ClassLoaderTheme and ClasspathThemeResourceProviderFactory allows reading any file available as a resource to the classloader. By sending requests for theme resources with a relative path from an external HTTP client, the client will receive the content of random files if available.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
4.3
ClassLoaderTheme and ClasspathThemeResourceProviderFactory allows reading any file available as a resource to the classloader. By sending requests for theme resources with a relative path from an external HTTP client, the client will receive the content of random files if available.
- Record
CVE-2021-3856- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-552, CWE-22
- Updated
- 2026-11-02
CVE List No score
ClassLoaderTheme and ClasspathThemeResourceProviderFactory allows reading any file available as a resource to the classloader. By sending requests for theme resources with a relative path from an external HTTP client, the client will receive the content of random files if available.
- Record
CVE-2021-3856- Weakness
- CWE-552
- Updated
- 2026-11-02
EUVDEUVD-2022-6472 No score
ClassLoaderTheme and ClasspathThemeResourceProviderFactory allows reading any file available as a resource to the classloader. By sending requests for theme resources with a relative path from an external HTTP client, the client will receive the content of random files if available.
- Record
EUVD-2022-6472- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-3w4v-rvc4-2xpw
4.3
Keycloak has Files or Directories Accessible to External Parties
ClassLoaderTheme and ClasspathThemeResourceProviderFactory allows reading any file available as a resource to the classloader. By sending requests for theme resources with a relative path from an external HTTP client, the client will receive the content of random files if available.
- Record
GHSA-3w4v-rvc4-2xpw- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-22, CWE-552
- Updated
- 2026-11-02
OSV
4.3
ClassLoaderTheme and ClasspathThemeResourceProviderFactory allows reading any file available as a resource to the classloader. By sending requests for theme resources with a relative path from an external HTTP client, the client will receive the content of random files if available.
- Record
CVE-2021-3856- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-3w4v-rvc4-2xpw
4.3
Keycloak has Files or Directories Accessible to External Parties
ClassLoaderTheme and ClasspathThemeResourceProviderFactory allows reading any file available as a resource to the classloader. By sending requests for theme resources with a relative path from an external HTTP client, the client will receive the content of random files if available.
- Record
GHSA-3w4v-rvc4-2xpw- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-22, CWE-552
- Updated
- 2026-11-02
OSVRHBA-2022:5452
7.3
Red Hat Bug Fix Advisory: Red Hat Single Sign-On 7.6.0 update on RHEL 7
- Record
RHBA-2022:5452- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVRHBA-2022:5454
7.3
Red Hat Bug Fix Advisory: Red Hat Single Sign-On 7.6.0 update on RHEL 8
- Record
RHBA-2022:5454- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.keycloak:keycloak-coreMaven |
before 15.1.0 | 15.1.0 |
org.keycloak:keycloak-coreMaven |
before 15.1.0, plus listed versions 1.0-alpha-11.0-alpha-1-120620131.0-alpha-21.0-alpha-31.0-alpha-4 Show 45 moreShow less1.0-beta-11.0-beta-1-201505211.0-beta-1-201505231.0-beta-21.0-beta-31.0-beta-41.0-final1.0-rc-11.0-rc-21.0.1.Final1.0.2.Final1.0.3.Final1.0.4.Final1.0.5.Final1.1.0.Beta11.1.0.Beta21.1.0.Final1.1.1.Final1.2.0.Beta11.2.0.CR11.2.0.Final1.3.0.Final1.3.1.Final1.4.0.Final1.5.0-Final1.5.0.Final1.5.1.Final1.6.0.Final1.6.1.Final1.7.0.CR11.7.0.Final1.8.0.Alpha11.8.0.CR11.8.0.CR21.8.0.CR31.8.0.Final1.8.1.Final1.9.0.CR11.9.0.Final1.9.1.Final1.9.2.Final1.9.3.Final1.9.4.Final1.9.5.Final1.9.7.Final |
15.1.0 |
rh-sso7Red Hat:red_hat_single_sign_on:7.6::el7 From an advisory covering 2 CVEs |
before 0:1-4.el7sso | 0:1-4.el7sso |
rh-sso7-javapackages-toolsRed Hat:red_hat_single_sign_on:7.6::el7 From an advisory covering 2 CVEs |
before 0:3.4.1-5.15.3.jbcs.el7 | 0:3.4.1-5.15.3.jbcs.el7 |
rh-sso7-keycloakRed Hat:red_hat_single_sign_on:7.6::el7 From an advisory covering 2 CVEs |
before 0:18.0.0-2.redhat_00001.1.el7sso | 0:18.0.0-2.redhat_00001.1.el7sso |
rh-sso7-keycloak-serverRed Hat:red_hat_single_sign_on:7.6::el7 From an advisory covering 2 CVEs |
before 0:18.0.0-2.redhat_00001.1.el7sso | 0:18.0.0-2.redhat_00001.1.el7sso |
rh-sso7-python-javapackagesRed Hat:red_hat_single_sign_on:7.6::el7 From an advisory covering 2 CVEs |
before 0:3.4.1-5.15.3.jbcs.el7 | 0:3.4.1-5.15.3.jbcs.el7 |
rh-sso7-runtimeRed Hat:red_hat_single_sign_on:7.6::el7 From an advisory covering 2 CVEs |
before 0:1-4.el7sso | 0:1-4.el7sso |
rh-sso7Red Hat:red_hat_single_sign_on:7.6::el8 From an advisory covering 2 CVEs |
before 0:1-4.el8sso | 0:1-4.el8sso |
rh-sso7-javapackages-toolsRed Hat:red_hat_single_sign_on:7.6::el8 From an advisory covering 2 CVEs |
before 0:3.4.1-5.15.6.el8sso | 0:3.4.1-5.15.6.el8sso |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rh-sso7-keycloakRed Hat:red_hat_single_sign_on:7.6::el8 From an advisory covering 2 CVEs |
before 0:18.0.0-2.redhat_00001.1.el8sso | 0:18.0.0-2.redhat_00001.1.el8sso |
rh-sso7-keycloak-serverRed Hat:red_hat_single_sign_on:7.6::el8 From an advisory covering 2 CVEs |
before 0:18.0.0-2.redhat_00001.1.el8sso | 0:18.0.0-2.redhat_00001.1.el8sso |
rh-sso7-python3-javapackagesRed Hat:red_hat_single_sign_on:7.6::el8 From an advisory covering 2 CVEs |
before 0:3.4.1-5.15.6.el8sso | 0:3.4.1-5.15.6.el8sso |
rh-sso7-runtimeRed Hat:red_hat_single_sign_on:7.6::el8 From an advisory covering 2 CVEs |
before 0:1-4.el8sso | 0:1-4.el8sso |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, products | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-3856 is a medium vulnerability (CVSS 4.3) in Keycloak, published August 26, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.16%, the 67th percentile. Fixed in org.keycloak:keycloak-core 15.1.0.
References
issues.redhat.com/browse/KEYCLOAK-19422
github.com/keycloak/keycloak/pull/8588
github.com/keycloak/keycloak/commit/73f0474008e1bebd0733e62a22aceda9e5de6743
bugzilla.redhat.com/show_bug.cgi?id=2010164
access.redhat.com/security/cve/CVE-2021-3856
nvd.nist.gov/vuln/detail/CVE-2021-3856
Show 12 moreShow less
github.com/advisories/GHSA-3w4v-rvc4-2xpw
github.com/keycloak/keycloak
access.redhat.com/errata/RHBA-2022:5452
security.access.redhat.com/data/csaf/v2/advisories/2022/rhba-2022_5452.json
cve.org/CVERecord?id=CVE-2021-3856
access.redhat.com/security/cve/CVE-2022-0839
bugzilla.redhat.com/show_bug.cgi?id=2081484
cve.org/CVERecord?id=CVE-2022-0839
nvd.nist.gov/vuln/detail/CVE-2022-0839
huntr.dev/bounties/f1ae5779-b406-4594-a8a3-d089c68d6e70
access.redhat.com/errata/RHBA-2022:5454
security.access.redhat.com/data/csaf/v2/advisories/2022/rhba-2022_5454.json
Left out here: 78 versions. The JSON record has them.