GHSA-jqpv-jm4m-86j9 CVE-2018-25027 CVE-2018-25028 GHSA-ghpq-vjxw-ch5w GHSA-hxjf-h2mh-r6hj RUSTSEC-2018-0021
Use After Free in libpulse-binding
- Severity
- 7.5 / 10
- High · CVSS 3.1
- Exploit chance (EPSS)
- 1.41%
- Chance of exploitation in the next 30 days. Higher than 72.71% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-416 Use After Free
- Fix
1.2.1- Upgrade libpulse-binding to this version or later
Description
Affected versions contained a pair of use-after-free issues with the objects returned by the get_format_info and get_context methods of Stream objects. These objects were mistakenly being constructed without setting an important flag to prevent destruction of the underlying C objects they reference upon their own destruction.
Affected versions
crates.io
| Package | Vulnerable | Fixed in |
|---|---|---|
| libpulse-binding | < 1.2.1 |
1.2.1 |
| libpulse-binding | >= 0.0.0-0, < 1.2.1 |
1.2.1 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
libpulse-binding crates.io → 1.2.1
- cargo
cargo update -p libpulse-binding --precise 1.2.1
Severity breakdown
CVSS 3.1 7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Weakness
CWE-416: Use After Free
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
How to prevent it
- Architecture and Design: Choose a language that provides automatic memory management.
- Implementation: When freeing pointers, be sure to set them to NULL once they are freed. However, the utilization of multiple or complex data structures may lower the usefulness of this strategy.
References
Advisories
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-wcxc-jf6c-8rx9 Duplicate Advisory: Uncaught Exception in libpulse-binding | High | Also affects libpulse-binding |
| GHSA-6gvc-4jvj-pwq4 Duplicate Advisory: Use after free in libpulse-binding | Medium | Also affects libpulse-binding |
| CVE-2026-109619 PHP has various global state that temporarily points into request memory. | Critical Known exploited | Same weakness, CWE-416 |
| CVE-2026-109618 PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request. | Critical Known exploited | Same weakness, CWE-416 |
| GHSA-7mwm-ghpf-9vrm Pillow: Double free in ImagingScaleAffine on calloc failure via Image.transform | High | Same weakness, CWE-416 |
| GHSA-4rr5-89j8-mwwm Pillow: Heap use-after-free when encoding TIFF to an in-memory buffer | High | Same weakness, CWE-416 |
| GHSA-wq5f-xc86-pv6w sharp : Vulnerability in librsvg dependency CVE-2026-96889 | High | Same weakness, CWE-416 |
| RUSTSEC-2026-0326 Rooting for GC values live across `try_call` may be missing, causing GC heap corruption | Medium | Same weakness, CWE-416 |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor