CVE-2026-29795

stellar-xdr: `StringM::from_str` bypasses max length validation

Published Mar 6, 2026 CVSS 3.1 · 4 Medium EPSS < 1% KEV · Not listed
Description
stellar-xdr is a library and CLI containing types and functionality for working with Stellar XDR. Prior to version 25.0.1, StringM::from_str does not validate that the input length is within the declared maximum (MAX). Calling StringM::<N>::from_str(s) where s is longer than N bytes succeeds and returns an Ok value instead of Err(Error::LengthExceedsMax), producing a StringM that violates its length invariant. This affects any code that constructs StringM values from string input using FromStr (including str::parse), and relies on the type's maximum length constraint being enforced. An oversized StringM could propagate through serialization, validation, or other logic that assumes the invariant holds. This issue has been patched in version 25.0.1.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-x57h-xx53-v53w stellar-xdr's StringM::from_str bypasses max length validation
History
Type Values Removed Values Added
First Time appeared Stellar stellar-xdr
CPEs cpe:2.3:a:stellar:stellar-xdr:*:*:*:*:*:rust:*:*
Vendors & Products Stellar stellar-xdr
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Stellar
Stellar rs-stellar-xdr
Vendors & Products Stellar
Stellar rs-stellar-xdr
Type Values Removed Values Added
Description stellar-xdr is a library and CLI containing types and functionality for working with Stellar XDR. Prior to version 25.0.1, StringM::from_str does not validate that the input length is within the declared maximum (MAX). Calling StringM::<N>::from_str(s) where s is longer than N bytes succeeds and returns an Ok value instead of Err(Error::LengthExceedsMax), producing a StringM that violates its length invariant. This affects any code that constructs StringM values from string input using FromStr (including str::parse), and relies on the type's maximum length constraint being enforced. An oversized StringM could propagate through serialization, validation, or other logic that assumes the invariant holds. This issue has been patched in version 25.0.1.
Title stellar-xdr: `StringM::from_str` bypasses max length validation
Weaknesses CWE-770
References
Metrics cvssV3_1

{'score': 4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Mar 9, 2026, 8:54 PM
Reserved
Mar 4, 2026, 4:26 PM
Status
Analyzed
Published
Mar 6, 2026, 9:16 PM
Modified
Jun 17, 2026, 10:29 AM