Skip to main content

Nautobot CVE-2026-83805

| EUVDEUVD-2026-84815 MEDIUM
Improper Authorization (CWE-285)
2026-09-22 GitHub_M GHSA-q4c5-2j6f-r476
6.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with add_approvalworkflowstageresponse permission
  2. Delivery
    POST forged 'approved' response to standalone endpoint
  3. Exploit
    Attribute responses to arbitrary users, bypass approver checks
  4. Execution
    Satisfy min_approvers and approve workflow
  5. Impact
    Activate gated ScheduledJob without legitimate approver

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated Nautobot account (versions 3.0.0 through 3.1.7) that has been granted the extras.add_approvalworkflowstageresponse object permission and network access to the REST API; the approval-workflow feature must be in use to gate ScheduledJobs. Exploitation is limited to insiders or compromised accounts with that specific permission - it is NOT unauthenticated and NOT exploitable against default installs that do not use approval workflows or that do not grant this add permission. No user interaction is needed. The flaw is that the generic create endpoint omits approver-group membership, change-permission-on-the-object, and one-response-per-user checks, and exposes writable user/state fields allowing attribution to arbitrary users.

Impact

This is a moderate-priority authorization flaw whose real-world risk is bounded by its access prerequisite. The vendor CVSS of 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) is internally consistent: it is network-reachable and low-complexity, but requires an authenticated account (PR:L) that has been granted the extras.add_approvalworkflowstageresponse permission. No EPSS score, CISA KEV listing, or public exploit code is present in the provided data, so exploitation status is 'no public exploit identified at time of analysis' - there is no signal of active or automated exploitation. The genuine severity driver is not memory-level impact but a broken security control: the approval-workflow gate is defeated, letting a low-privileged insider self-approve workflows and activate gated ScheduledJobs. The S:C (scope change) reflects that bypassing the approval component affects a separate component (job execution). The vendor's C:L/I:L rating is defensible but arguably understates integrity, since forging approvals to launch otherwise-gated automation jobs could have larger downstream effect than a single low-integrity write; verify against the specific jobs a deployment gates. Overall: a real but insider-gated authorization bypass, not an internet-facing unauthenticated RCE - treat as elevated-but-not-emergency, prioritized higher where the approval-workflow feature actually governs sensitive automation.

Exploit ScenarioDerived

A user holding only the extras.add_approvalworkflowstageresponse permission (e.g. an over-provisioned automation operator) sends a REST API POST to the standalone ApprovalWorkflowStageResponse create endpoint, submitting a response with state='approved' and the writable user/state fields set to impersonate a legitimate approver. By repeating this they satisfy min_approvers and approve the workflow, activating its gated ScheduledJob with no genuine approver involved. No public PoC is referenced, but the fix commit and advisory describe the exact API path, making the technique straightforward to reproduce.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 22, 2026

Approval workflow gating in Nautobot 3.0.0 through 3.1.7 can be bypassed by an authenticated user who holds only the extras.add_approvalworkflowstageresponse permission. The generic REST API create endpoint for ApprovalWorkflowStageResponse omits the approver-group membership check, the change permission on the object under review, and the one-response-per-user restriction that the intended approve/deny actions enforce, and it exposes writable user and state fields so a response can be attributed to an arbitrary user. An attacker can therefore post forged "approved" responses, satisfy min_approvers, approve the workflow, and activate its gated ScheduledJob without any legitimate approver - a moderate-severity authorization flaw (CVSS 6.4, CWE-285) whose real-world risk is bounded by the requirement for an insider or compromised account that has been granted that specific add permission on an instance that actually uses approval workflows; no public exploit code was identified at time of analysis, and the vendor released a patch in version 3.1.8.

RemediationAI

Vendor-released patch: upgrade to Nautobot 3.1.8, which removes the standalone ApprovalWorkflowStageResponse endpoint entirely and instead exposes responses as read-only nested data on the approval workflow stage, filtered by the extras.view_approvalworkflowstageresponse permission (see the release notes at https://github.com/nautobot/nautobot/releases/tag/v3.1.8, the fix commit 8682707d0391cbfd7694e3276127b78dc9cf29d8, and advisory GHSA-q4c5-2j6f-r476). If immediate upgrade is not possible, remove the extras.add_approvalworkflowstageresponse permission from every role that is not an authorized approver - the trade-off is that those users lose the ability to submit responses through that path, but the intended approve/deny actions on the approval workflow stage continue to work and no legitimate workflow is broken - and restrict REST API network access (reverse-proxy/firewall allow-listing of /api/extras/approval-workflow-stage-responses/) for accounts outside the approver group, accepting that this only narrows the attacker population rather than closing the flaw. Because the defect also allows the user field to be set by the caller, treat any workflow approved between 3.0.0 and 3.1.7 as untrusted: audit ApprovalWorkflowStageResponse records for responses whose attributed user was not in the approver group or where a single user appears more than once, and review ScheduledJobs that were activated by those approvals before re-enabling the gated jobs.

Affected VersionsENISA

nautobot 3.0.0, < 3.1.8

Affected Packages

pypi nautobot fix: 3.1.8

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

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

Technical ContextAI · show details

The root cause is improper authorization (CWE-285) in the Nautobot "extras" plugin's approval-workflow feature, a Network Source of Truth mechanism that gates the execution of ScheduledJobs behind a configurable number of approver responses. Implementation-wise, the flawed code registered a full Django REST Framework ModelViewSet for ApprovalWorkflowStageResponse at the route "approval-workflow-stage-responses", with a queryset of all objects and a serializer that exposed the user and state fields as writable. Because that generic create path was used instead of the dedicated approve/deny actions on the approval workflow stage, none of the intended guards ran: approver-group membership was never validated, object-level change permission on the item under review was never checked, and the business rule limiting each user to a single response was skipped. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N reflects a network-reachable, low-privilege, no-user-interaction issue with changed scope (S:C) - the attacker's low-privileged response-creation capability is leveraged to cross into the workflow-approval security authority - with limited confidentiality and integrity impact and no availability impact. This matters because the approval workflow is itself a security control: forging responses to reach min_approvers defeats separation-of-duties and can trigger automation (ScheduledJobs) that administrators deliberately placed behind human approval.

Know when Nautobot gets its next vulnerability

  • 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 (GitHub_M) PRIMARY 6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.4 MEDIUM

Network REST API, low complexity, but requires an authenticated account with a specific add permission (PR:L); bypassing the approval component to activate a separate ScheduledJob justifies S:C with limited C/I impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Sep 22, 2026 - 21:03 EUVD

DescriptionCVE.org

Nautobot is a Network Source of Truth and Network Automation Platform. From 3.0.0 until 3.1.8, the generic ApprovalWorkflowStageResponse create endpoint does not enforce approver-group membership, change permission on the object under review, or the one-response-per-user restriction applied by the intended approve and deny actions. A user with only extras.add_approvalworkflowstageresponse can submit approved responses directly, while writable user and state fields permit responses to be attributed to arbitrary users. These forged responses can satisfy min_approvers, approve the workflow, and activate its gated ScheduledJob without a legitimate approver. This issue is fixed in version 3.1.8.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche network source-of-truth / automation platform used by network-ops teams
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2023-46128 MEDIUM POC
6.5 Oct 25

Nautobot is a Network Automation Platform built as a web application atop the Django Python framework with a PostgreSQL

CVE-2023-25657 CRITICAL
9.8 Feb 21

Nautobot is a Network Source of Truth and Network Automation Platform. Rated critical severity (CVSS 9.8), this vulnerab

CVE-2026-83801 MEDIUM POC
5.4 Sep 22

Stored cross-site scripting in Nautobot (all versions prior to 2.4.37 on the 2.x branch and prior to 3.1.8 on the 3.x br

CVE-2024-34707 MEDIUM POC
4.8 May 14

Nautobot is a Network Source of Truth and Network Automation Platform. Rated medium severity (CVSS 4.8), this vulnerabil

CVE-2025-49142 HIGH
7.1 Jun 10

A remote code execution vulnerability in Nautobot (CVSS 7.1). High severity vulnerability requiring prompt remediation.

CVE-2024-36112 MEDIUM
6.5 May 28

Nautobot is a Network Source of Truth and Network Automation Platform. Rated medium severity (CVSS 6.5), this vulnerabil

CVE-2023-48700 MEDIUM
6.5 Nov 21

The Nautobot Device Onboarding plugin uses the netmiko and NAPALM libraries to simplify the onboarding process of a new

CVE-2024-32979 MEDIUM
6.1 May 01

Nautobot is a Network Source of Truth and Network Automation Platform built as a web application atop the Django Python

CVE-2025-49143 MEDIUM
5.9 Jun 10

Nautobot is a Network Source of Truth and Network Automation Platform. Prior to v2.4.10 and v1.6.32 , files uploaded by

CVE-2024-23345 MEDIUM
5.4 Jan 23

Nautobot is a Network Source of Truth and Network Automation Platform built as a web application. Rated medium severity

CVE-2023-48705 MEDIUM
5.4 Nov 22

Nautobot is a Network Source of Truth and Network Automation Platform built as a web application All users of Nautobot v

CVE-2024-29199 MEDIUM
5.3 Mar 26

Nautobot is a Network Source of Truth and Network Automation Platform. Rated medium severity (CVSS 5.3), this vulnerabil

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