CVE-2026-44798
Analyzed Analyzed - Analysis Complete
Arbitrary Git Repository Head Manipulation in Nautobot

Publication date: 2026-05-28

Last updated on: 2026-05-28

Assigner: GitHub, Inc.

Description
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 current_head 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 current_head pointing to a nonexistent commit hash or malformed value. This vulnerability is fixed in 2.4.33 and 3.1.2.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-28
Last Modified
2026-05-28
Generated
2026-05-29
AI Q&A
2026-05-28
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
networktocode nautobot to 2.4.33 (exc)
networktocode nautobot From 3.0.0 (inc) to 3.1.2 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-471 The product does not properly protect an assumed-immutable element from being modified by an attacker.
CWE-749 The product provides an Applications Programming Interface (API) or similar interface for interaction with external actors, but the interface includes a dangerous method or function that is not properly restricted.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability affects Nautobot, a Network Source of Truth and Network Automation Platform. Before versions 2.4.33 and 3.1.2, a user who had permission to add or change a GitRepository record could use the REST API to directly modify the current_head field on that record. This field was not intended to be editable by users. By changing it, the local clone of the repository in Nautobot could checkout a commit that is not the latest on the specified branch, causing the system to show a misleading state. Additionally, if the current_head was set to a nonexistent commit hash or a malformed value, the repository could become unusable until manually fixed.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

The vulnerability in Nautobot allows modification of the current_head field in GitRepository records via the REST API, which can lead to misleading repository states or unavailability until manually fixed.

This issue impacts the integrity and availability of the system but does not affect confidentiality.

Since the vulnerability does not compromise confidentiality or expose sensitive personal data, it is less likely to directly violate data protection regulations such as GDPR or HIPAA, which primarily focus on protecting personal data privacy and confidentiality.

However, the integrity and availability impacts could indirectly affect compliance if the affected system is critical for maintaining accurate and reliable data required by these standards.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability involves unauthorized modification of the current_head field in GitRepository records via the Nautobot REST API. Detection involves monitoring or auditing API requests that attempt to set or modify the current_head field, which should not be user-editable.

Administrators should review user permissions to ensure only trusted users have add/change access to GitRepository records.

To detect potential exploitation, you can inspect API logs for PATCH or POST requests to endpoints related to GitRepository records that include changes to the current_head field.

Example commands to search logs for suspicious API calls (assuming logs are stored in a file named nautobot_api.log):

  • grep -i 'current_head' nautobot_api.log
  • grep -E 'PATCH|POST' nautobot_api.log | grep 'GitRepository'
  • jq '. | select(.field == "current_head")' api_request_logs.json (if logs are in JSON format)

Additionally, verify the current_head values in the local clones of repositories to ensure they point to valid, latest commits on the specified branches.


How can this vulnerability impact me? :

The vulnerability can lead to Nautobot's local repository clones checking out incorrect commits, which means the system may display outdated or incorrect network state information. This can mislead users relying on the platform for accurate network automation and source of truth. Furthermore, if the current_head is set to an invalid commit hash or malformed value, the repository may become unusable until manually corrected, potentially disrupting network automation workflows and causing downtime or operational issues.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, upgrade Nautobot to version 2.4.33 or 3.1.2 or later, where the issue has been fixed.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart