Vulnerabilities in pkg:golang/github.com/notaryproject/notation
PACKAGECVE-2024-23332 is a MODERATE (CVSS 4.0) go package github.com/notaryproject/notation configured with vulnerability (CWE-672: Operation on a Resource after Expiration or Release) affecting Github.com/notaryproject/notation libraries in the Go ecosystem. The issue involves go package github.com/notaryproject/notation configured with permissive trust policies potentially susceptible to rollback attack from compromised registry. Remediation is available in the latest vendor maintenance releases.
pkg:golang/github.com/notaryproject/notation
Vulnerability advisories affecting package pkg:golang/github.com/notaryproject/notation. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-57wx-m636-g3g8 | CVE-2024-23332 | MODERATE | Go package github.com/notaryproject/notation configured with permissive trust policies potentially susceptible to rollback attack from compromised registry |
| GHSA-9m3v-v4r5-ppx7 | CVE-2023-33957 | MODERATE | Notation vulnerable to denial of service from high number of artifact signatures |
| GHSA-rvrx-rrwh-r9p6 | CVE-2023-33958 | MODERATE | Notation's default `maxSignatureAttempts` in `notation verify` enables an endless data attack |
CVE-2024-23332 at a Glance
Security Impact
CVSS: 4.0
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:N/I:L/A:L).
How to Fix CVE-2024-23332
To remediate this vulnerability, upgrade all affected Github.com/notaryproject/notation dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/notaryproject/notation to Latest secure release
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/notaryproject/notation
How to Check if You Are Affected
To determine whether your application is affected by CVE-2024-23332, inspect your project dependencies for Github.com/notaryproject/notation:
inspect dependencies for github.com/notaryproject/notation
Analyze the terminal output to locate any version of Github.com/notaryproject/notation 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: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-672: Operation on a Resource after Expiration or Release, where the product uses, accesses, or otherwise operates on a resource after that resource has been expired, released, or revoked. In Github.com/notaryproject/notation, 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
CVE-2024-23332 Affected Github.com/notaryproject/notation Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/notaryproject/notation
|
Go |
≤ 1.0.0
|
|
References
Frequently Asked Questions
What is CVE-2024-23332?
Which Github.com/notaryproject/notation versions are affected?
What version fixes CVE-2024-23332?
Is github.com/notaryproject/notation affected?
What is the CVSS score of CVE-2024-23332?
What CWE is associated with CVE-2024-23332?
How can I check Go dependencies for CVE-2024-23332?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-57wx-m636-g3g8",
"modified" : "2024-03-01T15:19:13Z",
"published" : "2024-01-19T22:12:22Z",
"aliases" : [ "CVE-2024-23332" ],
"summary" : "Go package github.com/notaryproject/notation configured with permissive trust policies potentially susceptible to rollback attack from compromised registry",
"details" : "### Impact\nAn external actor with control of a compromised container registry can provide outdated versions of OCI artifacts, such as Images. This could lead artifact consumers with relaxed trust policies (such as `permissive` instead of `strict`) to potentially use artifacts with signatures that are no longer valid, making them susceptible to any exploits those artifacts may contain.\n\n### Mitigation\nIn Notary Project, an artifact publisher can control the validity period of artifact by specifying signature expiry during the signing process. Using shorter signature validity periods along with processes to periodically resign artifacts, allows artifact producers to ensure that their consumers will only receive up-to-date artifacts. Artifact consumers should correspondingly use a `strict` or equivalent trust policy that enforces signature expiry. Together these steps enable use of up-to-date artifacts and safeguard against rollback attack in the event of registry compromise. The Notary Project offers various signature validation options such as `permissive`, `audit` and `skip` to support various scenarios. These scenarios includes 1) situations demanding urgent workload deployment, necessitating the bypassing of expired or revoked signatures; 2) auditing of artifacts lacking signatures without interrupting workload; and 3) skipping of verification for specific images that might have undergone validation through alternative mechanisms.\n\nAdditionally, the Notary Project supports revocation to ensure the signature freshness. Artifact publishers can sign with short-lived certificates and revoke older certificates when necessary. This revocation serves as a signal to inform artifact consumers that the corresponding unexpired artifact is no longer approved by the publisher. This enables the artifact publisher to control the validity of the signature independently of their ability to manage artifacts in a compromised registry.\n\n### Credit\nThe Notary Project extends its gratitude to Justin Cappos (@JustinCappos) for responsibly disclosing the issue.\n\n_**Note:** we have updated [threat model](https://github.com/notaryproject/specifications/blob/main/threatmodels/notation-threatmodel.md) to include considerations for rollback attack.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:N/I:L/A:L"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/notaryproject/notation"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"last_affected" : "1.0.0"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/notaryproject/specifications/security/advisories/GHSA-57wx-m636-g3g8"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2024-23332"
}, {
"type" : "WEB",
"url" : "https://github.com/notaryproject/specifications/commit/cdabdd1042de2999c685fa5d422a785ded9c983a"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/notaryproject/specifications"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-672" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2024-01-19T22:12:22Z",
"nvd_published_at" : "2024-01-19T23:15:07Z"
}
}