CVE-2023-51649 (GCVE-0-2023-51649)

Vulnerability from cvelistv5 – Published: 2023-12-22 16:48 – Updated: 2024-08-02 22:40
VLAI
Title
Nautobot missing object-level permissions enforcement when running Job Buttons
Summary
Nautobot is a Network Source of Truth and Network Automation Platform built as a web application atop the Django Python framework with a PostgreSQL or MySQL database. When submitting a Job to run via a Job Button, only the model-level `extras.run_job` permission is checked (i.e., does the user have permission to run Jobs in general). Object-level permissions (i.e., does the user have permission to run this specific Job?) are not enforced by the URL/view used in this case. A user with permissions to run even a single Job can actually run all configured JobButton Jobs. Fix will be available in Nautobot 1.6.8 and 2.1.0
CWE
  • CWE-863 - Incorrect Authorization
Impacted products
Vendor Product Version CPE status
nautobot nautobot Affected: >= 1.5.14, < 1.6.8
Affected: >= 2.0.0, < 2.1.0
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T22:40:33.995Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "name": "https://github.com/nautobot/nautobot/security/advisories/GHSA-vf5m-xrhm-v999",
            "tags": [
              "x_refsource_CONFIRM",
              "x_transferred"
            ],
            "url": "https://github.com/nautobot/nautobot/security/advisories/GHSA-vf5m-xrhm-v999"
          },
          {
            "name": "https://github.com/nautobot/nautobot/issues/4988",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/nautobot/nautobot/issues/4988"
          },
          {
            "name": "https://github.com/nautobot/nautobot/pull/4993",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/nautobot/nautobot/pull/4993"
          },
          {
            "name": "https://github.com/nautobot/nautobot/pull/4995",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/nautobot/nautobot/pull/4995"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "nautobot",
          "vendor": "nautobot",
          "versions": [
            {
              "status": "affected",
              "version": "\u003e= 1.5.14, \u003c 1.6.8"
            },
            {
              "status": "affected",
              "version": "\u003e= 2.0.0, \u003c 2.1.0"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "Nautobot is a Network Source of Truth and Network Automation Platform built as a web application atop the Django Python framework with a PostgreSQL or MySQL database. When submitting a Job to run via a Job Button, only the model-level `extras.run_job` permission is checked (i.e., does the user have permission to run Jobs in general). Object-level permissions (i.e., does the user have permission to run this specific Job?) are not enforced by the URL/view used in this case. A user with permissions to run even a single Job can actually run all configured JobButton Jobs. Fix will be available in Nautobot 1.6.8 and 2.1.0 "
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "LOW",
            "baseScore": 3.5,
            "baseSeverity": "LOW",
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "privilegesRequired": "LOW",
            "scope": "CHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:L",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-863",
              "description": "CWE-863: Incorrect Authorization",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2023-12-22T16:48:19.711Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "name": "https://github.com/nautobot/nautobot/security/advisories/GHSA-vf5m-xrhm-v999",
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/nautobot/nautobot/security/advisories/GHSA-vf5m-xrhm-v999"
        },
        {
          "name": "https://github.com/nautobot/nautobot/issues/4988",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/nautobot/nautobot/issues/4988"
        },
        {
          "name": "https://github.com/nautobot/nautobot/pull/4993",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/nautobot/nautobot/pull/4993"
        },
        {
          "name": "https://github.com/nautobot/nautobot/pull/4995",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/nautobot/nautobot/pull/4995"
        }
      ],
      "source": {
        "advisory": "GHSA-vf5m-xrhm-v999",
        "discovery": "UNKNOWN"
      },
      "title": "Nautobot missing object-level permissions enforcement when running Job Buttons"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2023-51649",
    "datePublished": "2023-12-22T16:48:19.711Z",
    "dateReserved": "2023-12-20T22:12:04.737Z",
    "dateUpdated": "2024-08-02T22:40:33.995Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-51649",
      "date": "2026-09-30",
      "epss": "0.00452",
      "percentile": "0.36909"
    },
    "fkie_nvd": {
      "configurations": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:a:networktocode:nautobot:*:*:*:*:*:*:*:*",
                  "matchCriteriaId": "882A82E9-9E77-42C7-9BF0-B9043343580F",
                  "versionEndExcluding": "1.6.8",
                  "versionStartIncluding": "1.5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:a:networktocode:nautobot:*:*:*:*:*:*:*:*",
                  "matchCriteriaId": "FAFB640A-21BF-41F2-B824-50336FF393B0",
                  "versionEndExcluding": "2.1.0",
                  "versionStartIncluding": "2.0.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "Nautobot is a Network Source of Truth and Network Automation Platform built as a web application atop the Django Python framework with a PostgreSQL or MySQL database. When submitting a Job to run via a Job Button, only the model-level `extras.run_job` permission is checked (i.e., does the user have permission to run Jobs in general). Object-level permissions (i.e., does the user have permission to run this specific Job?) are not enforced by the URL/view used in this case. A user with permissions to run even a single Job can actually run all configured JobButton Jobs. Fix will be available in Nautobot 1.6.8 and 2.1.0 "
        },
        {
          "lang": "es",
          "value": "Nautobot es una Network Automation Platform y Network Source of Truth creada como una aplicaci\u00f3n web sobre el framework Django Python con una base de datos PostgreSQL o MySQL. Al enviar un Job para ejecutar a trav\u00e9s de un bot\u00f3n de Job, solo se verifica el permiso `extras.run_job` a nivel de modelo (es decir, si el usuario tiene permiso para ejecutar Jobs en general). Los permisos a nivel de objeto (es decir, \u00bftiene el usuario permiso para ejecutar este trabajo espec\u00edfico?) no se aplican mediante la URL/vista utilizada en este caso. Un usuario con permisos para ejecutar incluso un solo Job puede ejecutar todos los Jobs de JobButton configurados. La soluci\u00f3n estar\u00e1 disponible en Nautobot 1.6.8 y 2.1.0"
        }
      ],
      "id": "CVE-2023-51649",
      "lastModified": "2024-11-21T08:38:32.163",
      "metrics": {
        "cvssMetricV31": [
          {
            "cvssData": {
              "attackComplexity": "HIGH",
              "attackVector": "NETWORK",
              "availabilityImpact": "LOW",
              "baseScore": 3.5,
              "baseSeverity": "LOW",
              "confidentialityImpact": "NONE",
              "integrityImpact": "NONE",
              "privilegesRequired": "LOW",
              "scope": "CHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:L",
              "version": "3.1"
            },
            "exploitabilityScore": 1.8,
            "impactScore": 1.4,
            "source": "security-advisories@github.com",
            "type": "Secondary"
          },
          {
            "cvssData": {
              "attackComplexity": "LOW",
              "attackVector": "NETWORK",
              "availabilityImpact": "NONE",
              "baseScore": 4.3,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "LOW",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N",
              "version": "3.1"
            },
            "exploitabilityScore": 2.8,
            "impactScore": 1.4,
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      },
      "published": "2023-12-22T17:15:10.197",
      "references": [
        {
          "source": "security-advisories@github.com",
          "tags": [
            "Issue Tracking"
          ],
          "url": "https://github.com/nautobot/nautobot/issues/4988"
        },
        {
          "source": "security-advisories@github.com",
          "tags": [
            "Issue Tracking",
            "Patch"
          ],
          "url": "https://github.com/nautobot/nautobot/pull/4993"
        },
        {
          "source": "security-advisories@github.com",
          "tags": [
            "Issue Tracking",
            "Patch"
          ],
          "url": "https://github.com/nautobot/nautobot/pull/4995"
        },
        {
          "source": "security-advisories@github.com",
          "tags": [
            "Patch",
            "Vendor Advisory"
          ],
          "url": "https://github.com/nautobot/nautobot/security/advisories/GHSA-vf5m-xrhm-v999"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Issue Tracking"
          ],
          "url": "https://github.com/nautobot/nautobot/issues/4988"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Issue Tracking",
            "Patch"
          ],
          "url": "https://github.com/nautobot/nautobot/pull/4993"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Issue Tracking",
            "Patch"
          ],
          "url": "https://github.com/nautobot/nautobot/pull/4995"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch",
            "Vendor Advisory"
          ],
          "url": "https://github.com/nautobot/nautobot/security/advisories/GHSA-vf5m-xrhm-v999"
        }
      ],
      "sourceIdentifier": "security-advisories@github.com",
      "vulnStatus": "Modified",
      "weaknesses": [
        {
          "description": [
            {
              "lang": "en",
              "value": "CWE-863"
            }
          ],
          "source": "security-advisories@github.com",
          "type": "Primary"
        }
      ]
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "product": "nautobot",
                "vendor": "nautobot",
                "versions": [
                  {
                    "status": "affected",
                    "version": "\u003e= 1.5.14, \u003c 1.6.8"
                  },
                  {
                    "status": "affected",
                    "version": "\u003e= 2.0.0, \u003c 2.1.0"
                  }
                ]
              }
            ],
            "source": "security-advisories@github.com"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:a:networktocode:nautobot:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "882A82E9-9E77-42C7-9BF0-B9043343580F",
                    "versionEndExcluding": "1.6.8",
                    "versionStartIncluding": "1.5.14",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:a:networktocode:nautobot:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "FAFB640A-21BF-41F2-B824-50336FF393B0",
                    "versionEndExcluding": "2.1.0",
                    "versionStartIncluding": "2.0.0",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "Nautobot is a Network Source of Truth and Network Automation Platform built as a web application atop the Django Python framework with a PostgreSQL or MySQL database. When submitting a Job to run via a Job Button, only the model-level `extras.run_job` permission is checked (i.e., does the user have permission to run Jobs in general). Object-level permissions (i.e., does the user have permission to run this specific Job?) are not enforced by the URL/view used in this case. A user with permissions to run even a single Job can actually run all configured JobButton Jobs. Fix will be available in Nautobot 1.6.8 and 2.1.0 "
          },
          {
            "lang": "es",
            "value": "Nautobot es una Network Automation Platform y Network Source of Truth creada como una aplicaci\u00f3n web sobre el framework Django Python con una base de datos PostgreSQL o MySQL. Al enviar un Job para ejecutar a trav\u00e9s de un bot\u00f3n de Job, solo se verifica el permiso `extras.run_job` a nivel de modelo (es decir, si el usuario tiene permiso para ejecutar Jobs en general). Los permisos a nivel de objeto (es decir, \u00bftiene el usuario permiso para ejecutar este trabajo espec\u00edfico?) no se aplican mediante la URL/vista utilizada en este caso. Un usuario con permisos para ejecutar incluso un solo Job puede ejecutar todos los Jobs de JobButton configurados. La soluci\u00f3n estar\u00e1 disponible en Nautobot 1.6.8 y 2.1.0"
          }
        ],
        "id": "CVE-2023-51649",
        "lastModified": "2026-06-17T06:41:24.013",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 3.5,
                "baseSeverity": "LOW",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:L",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 1.4,
              "source": "security-advisories@github.com",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 4.3,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "LOW",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N",
                "version": "3.1"
              },
              "exploitabilityScore": 2.8,
              "impactScore": 1.4,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2023-12-22T17:15:10.197",
        "references": [
          {
            "source": "security-advisories@github.com",
            "tags": [
              "Issue Tracking"
            ],
            "url": "https://github.com/nautobot/nautobot/issues/4988"
          },
          {
            "source": "security-advisories@github.com",
            "tags": [
              "Issue Tracking",
              "Patch"
            ],
            "url": "https://github.com/nautobot/nautobot/pull/4993"
          },
          {
            "source": "security-advisories@github.com",
            "tags": [
              "Issue Tracking",
              "Patch"
            ],
            "url": "https://github.com/nautobot/nautobot/pull/4995"
          },
          {
            "source": "security-advisories@github.com",
            "tags": [
              "Patch",
              "Vendor Advisory"
            ],
            "url": "https://github.com/nautobot/nautobot/security/advisories/GHSA-vf5m-xrhm-v999"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Issue Tracking"
            ],
            "url": "https://github.com/nautobot/nautobot/issues/4988"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Issue Tracking",
              "Patch"
            ],
            "url": "https://github.com/nautobot/nautobot/pull/4993"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Issue Tracking",
              "Patch"
            ],
            "url": "https://github.com/nautobot/nautobot/pull/4995"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch",
              "Vendor Advisory"
            ],
            "url": "https://github.com/nautobot/nautobot/security/advisories/GHSA-vf5m-xrhm-v999"
          }
        ],
        "sourceIdentifier": "security-advisories@github.com",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-863"
              }
            ],
            "source": "security-advisories@github.com",
            "type": "Secondary"
          }
        ]
      }
    },
    "redhat_vex": {
      "current_release_date": "2025-05-28T22:45:32+00:00",
      "cve": "CVE-2023-51649",
      "id": "CVE-2023-51649",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "1",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "Nautobot missing object-level permissions enforcement when running Job Buttons",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-51649.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…