RUSTSEC-2024-0020

Source
https://rustsec.org/advisories/RUSTSEC-2024-0020
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2024-0020.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2024-0020
Aliases
Published
2024-02-28T12:00:00Z
Modified
2024-04-11T16:41:43.737392Z
Summary
Stack buffer overflow with whoami on several Unix platforms
Details

With versions of the whoami crate >= 0.5.3 and < 1.5.0, calling any of these functions leads to an immediate stack buffer overflow on illumos and Solaris:

  • whoami::username
  • whoami::realname
  • whoami::username_os
  • whoami::realname_os

With versions of the whoami crate >= 0.5.3 and < 1.0.1, calling any of the above functions also leads to a stack buffer overflow on these platforms:

  • Bitrig
  • DragonFlyBSD
  • FreeBSD
  • NetBSD
  • OpenBSD

This occurs because of an incorrect definition of the passwd struct on those platforms.

As a result of this issue, denial of service and data corruption have both been observed in the wild. The issue is possibly exploitable as well.

This vulnerability also affects other Unix platforms that aren't Linux or macOS.

This issue has been addressed in whoami 1.5.0.

For more information, see this GitHub issue.

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / whoami

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.5.3
Fixed
1.5.0

Ecosystem specific

{
    "affected_functions": null,
    "affects": {
        "os": [
            "illumos",
            "solaris",
            "dragonfly",
            "freebsd",
            "netbsd",
            "openbsd"
        ],
        "functions": [
            "whoami::realname",
            "whoami::realname_os",
            "whoami::username",
            "whoami::username_os"
        ],
        "arch": []
    }
}

Database specific

{
    "cvss": null,
    "informational": null,
    "categories": [
        "denial-of-service",
        "memory-corruption"
    ]
}