negentropy
Rust implementation of the negentropy set-reconcilliation protocol.
Activity
- Latest release
- 2w ago
- Total releases
- 14
- Cadence
- ~3 days
- Last 12 months
- 3
Reach
- Downloads
- 1.9M
- Stars
- 32
Details
- License
- MIT
- First release
- Sep 09, 2023
| Version | Released | |
|---|---|---|
0.4.4
patch
| ||
0.5.2
patch
| ||
0.5.1
patch
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.5.0
unknown
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.4.3
unknown
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.4.2
unknown
yanked
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.4.1
unknown
yanked
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.4.0
unknown
yanked
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.3.1
unknown
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.3.0
unknown
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.2.1
unknown
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.2.0
unknown
1 CVE
RUSTSEC-2026-0365
Oct 14, 2026
Remote DoS through unchecked `IdList` allocation in negentropy
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe With the DetailsWhen processing an
An attacker can declare an arbitrarily large count without supplying any IDs. The allocation occurs before the parser reaches the ID-reading loop, which would otherwise reject the truncated message. With Rust's default allocation-error behavior, a failed allocation aborts the process rather than unwinding. Consequently, Both The patched versions validate the count against the remaining message length before allocating:
ImpactAn unauthenticated remote attacker can terminate an application that exposes reconciliation to untrusted peers without additional validation. For example, a Nostr relay that forwards This specific vulnerability affects builds with the default A message-size limit alone does not prevent exploitation because the malicious payload can be only a few bytes long. CreditDiscovered and fixed by Alex Gleason (https://github.com/alexgleason). Fixed in
0.4.4
0.5.2
References
Updated Oct 16, 2026 · Source: OSV.dev | ||
0.1.0
unknown
yanked
| ||
0.0.0
unknown
yanked
|