CVE-2018-18385
Asciidoctor Infinite Loop vulnerability
Also known as GHSA-qc9p-mjxm-j2wj
Published 8 y ago · modified 4 mo ago · JSON
Summary
Asciidoctor in versions < 1.5.8 allows remote attackers to cause a denial of service (infinite loop). The loop was caused by the fact that Parser.next_block was not exhausting all the lines in the reader as the while loop expected it would. This was happening because the regular expression that detects any list was not agreeing with the regular expression that detects a specific list type. So the line kept getting pushed back onto the reader, hence causing the loop.
Exploit prediction (EPSS)
2.25% probability of exploitation in the next 30 days, higher than 83% of all scored CVEs.
CVSS scores
| Assigned by | Version | Score | Vector |
|---|---|---|---|
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:N/A:P |
| GitHub | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| rubygems | asciidoctor | <1.5.8 | 1.5.8 |
Classification
- Weakness
- CWE-835 Loop with Unreachable Exit Condition
References
- github.com /asciidoctor/asciidoctor/issues/2888 · x_refsource_MISC, x_transferred
- nvd.nist.gov /vuln/detail/CVE-2018-18385 · advisory
- github.com /asciidoctor/asciidoctor · package
- github.com /rubysec/ruby-advisory-db/blob/master/gems/asciidoctor/CVE-2018-18385.yml · web
Sources
- CVE List: CVE-2018-18385
- GitHub Advisory: GHSA-qc9p-mjxm-j2wj
- NVD: CVE-2018-18385
vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.