CVE-2026-83805: 
Python 취약성 분석 및 완화

개요

CVE-2026-83805 is an authorization bypass vulnerability in Nautobot's approval workflow REST API that allows low-privileged authenticated users to self-approve workflows and activate gated scheduled jobs without legitimate approver involvement. It affects Nautobot versions 3.0.0 through 3.1.7 (fixed in 3.1.8) and was originally published on July 17, 2026, with the GitHub Advisory Database entry updated on September 22, 2026. The vulnerability carries a CVSS v3.1 base score of 6.4 (Medium/Moderate) (Github Advisory, Nautobot Release).

기술적 세부 사항

The root cause is improper authorization (CWE-285) combined with authorization bypass through user-controlled keys (CWE-639) in the generic ApprovalWorkflowStageResponse create endpoint (/api/extras/approval-workflow-stage-responses/). Unlike the intended approve and deny actions on ApprovalWorkflowStage, this endpoint enforced none of the required checks: approver-group membership, change permission on the object under review, or the one-response-per-user restriction. Additionally, the serializer exposed user and state as writable fields, allowing an attacker to attribute forged approval responses to arbitrary users. Once enough forged responses satisfy the min_approvers threshold, the approval cascade triggers ApprovalWorkflow.save() → on_workflow_approved(), which sets the gated ScheduledJob to enabled/active (Github Advisory, Patch Commit).

영향

A user holding only the extras.add_approvalworkflowstageresponse permission can bypass the entire approval workflow process, forging responses attributed to arbitrary approvers to satisfy minimum approval thresholds. This escalates beyond a data integrity issue: because approval workflows gate ScheduledJob execution, successful exploitation results in unauthorized server-side job activation, potentially triggering network automation tasks or configuration changes on managed infrastructure. Confidentiality impact is limited (low), but the integrity impact — unauthorized job execution and falsified audit trails — is the primary concern (Github Advisory, Feedly).

악용 가능성

No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at this time. The EPSS score is 0.0, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires a valid authenticated account with the extras.add_approvalworkflowstageresponse permission, which limits the attack surface to internal or compromised users (Github Advisory, Feedly).

착취 단계

  1. Obtain credentials: Acquire a Nautobot account with at minimum the extras.add_approvalworkflowstageresponse permission — this could be a low-privileged internal user or a compromised account.
  2. Identify target workflow: Query the Nautobot REST API to enumerate pending approval workflow stages requiring approval (e.g., GET /api/extras/approval-workflow-stages/?state=pending).
  3. Forge approval responses: Send one or more HTTP POST requests directly to the unprotected /api/extras/approval-workflow-stage-responses/ endpoint with a crafted payload specifying state: "approved", the target approval_workflow_stage ID, and arbitrary user IDs to impersonate legitimate approvers:
{
  "approval_workflow_stage": "<stage-uuid>",
  "user": "<target-approver-uuid>",
  "state": "approved",
  "comments": "Approved"
}
  1. Satisfy min_approvers threshold: Repeat step 3 with different spoofed user IDs until the stage's min_approvers count is met, bypassing the one-response-per-user restriction.
  2. Trigger job activation: Once the threshold is satisfied, ApprovalWorkflow.save() cascades to on_workflow_approved(), automatically enabling the gated ScheduledJob without any legitimate approver action (Github Advisory, Patch Commit).

타협의 징후

  • Network/API Logs: Unexpected HTTP POST requests to /api/extras/approval-workflow-stage-responses/ from users who are not members of the designated approver group for the targeted workflow stage.
  • Logs: Multiple approval responses for the same workflow stage attributed to different user IDs but originating from the same source IP or authentication token; rapid succession of approved state responses on a single stage.
  • Application Behavior: ScheduledJob records transitioning to enabled/active state without corresponding legitimate approver activity visible in the UI approval panel; approval workflow stages advancing to approved state with responses attributed to users who did not interact with the workflow.
  • Audit Trail Anomalies: Approval response records in the database where the user field references approvers who have no record of UI or API interaction during the relevant time window.

완화 및 해결 방법

Upgrade Nautobot to version 3.1.8 or later, which removes the standalone ApprovalWorkflowStageResponse REST API endpoint entirely; responses are now exposed only as read-only nested data on the approval workflow stage, filtered by view permission (Nautobot Release). As an interim workaround prior to patching, restrict the extras.add_approvalworkflowstageresponse permission so that no untrusted users hold it — approval responses should only be created via the stage approve/deny actions. Note that there is no configuration flag to disable the vulnerable generic create endpoint without applying the patch (Github Advisory).

추가 자료


근원: 이 보고서는 AI를 사용하여 생성되었습니다.

관련 Python 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 익스플로잇

수정 사항이 있습니다.

게시된 날짜

CVE-2026-57576MEDIUM6.5
  • Python logoPython
  • plone.app.contenttypes
아니요예Sep 22, 2026
CVE-2026-83805MEDIUM6.4
  • Python logoPython
  • nautobot
아니요예Sep 22, 2026
CVE-2026-83801MEDIUM5.4
  • Python logoPython
  • nautobot
아니요예Sep 22, 2026
CVE-2026-93421MEDIUM5.3
  • Python logoPython
  • mesop
아니요예Sep 23, 2026
CVE-2026-62364LOW2.3
  • Python logoPython
  • wlc
아니요예Sep 22, 2026

무료 취약성 평가

클라우드 보안 태세를 벤치마킹합니다

9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.

평가 요청

추가 Wiz 리소스

맞춤형 데모 받기

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭최고정보책임자(CISO)
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자