CVE Vulnerabilities

CVE-2018-18385

Loop with Unreachable Exit Condition ('Infinite Loop')

Published: Oct 16, 2018 | Modified: Oct 03, 2019
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
7.5 MODERATE
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
MEDIUM

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.

Weakness

The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.

Affected Software

Name Vendor Start Version End Version
Asciidoctor Asciidoctor * 1.5.8 (excluding)
Asciidoctor Ubuntu bionic *
Asciidoctor Ubuntu cosmic *
Asciidoctor Ubuntu esm-apps/bionic *
Asciidoctor Ubuntu esm-apps/xenial *
Asciidoctor Ubuntu trusty *
Asciidoctor Ubuntu upstream *
Asciidoctor Ubuntu xenial *

References