RUSTSEC-2026-0219

Source
https://rustsec.org/advisories/RUSTSEC-2026-0219
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0219.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2026-0219
Aliases
  • GHSA-xg7c-246g-6qpv
Published
2026-07-26T12:00:00Z
Modified
2026-08-01T11:45:04.785279192Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
Remote Denial of Service via malformed NIP-04 IV
Details

The nostr crate did not validate the length of the initialization vector decoded from the ?iv= portion of a NIP-04 encrypted message.

The decoded IV was converted from a byte slice to the 16-byte AES-CBC IV type using a conversion that asserts the slice length. As a result, an IV whose decoded length was not exactly 16 bytes caused a panic before ciphertext decryption. For example, ?iv=AAAA decodes to a three-byte IV and triggers the panic.

Applications that decrypt untrusted NIP-04 content are affected. The issue is also reachable through NIP-47 (Nostr Wallet Connect), where response and notification events from a malicious or compromised wallet service are passed to NIP-04 decryption. If the panic is not isolated, a crafted event can terminate the application or disrupt message processing, causing a denial of service.

The issue does not affect confidentiality or integrity.

The flaw was corrected by converting the decoded IV to [u8; 16] using a checked conversion. Invalid IV lengths now return a Malformed error instead of panicking.

Credit

Discovered and responsibly disclosed by Muhammed Shekho (mhd-shekho.com).

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

Affected packages

crates.io / nostr

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
0.44.6
Introduced
0.45.0-alpha.1
Fixed
0.45.0-alpha.6

Ecosystem specific

{
    "affected_functions": null,
    "affects": {
        "os": [],
        "arch": [],
        "functions": [
            "nostr::nips::nip04::decrypt",
            "nostr::nips::nip04::decrypt_to_bytes"
        ]
    }
}

Database specific

informational
null
source
"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0219.json"
categories
[
    "denial-of-service"
]
cvss
"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"