CVE-2019-16214 json
Libra Core before 2019-09-03 has an erroneous regular expression for inline comments, which makes it easier for attackers to interfere with…
published 2019-09-11 7 y ago modified 2026-06-17 4 mo ago also EUVD-2019-7026
- cvss
- 5.7
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.3%
- EPSS 1.3% chance of exploitation in 30 days, percentile 70%
- public exploits
- 0
- none known
Summary
Libra Core before 2019-09-03 has an erroneous regular expression for inline comments, which makes it easier for attackers to interfere with code auditing by using a nonstandard line-break character for a comment. For example, a Move module author can enter the // sequence (which introduces a single-line comment), followed by very brief comment text, the \r character, and code that has security-critical functionality. In many popular environments, this code is displayed on a separate line, and thus a reader may infer that the code is executed. However, the code is NOT executed, because language/compiler/ir_to_bytecode/src/parser.rs allows the comment to continue after the \r character.
Patch / fix
Exploit prediction
1.32% chance of exploitation in the next 30 days, higher than 70% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- blog.openzeppelin.com https://blog.openzeppelin.com/libra-vulnerability-summary/ referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 3.5 | AV:N/AC:M/Au:S/C:N/I:P/A:N |
References
-
github.com
/libra/libra/commit/7efb0221989f17fdf7f8486730898ed947a1e19e
patch, third-party-advisory
-
blog.openzeppelin.com
/libra-vulnerability-summary/
exploit, third-party-advisory
-
blog.openzeppelin.com
/libra-vulnerability-release/
third-party-advisory
Sources
- CVE List CVE-2019-16214
- NVD CVE-2019-16214
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.