---
id: CVE-2018-25001
aliases:
  - RUSTSEC-2018-0020
  - GHSA-6gvc-4jvj-pwq4
  - GHSA-f56g-chqp-22m9
title: 'Possible use-after-free with `proplist::Iterator`'
summary: 'Possible use-after-free with `proplist::Iterator`'
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N'
vendor: libpulse-binding
product: libpulse-binding
ecosystem: rust
affected:
  - 'libpulse-binding >= 1.0.5, < 2.5.0'
patched:
  - libpulse-binding 2.5.0
published: '2018-12-22'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T18:00:04.411656950Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/RUSTSEC-2018-0020'
references:
  - url: 'https://crates.io/crates/libpulse-binding'
  - url: 'https://rustsec.org/advisories/RUSTSEC-2018-0020.html'
  - url: >-
      https://github.com/jnqnfe/pulse-binding-rust/commit/9e31c82d71749619387cb9d0c9698134d05b28c9
tags:
  - osv
  - rust
epss: 0.01001
epssPercentile: 0.62654
ingestedAt: '2026-10-13T11:45:30.149Z'
---

## Overview

Affected versions contained a possible use-after-free issue with property list iteration
due to a lack of a lifetime constraint tying the lifetime of a `proplist::Iterator` to the
`Proplist` object for which it was created. This made it possible for users, without
experiencing a compiler error/warning, to destroy the `Proplist` object before the iterator,
thus destroying the underlying C object the iterator works upon, before the iterator may be
finished with it.

This impacts all versions of the crate before `2.5.0` back to `1.0.5`. Before version
`1.0.5` the function that produces the iterator was broken to the point of being useless.

## Affected packages

- `libpulse-binding >= 1.0.5, < 2.5.0`

## Remediation

Upgrade to a patched release:

- `libpulse-binding 2.5.0`
