UvToken

CertiKCode version: not recorded (see the report)

CertiK reviewed UVToken on 14 Oct 2022: 17 findings, 1 critical; 8 marked fixed, 1 acknowledged, 8 open.

1 critical finding, fixed
Open the reportOpen UVToken’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings17

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical001
High000
Medium012
Low805
CriticalLogging Sensitive Information on AndroidFixed

The UvToken Android application logs highly sensitive wallet information such as private and public keys as well as different endpoints. By connecting an Android device to a PC, log output from the wallet application applications can be obtained with "adb logcat". It is important that applications do not send sensitive information to log output. The following screenshot shows a private key logged in the Android logcat: ![Screenshot 2022-09-20 at 11_1663860383865.54.40.png](https://accelerator-projects-prod.acc.corp.certik.com/0a584550-08c5-11ed-a792-c16017b83c26/upload/Screenshot%202022-09-20%20at%2011_1663860383865.54.40.png)

MediumMnemonic Display Allow ScreenshotsFixed

The mnemonic phrase is a list of words that can be used to recover a wallet account. Obtaining the mnemonic can potentially allow the attacker to gain full control of the wallet. The application neither has a mechanism in place to stop a user from taking the screenshot of the displayed wallet secrets nor display a warning to remind the user of the risk of taking a screenshot. ![mnemonic screenshot_1663951952310.jpg=150x300](https://accelerator-projects-prod.acc.corp.certik.com/0a584550-08c5-11ed-a792-c16017b83c26/upload/mnemonic%20screenshot_1663951952310.jpg)

MediumWeak Password PolicyFixed

The currently implemented password policy is permissive regarding the requirements related to the password, as it let the user set a weak password such as `Test1234`.

LowLack of Certificate PinningFixed

The application does not implement certificate pinning. Certificate pinning is the act of associating a host with its expected certificate within the application. When the application connects to the host, the stored certificate is compared to the certificate held by the remote host. If the two certificates do not match, the request is dropped. Currently, the application only verifies that the server presents a TLS certificate that is trusted by the Android or iOS trust stores, not validating that the TLS certificate is in fact the one known to be deployed on the servers.

LowLegacy or Testing ConnectionsFixed

Connections to internal hosts or testing domains such as the ones shown below were observed during the testing: ```http POST /wallet/subscription/coin HTTP/1.1 Host: 192.168.0.110:8008 Content-Type: application/json Connection: close Accept: */* User-Agent: Blockchain Wallet/1.4.1 (iPhone; iOS 14.5.1; Scale/2.00) Accept-Language: en-ES;q=1, es-ES;q=0.9 Content-Length: 1034 Accept-Encoding: gzip, deflate ``` ```http GET /v1/accounts/bi/detail/find HTTP/1.1 Host: wallet-test.uvtoken.org User-Agent: Blockchain Wallet/1.4.1 (iPhone; iOS 14.5.1; Scale/2.00) Accept: */* Accept-Language: en-ES;q=1, es-ES;q=0.9 Accept-Encoding: gzip, deflate Connection: close ``` It is believed that they were part of the testing and/or debugging process.

LowMisconfigured CORS PolicyFixed

During the test, it was found that the HTTP response from the server contains the CORS header `Access- Control-Allow-Origin: *`.

LowOutdated jQuery LibraryFixed

The version of the jQuery JavaScript library used by the UvToken web service was outdated and even contained known vulnerabilities. Specifically, the version in use was 2.0.0.

LowWeak TLS ConfigurationFixed

The remote service accepts connections encrypted using TLS 1.0. TLS 1.0 has a number of cryptographic design flaws. Modern implementations of TLS 1.0 mitigate these problems, but newer versions of TLS like 1.2 and 1.3 are designed against these flaws and should be used whenever possible. As of March 31, 2020, Endpoints that aren’t enabled for TLS 1.2 and higher will no longer function properly with major web browsers and major vendors. PCI DSS v3.2 requires that TLS 1.0 be disabled entirely by June 30, 2018, except for POS POI terminals (and the SSL/TLS termination points to which they connect) that can be verified as not being susceptible to any known exploits.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Part of UVToken’s security record

UVToken
Audits2 audits by 1 firmLast audit Feb 2023, by CertiK.
Critical findingsNo open critical findingsAcross the 2 reports, 1 critical finding was reported. It is marked fixed by the firm that reported it.
Open UVToken’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’s audits

Something 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