Vulnerabilities in pkg:pypi/pulpcore

PACKAGE
Advisory Identifier: GHSA-9m5j-4xx9-44j9
Advisory Summary

CVE-2024-7143 is a HIGH (CVSS 6.7) pulp incorrectly assigns rbac permissions vulnerability (CWE-277: Insecure Inherited Permissions) affecting Pulpcore libraries in the PyPI ecosystem. The issue involves pulp incorrectly assigns rbac permissions in tasks that create objects. Remediation is available in the latest vendor maintenance releases.

2 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:pypi/pulpcore

2 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:pypi/pulpcore. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-9m5j-4xx9-44j9 CVE-2024-7143 HIGH Pulp incorrectly assigns RBAC permissions in tasks that create objects
GHSA-574p-6fw4-4hw8 CVE-2018-10917 MODERATE Withdrawn Advisory: Pulp Improper Path Parsing

CVE-2024-7143 at a Glance

CVE Identifier CVE-2024-7143
GHSA Identifier GHSA-9m5j-4xx9-44j9
Severity HIGH
CVSS v3.1 Base Score 6.7
CWE Classification CWE-277: Insecure Inherited Permissions
Affected Product Pulpcore
Package Ecosystem PyPI
Published Date
Last Updated

Security Impact

CVSS: 6.7

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required High (PR:H)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity High (I:H)
Availability Low (A:L)

How to Fix CVE-2024-7143

To remediate this vulnerability, upgrade all affected Pulpcore dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

pulpcore fixed: Latest secure release
pip install pulpcore>=Latest secure release
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

pip show pulpcore

How to Check if You Are Affected

To determine whether your Python environment is affected by CVE-2024-7143, inspect your installed packages using pip:

pip show pulpcore

Analyze the terminal output to locate any version of Pulpcore in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than the patched release), your application is affected.

Note: The pip show pulpcore command checks currently installed packages in your active Python environment.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-277: Insecure Inherited Permissions, where a product defines a set of insecure permissions that are inherited by objects that are created by the program. In Pulpcore, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

A flaw was found in the Pulp package. When a role-based access control (RBAC) object in Pulp is set to assign permissions on its creation, it uses the `AutoAddObjPermsMixin` (typically the add_roles_for_object_creator method). This method finds the object creator by checking the current authenticated user. For objects that are created within a task, this current user is set by the first user with any permissions on the task object. This means the oldest user with model/domain-level task permissions will always be set as the current user of a task, even if they didn't dispatch the task. Therefore, all objects created in tasks will have their permissions assigned to this oldest user, and the creating user will receive nothing.

CVE-2024-7143 Affected Pulpcore Versions

1 component(s)
Product / Package Ecosystem Affected Versions Fixed Version
pulpcore
PyPI
≤ 3.56.0

References

Frequently Asked Questions

What is CVE-2024-7143?
CVE-2024-7143 is a security vulnerability in Pulpcore involving Pulp incorrectly assigns RBAC permissions in tasks that create objects under CWE-277: Insecure Inherited Permissions.
Which Pulpcore versions are affected?
Affected versions include releases prior to current release patches across affected packages: pulpcore.
What version fixes CVE-2024-7143?
Upgrading to current release patches (or the latest patched release for your respective branch) resolves the vulnerability.
Is pulpcore affected?
Yes, pulpcore is affected in releases prior to Latest secure release. Upgrade your dependency to Latest secure release or later.
What is the CVSS score of CVE-2024-7143?
CVE-2024-7143 has a CVSS v3.1 base score of 6.7 (HIGH) with vector string CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L.
What CWE is associated with CVE-2024-7143?
CVE-2024-7143 is classified under CWE-277: Insecure Inherited Permissions (A product defines a set of insecure permissions that are inherited by objects that are created by the program.).
How can I check PyPI dependencies for CVE-2024-7143?
Run the dependency tree command: 'pip show pulpcore'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-9m5j-4xx9-44j9",
  "modified" : "2026-03-20T21:18:09Z",
  "published" : "2024-08-07T18:30:44Z",
  "aliases" : [ "CVE-2024-7143" ],
  "summary" : "Pulp incorrectly assigns RBAC permissions in tasks that create objects",
  "details" : "A flaw was found in the Pulp package. When a role-based access control (RBAC) object in Pulp is set to assign permissions on its creation, it uses the `AutoAddObjPermsMixin` (typically the add_roles_for_object_creator method). This method finds the object creator by checking the current authenticated user. For objects that are created within a task, this current user is set by the first user with any permissions on the task object. This means the oldest user with model/domain-level task permissions will always be set as the current user of a task, even if they didn't dispatch the task. Therefore, all objects created in tasks will have their permissions assigned to this oldest user, and the creating user will receive nothing.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L"
  }, {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "PyPI",
      "name" : "pulpcore"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "last_affected" : "3.56.0"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2024-7143"
  }, {
    "type" : "WEB",
    "url" : "https://access.redhat.com/errata/RHSA-2024:6765"
  }, {
    "type" : "WEB",
    "url" : "https://access.redhat.com/security/cve/CVE-2024-7143"
  }, {
    "type" : "WEB",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2300125"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/pulp/pulpcore"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/pulp/pulpcore/blob/93f241f34c503da0fbac94bdba739feda2636e12/pulpcore/tasking/_util.py#L108"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/pulp/pulpcore/blob/main/CHANGES.md"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-277" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2024-08-07T19:45:30Z",
    "nvd_published_at" : "2024-08-07T17:15:52Z"
  }
}