Quantstamp reviewed Open Dollar (Open Dollar - dApp) on 11 Apr 2024: 8 findings, 0 critical; 3 marked fixed, 4 acknowledged, 1 open.
Report hosted on certificate.quantstamp.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 1 | 4 | 3 |
Regular expressions work by matching patterns in strings. To do this, they often "backtrack" to try different combinations when multiple paths in the pattern could match. This is usually efficient, but certain combinations of patterns and input strings can cause the regex engine to try an exponential number of combinations, leading to what's called catastrophic backtracking. To mitigate the risk of backtracking and ensure the regular expression does not lead to denial of service, consider the following strategies: 1. **Avoid Nested Quantifiers**: Be cautious with the use of quantifiers like `*`, **`+`**, and **`?`**, especially in nested or adjacent positions, as they can often be the source of backtracking issues. 2. **Possessive Quantifiers**: Use possessive quantifiers (e.g., **`++`**, **`+`**) where appropriate, as they prevent backtracking by discarding matches that don't work immediately. 3. **Atomic Grouping**: Use atomic groups **`(?>...)`** to prevent the regex engine from backtracking into the group once a part of it has matched. 4. **Regex Simplification**: Simplify complex regexes where possible. Break down complex expressions into simpler ones, even if it means processing the string in multiple steps. 5. **Timeouts and Limitations**: Implement execution time limits or timeouts for regex evaluations, especially when processing user-provided inputs. The goal is to write regular expressions in a way that ensures they run efficiently, even with challenging input, thereby preventing potential DoS scenarios. Example of potentially vulnerable code: ``` const handleChange = (e: ChangeEvent<HTMLInputElement>) => { const val = e.target.value if (/^-?\d*[.,]?\d*$/.test(val) && /^\d*(\.\d{0,4})?$/.test(val)) { ```
The OpenDollar UI shows incorrect price of the 1 wstETH token, it shows with the rate 1:1 when the actual worth of token is higher. This can confuse and mislead end-users of the application.
The CSP is a security measure that helps in detecting and mitigating certain types of attacks, including Cross-Site Scripting (XSS) and data injection attacks. It's defined via HTTP headers or meta tags in HTML documents and specifies which dynamic resources are allowed to load, thereby preventing attackers from injecting malicious scripts. During our examination of the bot.dev.opendollar.com, app.dev.opendollar.com web application headers and response metadata, we noticed the loose configurations of a Content Security Policy (CSP). This misconfiguration leaves the application vulnerable to XSS attacks, as attackers could potentially inject malicious scripts into the web pages viewed by other users.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (345)
236 projects reviewed · 332 reports · latest Oct 2026
See Quantstamp’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us