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

Fix: Selecting some rate source would crash the Stores/Rates page (#7095)

Public commit record

What the developer wrote

Authored by Nicolas Dorier

70/100 · Adequate
Fix: Selecting some rate source would crash the Stores/Rates page (#7095)
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
The short version

What changed, and why it matters

This commit fixes a bug where choosing certain cryptocurrency exchange rate sources would crash the BTCPay Server 'Stores/Rates' settings page. The root cause was that some rate source IDs contained characters like dashes or dots that are not valid in C# identifiers, which caused the rate-rule parser to throw an exception and crash the page. The fix adds validation when creating rate-source IDs, changes one provider's ID to remove a hyphen, sanitizes several IDs in a large exchange list, and makes the controller gracefully fall back when a preferred source cannot be found or parsed.

Recommended action

Treat as a routine bug fix with minor hardening value. Review whether any other rate providers or persisted store settings contain non-identifier characters in rate-source IDs, and ensure the validation is enforced consistently across all code paths that construct RateSourceInfo or parse rate rules. No urgent security patch is indicated unless an attacker can reliably trigger the crash to deny access to the Rates page.

Security signals we found

01

Unhandled exception in UI controller leading to page crash (availability impact)

02

Rate source IDs used in dynamically parsed rate rules without prior validation

03

Use of First() without fallback could throw on missing/mismatched exchange

04

RateRules.Parse exception not handled in rule-generation path

05

Patch adds identifier validation and exception handling as defense in depth

Risk score

Why this scored 27/100

Our methodology →
Potential impact 5/30
Exploitability 3/25
Stealth signal 4/15
Affected reach 5/15
Confidence 7/10
Evidence quality 3/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.