AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 47 Monero

solana nft improvements and other fixes (#3581)

Public commit record

What the developer wrote

Authored by David Adegoke

81/100 · Strong
solana nft improvements and other fixes (#3581)

* feat: improvements covering solana nfts(send, ownership badge, persistent imports etc), closing emptied token accounts and other fixes from patch

* feat: more improvements for nfts including security hardening

* fix: display error in full
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
The short version

What changed, and why it matters

This commit is a feature update for Cake Wallet that improves Solana NFT support (sending, ownership badges, persistent imports) and adds several security hardening measures. It does not appear to be a patch for an active exploit. The security-relevant changes include sanitizing NFT names/descriptions to stop malicious metadata from hiding or reordering text, restricting image URLs to HTTPS/IPFS gateways to avoid unsafe schemes, verifying an asset really is an NFT before sending, and adding safety checks when fetching off-chain metadata. There are also unrelated Monero background-sync and dependency changes.

Recommended action

Reviewers should verify that sanitizeNFTText and tryNormalizeIpfsUrl are applied consistently wherever user-facing NFT metadata is rendered or stored, confirm that isSupplyOfOne cannot be bypassed by malformed RPC responses, and ensure the off-chain metadata size/redirect guards are enforced on all code paths. Because this is a large feature commit, treat it as hardening rather than an urgent vulnerability fix unless additional incident references are provided.

Security signals we found

01

New sanitizeNFTText utility strips control characters, bidi overrides, and invisible characters from NFT metadata to prevent display spoofing

02

New tryNormalizeIpfsUrl utility rejects non-HTTPS image/URL schemes (http, file, javascript, data, ar) before rendering

03

Solana NFT send path verifies token supply == 1 and decimals == 0 before allowing transfer, raising NotAnNFTException otherwise

04

Off-chain metadata fetch enforces HTTPS-only redirects, 256 KiB size cap, 30-second timeout, and force-closes the HTTP client

05

Fungible token balance parsing now detects and withholds NFT candidates (decimals 0, amountRaw 1) from the token list

06

Imported NFT rows are scoped by wallet name and chain during rename/delete/copy operations to avoid cross-wallet data leakage

07

New Monero background-sync abstraction methods added; no direct security fix visible in supplied diff

Risk score

Why this scored 47/100

Our methodology →
Potential impact 12/30
Exploitability 8/25
Stealth signal 6/15
Affected reach 10/15
Confidence 7/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.