Skip to main content

Nautobot EUVDEUVD-2026-32973

| CVE-2026-44798 HIGH
Modification of Assumed-Immutable Data (MAID) (CWE-471)
2026-05-13 https://github.com/nautobot/nautobot GHSA-p3hx-pwf3-j8wr
7.1
CVSS 3.1 · Vendor: https://github.com/nautobot/nautobot
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Nautobot API
  2. Delivery
    Identify target GitRepository object ID
  3. Exploit
    Send PATCH request setting current_head to malformed value
  4. Execution
    Trigger repository sync operation
  5. Persist
    Git checkout fails with invalid commit
  6. Impact
    Repository unusable until manual remediation

Vulnerability Assessment

Weakness
CWE
Exploitation Conditions

Attacker must possess valid Nautobot credentials with Django permissions extras.add_gitrepository or extras.change_gitrepository (typically granted to infrastructure administrators or automation service accounts). Exploitation requires direct REST API access to the /api/extras/git-repositories/ endpoint with the ability to send authenticated PATCH or PUT requests. The GitRepository feature must be enabled and in use for data sources (default in typical Nautobot deployments for config-as-code workflows). Attack succeeds against default API configurations with no special network positioning beyond reaching the Nautobot web service. The vendor notes that users with these permission levels can already cause similar impact by legitimately modifying branch or remote_url fields, indicating the vulnerability extends rather than creates new attack surface for this privilege tier.

Impact

Real-world risk is moderate despite the 7.1 CVSS score. The CVSS vector (AV:N/AC:L/PR:L/UI:N) indicates network-accessible exploitation requiring low-privilege authentication with no user interaction. However, the attack requires GitRepository object modification permissions, which are typically restricted to infrastructure/automation administrators rather than general users. The High availability impact (A:H) reflects potential denial of service - malformed current_head values can render repositories unusable until manual remediation. The Low integrity impact (I:L) reflects state confusion rather than code execution. No EPSS or KEV data provided, suggesting no evidence of active exploitation. The vendor advisory notes that users with the same permission level can already cause similar disruption by changing branch or remote_url fields, indicating this vulnerability extends rather than creates an attack surface. Patch availability is confirmed with specific fix versions (2.4.33, 3.1.2) and GitHub commit references. Priority should be guided by how tightly GitRepository permissions are restricted in your deployment - installations following least-privilege principles face lower practical risk than those with broad administrative access.

Exploit ScenarioDerived

An authenticated user with GitRepository modification privileges accesses the Nautobot REST API at /api/extras/git-repositories/ and issues a PATCH request setting current_head to a nonexistent commit hash (e.g., all zeros or random hex). On the next repository sync operation, Nautobot's GitRepo helper attempts to checkout this invalid commit, causing git command failures and rendering the repository unusable for data source operations. Alternatively, setting current_head to a valid but outdated commit causes Nautobot to serve stale configuration data while reporting the repository as successfully synced, creating misleading operational state for network automation workflows.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 13, 2026

Authenticated users with GitRepository modification privileges in Nautobot can manipulate the current_head field via REST API to force local repository clones to check out arbitrary commits, causing repository state inconsistency or denial of service. The unintended write access stems from improper REST API serializer configuration (CWE-471: Modification of Assumed-Immutable Data). Vendor-released patches in versions 2.4.33 and 3.1.2 add field-level access controls and input validation to prevent manipulation of the internal current_head tracking field. No public exploit identified at time of analysis, though exploitation requires only low-privilege authenticated API access.

RemediationAI

Upgrade to Nautobot version 2.4.33 (for 2.x deployments) or 3.1.2 (for 3.x deployments) which include patches preventing current_head manipulation via commit 9deddfc91ad9260ad17b5e20084e9e2d15be3609 (2.x) and c46f97040b2bde4320be36b23577f19a8bcbd8c3 (3.x). Release artifacts available at https://github.com/nautobot/nautobot/releases/tag/v2.4.33 and https://github.com/nautobot/nautobot/releases/tag/v3.1.2. If immediate patching is not feasible, implement compensating controls by restricting add_gitrepository and change_gitrepository permissions to only essential automation service accounts and senior infrastructure administrators, noting that this reduces but does not eliminate risk since privileged users can still manipulate branch and remote_url fields to cause similar disruption. Audit existing GitRepository objects for anomalous current_head values (should match the latest commit on the configured branch) and review access logs for unauthorized API modifications to /api/extras/git-repositories/ endpoints. Trade-off: restricting permissions may break existing automation workflows that legitimately create/modify repository configurations.

Affected VersionsENISA

nautobot 3.0.0a2, < 3.1.2
nautobot < 2.4.33

Affected Packages

pypi nautobot fix: 2.4.33, 3.1.2
euvd nautobot_3_0_0a2 fix: 3.1.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Nautobot is a Network Source of Truth and network automation platform built on Django REST Framework. The vulnerability exists in the GitRepository model's REST API serializer, which incorrectly exposed the current_head field (an internal state tracker for the checked-out commit SHA) as writable. This field should be managed exclusively by Nautobot's GitRepo helper class during legitimate sync operations. The underlying issue is CWE-471 (Modification of Assumed-Immutable Data) - the application assumed current_head would only be modified through controlled code paths but failed to enforce this assumption at the API boundary. The patches introduce validate_git_ref() input validation rejecting whitespace, dash-prefixed values, and malformed commit hashes, plus mark current_head as read-only in the serializer. The affected package is pip/nautobot with CPE pkg:pip/nautobot. Vulnerable versions are <2.4.33 in the 2.x line and >=3.0.0a2,<3.1.2 in the 3.x line.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/nautobot/nautobot) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H

Primary rating from Vendor (https://github.com/nautobot/nautobot) · only source for this CVE.

CVSS VectorVendor: https://github.com/nautobot/nautobot

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
High

DescriptionCVE.org

Impact

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.

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 remote_url of a GitRepository rather than crafting the current_head. 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>)

Threat Intelligence Overview

EPSS Score
0.1%
Top 84% exploitable
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy