GHSA-66fw-43h8-f8p3

Suggest an improvement
Source
https://github.com/advisories/GHSA-66fw-43h8-f8p3
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/07/GHSA-66fw-43h8-f8p3/GHSA-66fw-43h8-f8p3.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-66fw-43h8-f8p3
Aliases
Published
2024-07-26T21:14:54Z
Modified
2025-10-28T06:29:23Z
Summary
XMP Toolkit's `XmpFile::close` can trigger undefined behavior
Details

Affected versions of the crate failed to catch C++ exceptions raised within the XmpFile::close function. If such an exception occurred, it would trigger undefined behavior, typically a process abort.

This is best demonstrated in issue #230, where a race condition causes the close call to fail due to file I/O errors.

This was fixed in PR #232 (released as crate version 1.9.0), which now safely handles the exception.

For backward compatibility, the existing API ignores the error. A new API XmpFile::try_close was added to allow callers to receive and process the error result.

Users of all prior versions of xmp_toolkit are encouraged to update to version 1.9.0 to avoid undefined behavior.

Database specific
{
    "cwe_ids":  [
        "CWE-754"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2024-07-26T21:14:54Z",
    "nvd_published_at":  null,
    "severity":  "LOW"
}
References

Affected packages

crates.io / xmp_toolkit

Package

Name
xmp_toolkit
View open source insights on deps.dev
Purl
pkg:cargo/xmp_toolkit

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
1.9.0

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/07/GHSA-66fw-43h8-f8p3/GHSA-66fw-43h8-f8p3.json"