CVE-2026-44798: Nautobot: GitRepository.current_head field should not be writable through REST API
Impact
A user with access to add/change a GitRepository record could use the REST API to directly set the currenthead field on the record, which was not intended to be user-editable. Doing so could cause Nautobot's local clone(s) of the relevant repository to checkout a commit other than the latest commit on the specified branch (resulting in misleading state), or potentially to be unable to make use of the repository at all (until manually remediated) due to the currenthead pointing to a nonexistent commit hash or malformed value.
Patches
The issue has been remediated in Nautobot v2.4.33 and 3.1.2.
Workarounds
Note that many of the same end-result symptoms could be caused by a user with the same level of access simply changing the branch or remoteurl of a GitRepository rather than crafting the currenthead. Administrators are encouraged to carefully review which users are granted permissions to create and modify GitRepository records.
References
- 2.4.33 (<a href="https://github.com/nautobot/nautobot/commit/9deddfc91ad9260ad17b5e20084e9e2d15be3609">patch</a>) - 3.1.2 (<a href="https://github.com/nautobot/nautobot/commit/c46f97040b2bde4320be36b23577f19a8bcbd8c3">patch</a>)
Other sources
Nautobot is a Network Source of Truth and Network Automation Platform. Prior to 2.4.33 and 3.1.2, a user with access to add/change a GitRepository record could use the REST API to directly set the currenthead field on the record, which was not intended to be user-editable. Doing so could cause Nautobot's local clone(s) of the relevant repository to checkout a commit other than the latest commit on the specified branch (resulting in misleading state), or potentially to be unable to make use of the repository at all (until manually remediated) due to the currenthead pointing to a nonexistent commit hash or malformed value. This vulnerability is fixed in 2.4.33 and 3.1.2.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/nautobotto a version that resolves this vulnerability.Fixed in 2.4.33 - Upgrade
Upgrade
pip/nautobotto a version that resolves this vulnerability.Fixed in 3.1.2 - Configuration
Review and restrict which users or roles are granted permission to create and modify GitRepository records (via the UI or REST API) so only trusted administrators can change branch, remote_url, or current_head fields.
Nautobot GitRepository create/change permissions = restricted to trusted administrators - Operational
If repositories are already affected, manually remediate by inspecting GitRepository.current_head values, reset them to the correct commit hashes or clear malformed/nonexistent values, and update or reclone Nautobot's local repository clones so the system can use the repositories again.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-44798?
CVE-2026-44798 has been classified as a medium severity vulnerability due to its potential impact on repository integrity.
How do I fix CVE-2026-44798?
To fix CVE-2026-44798, upgrade Nautobot to version 2.4.33 or 3.1.2, which address the vulnerability.
Who is affected by CVE-2026-44798?
CVE-2026-44798 affects users with permissions to add or change GitRepository records in Nautobot.
What is the main risk associated with CVE-2026-44798?
The main risk associated with CVE-2026-44798 is that unauthorized users could manipulate the 'current_head' field, leading to potential integrity issues with repository clones.
Can CVE-2026-44798 be exploited through the REST API?
Yes, CVE-2026-44798 can be exploited through the REST API by users who have access to modify GitRepository records.