CVE-2021-45083
Description
An issue was discovered in Cobbler before 3.3.1. Files in /etc/cobbler are world readable. Two of those files contain some sensitive information that can be exposed to a local user who has non-privileged access to the server. The users.digest file contains the sha2-512 digest of users in a Cobbler local installation. In the case of an easy-to-guess password, it's trivial to obtain the plaintext string. The settings.yaml file contains secrets such as the hashed default password.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Cobbler before 3.3.1 stores sensitive data world-readable in /etc/cobbler, allowing local low-privilege users to obtain password hashes.
Vulnerability
Cobbler versions before 3.3.1 store configuration files in /etc/cobbler with world-readable permissions (-rw-r--r--). Two files are of concern: users.digest, which contains SHA-2-512 digests of local Cobbler users, and settings.yaml, which contains secrets such as the default password hash. This vulnerability is tracked as CVE-2021-45083 and affects all Cobbler installations prior to 3.3.1 [1][2][3].
Exploitation
An attacker with local, non-privileged access to the server can read the world-readable files /etc/cobbler/users.digest and /etc/cobbler/settings.yaml without requiring any authentication or special permissions. If a user's password is weak (e.g., easy-to-guess), the attacker can trivially recover the plaintext password from the digest file by offline cracking [2][3]. The attacker does not need any network access or user interaction beyond having a local shell account.
Impact
Successful exploitation allows the attacker to obtain password hashes and potentially recover plaintext credentials for Cobbler local users. With valid credentials, the attacker could authenticate to the Cobbler daemon and gain privileges that may lead to broader compromise of the provisioning system, including high-integrity and high-availability impacts. The CVSS score is 8.4 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N) [2].
Mitigation
The vulnerability is fixed in Cobbler version 3.3.1 and later. Users should upgrade to Cobbler 3.3.1 or newer immediately [1]. For systems that cannot be upgraded, administrators should manually restrict permissions on the sensitive files (e.g., chmod 600 /etc/cobbler/settings.yaml /etc/cobbler/users.digest) and ensure that only root can read them. There is no indication that this CVE is listed in the known exploited vulnerabilities (KEV) catalog.
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
cobblerPyPI | < 3.3.1 | 3.3.1 |
Affected products
10- Cobbler/Cobblerdescription
- ghsa-coords9 versionspkg:pypi/cobblerpkg:rpm/suse/cobbler&distro=HPE%20Helion%20OpenStack%208pkg:rpm/suse/cobbler&distro=SUSE%20Linux%20Enterprise%20Server%2011%20SP3-CLIENT-TOOLSpkg:rpm/suse/cobbler&distro=SUSE%20Linux%20Enterprise%20Server%2011%20SP4-CLIENT-TOOLSpkg:rpm/suse/cobbler&distro=SUSE%20Manager%20Client%20Tools%2012pkg:rpm/suse/cobbler&distro=SUSE%20Manager%20Server%20Module%204.1pkg:rpm/suse/cobbler&distro=SUSE%20Manager%20Server%20Module%204.2pkg:rpm/suse/cobbler&distro=SUSE%20OpenStack%20Cloud%208pkg:rpm/suse/cobbler&distro=SUSE%20OpenStack%20Cloud%209
< 3.3.1+ 8 more
- (no CPE)range: < 3.3.1
- (no CPE)range: < 2.6.6-49.35.1
- (no CPE)range: < 2.2.2-0.68.15.1
- (no CPE)range: < 2.2.2-0.68.15.1
- (no CPE)range: < 2.6.6-49.35.1
- (no CPE)range: < 3.0.0+git20190806.32c4bae0-8.22.9.1
- (no CPE)range: < 3.1.2-150300.5.14.1
- (no CPE)range: < 2.6.6-49.35.1
- (no CPE)range: < 2.6.6-49.35.1
Patches
110b2112db83fMerge pull request #2945 from agraul/cve-patches-2022-02-16
2 files changed · +27 −13
cobbler.spec+24 −10 modified@@ -361,6 +361,20 @@ fi %else %post %systemd_post cobblerd.service +# Fixup permission for world readable settings files +chmod 640 %{_sysconfdir}/cobbler/settings.yaml +chmod 600 %{_sysconfdir}/cobbler/mongodb.conf +chmod 600 %{_sysconfdir}/cobbler/modules.conf +chmod 640 %{_sysconfdir}/cobbler/users.conf +chmod 640 %{_sysconfdir}/cobbler/users.digest +chmod 750 %{_sysconfdir}/cobbler/settings.d +chmod 640 %{_sysconfdir}/cobbler/settings.d/* +chgrp %{apache_group} %{_sysconfdir}/cobbler/settings +chgrp %{apache_group} %{_sysconfdir}/cobbler/users.conf +chgrp %{apache_group} %{_sysconfdir}/cobbler/users.digest +chgrp %{apache_group} %{_sysconfdir}/cobbler/settings.d +chgrp %{apache_group} %{_sysconfdir}/cobbler/settings.d/* + %preun %systemd_preun cobblerd.service @@ -395,23 +409,23 @@ fi %dir %{_sysconfdir}/cobbler/iso %config(noreplace) %{_sysconfdir}/cobbler/iso/buildiso.template %config(noreplace) %{_sysconfdir}/cobbler/logging_config.conf -%config(noreplace) %{_sysconfdir}/cobbler/modules.conf -%config(noreplace) %{_sysconfdir}/cobbler/mongodb.conf +%attr(600, root, root) %config(noreplace) %{_sysconfdir}/cobbler/modules.conf +%attr(600, root, root) %config(noreplace) %{_sysconfdir}/cobbler/mongodb.conf %config(noreplace) %{_sysconfdir}/cobbler/named.template %config(noreplace) %{_sysconfdir}/cobbler/ndjbdns.template %dir %{_sysconfdir}/cobbler/reporting %config(noreplace) %{_sysconfdir}/cobbler/reporting/build_report_email.template %config(noreplace) %{_sysconfdir}/cobbler/rsync.exclude %config(noreplace) %{_sysconfdir}/cobbler/rsync.template %config(noreplace) %{_sysconfdir}/cobbler/secondary.template -%config(noreplace) %{_sysconfdir}/cobbler/settings.yaml -%dir %{_sysconfdir}/cobbler/settings.d -%config(noreplace) %{_sysconfdir}/cobbler/settings.d/bind_manage_ipmi.settings -%config(noreplace) %{_sysconfdir}/cobbler/settings.d/manage_genders.settings -%config(noreplace) %{_sysconfdir}/cobbler/settings.d/nsupdate.settings -%config(noreplace) %{_sysconfdir}/cobbler/settings.d/windows.settings -%config(noreplace) %{_sysconfdir}/cobbler/users.conf -%config(noreplace) %{_sysconfdir}/cobbler/users.digest +%attr(640, root, %{apache_group}) %config(noreplace) %{_sysconfdir}/cobbler/settings.yaml +%attr(750, root, %{apache_group}) %dir %{_sysconfdir}/cobbler/settings.d +%attr(640, root, %{apache_group}) %config(noreplace) %{_sysconfdir}/cobbler/settings.d/bind_manage_ipmi.settings +%attr(640, root, %{apache_group}) %config(noreplace) %{_sysconfdir}/cobbler/settings.d/manage_genders.settings +%attr(640, root, %{apache_group}) %config(noreplace) %{_sysconfdir}/cobbler/settings.d/nsupdate.settings +%attr(640, root, %{apache_group}) %config(noreplace) %{_sysconfdir}/cobbler/settings.d/windows.settings +%attr(640, root, %{apache_group}) %config(noreplace) %{_sysconfdir}/cobbler/users.conf +%attr(640, root, %{apache_group}) %config(noreplace) %{_sysconfdir}/cobbler/users.digest %config(noreplace) %{_sysconfdir}/cobbler/version %config(noreplace) %{_sysconfdir}/cobbler/zone.template %dir %{_sysconfdir}/cobbler/zone_templates
cobbler/templar.py+3 −3 modified@@ -75,10 +75,10 @@ def check_for_invalid_imports(self, data: str): """ lines = data.split("\n") for line in lines: - if line.find("#import") != -1: - rest = line.replace("#import", "").replace(" ", "").strip() + if "#import" in line or "#from" in line: + rest = line.replace("#import", "").replace("#from", "").replace("import", ".").replace(" ", "").strip() if self.settings and rest not in self.settings.cheetah_import_whitelist: - raise CX("potentially insecure import in template: %s" % rest) + raise CX(f"Potentially insecure import in template: {rest}") def render(self, data_input: Union[TextIO, str], search_table: dict, out_path: Optional[str], template_type="default") -> str:
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
14- github.com/advisories/GHSA-5946-mpw5-pqxxghsaADVISORY
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TEJN7CPW6YCHBFQPFZKGA6AVA6T5NPIW/mitrevendor-advisoryx_refsource_FEDORA
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/Z5CSXQE7Q4TVDQJKFYBO4XDH3BZ7BLAR/mitrevendor-advisoryx_refsource_FEDORA
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZCXMOUW4DH4DYWIJN44SMSU6R3CZDZBE/mitrevendor-advisoryx_refsource_FEDORA
- nvd.nist.gov/vuln/detail/CVE-2021-45083ghsaADVISORY
- bugzilla.suse.com/show_bug.cgighsax_refsource_MISCWEB
- github.com/cobbler/cobbler/commit/10b2112db83fedfc391e900edfedc2b4e507d3f7ghsaWEB
- github.com/cobbler/cobbler/pull/2945ghsaWEB
- github.com/cobbler/cobbler/releases/tag/v3.3.1ghsaWEB
- github.com/pypa/advisory-database/tree/main/vulns/cobbler/PYSEC-2022-38.yamlghsaWEB
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TEJN7CPW6YCHBFQPFZKGA6AVA6T5NPIWghsaWEB
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/Z5CSXQE7Q4TVDQJKFYBO4XDH3BZ7BLARghsaWEB
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZCXMOUW4DH4DYWIJN44SMSU6R3CZDZBEghsaWEB
- www.openwall.com/lists/oss-security/2022/02/18/3ghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.