Publication Details
Counting in Regexes Considered Harmful: Exposing ReDoS Vulnerability of Nonbacktracking Matchers
Holík Lukáš, doc. Mgr., Ph.D. (DITS)
Homoliak Ivan, doc. Ing., Ph.D. (DITS)
Lengál Ondřej, Ing., Ph.D. (DITS)
Veanes Margus
Vojnar Tomáš, prof. Ing., Ph.D. (DITS)
redos, counting automata, DFA, regex, denial of service, pattern matching
In this paper, we study the performance characteristics of nonbacktracking regex
matchers and their vulnerability against ReDoS (regular expression denial of
service) attacks. We focus on their known Achilles heel, which are extended
regexes that use bounded quantifiers (e.g., (ab){100}). We propose a method for
generating input texts that can cause ReDoS attacks on these matchers. The method
exploits the bounded repetition and uses it to force expensive simulations of the
deterministic automaton for the regex. We perform an extensive experimental
evaluation of our and other state-of-the-art ReDoS generators on a large set of
practical regexes with a comprehensive set of backtracking and nonbacktracking
matchers, as well as experiments where we demonstrate ReDoS attacks on
state-of-the-art real-world security applications containing SNORT with Hyperscan
and the HW-accelerated regex matching engine on the NVIDIA BlueField-2 card. Our
experiments show that bounded repetition is indeed a notable weakness of
nonbacktracking matchers, with our generator being the only one capable of
significantly increasing their running time.
@inproceedings{BUT178146,
author="Lenka {Holíková} and Lukáš {Holík} and Ivan {Homoliak} and Ondřej {Lengál} and Margus {Veanes} and Tomáš {Vojnar}",
title="Counting in Regexes Considered Harmful: Exposing ReDoS Vulnerability of Nonbacktracking Matchers",
booktitle="Proceedings of the 31st USENIX Security Symposium",
year="2022",
pages="4165--4182",
publisher="USENIX",
address="Boston, MA",
isbn="978-1-939133-31-1",
url="https://www.usenix.org/conference/usenixsecurity22/presentation/turonova"
}