SoK: A Literature and Engineering Review of Regular Expression Denial of Service
<|reference_start|>SoK: A Literature and Engineering Review of Regular Expression Denial of Service: Regular expression denial of service (ReDoS) is an asymmetric cyberattack that has become prominent in recent years. This attack exploits the slow worst-case matching time of regular expression (regex) engines. In the past, problematic regular expressions have led to outages at Cloudflare and Stack Overflow, showing the severity of the problem. While ReDoS has drawn significant research attention, there has been no systematization of knowledge to delineate the state of the art and identify opportunities for further research.   In this paper, we describe the existing knowledge on ReDoS. We first provide a systematic literature review, dividing works into two classes: measurement studies and defenses. Then, our engineering review surveys the latest regex engines to examine whether and how ReDoS defenses have been realized. Combining our findings, we observe that (1) in the literature, almost no studies evaluate whether and how ReDoS vulnerabilities can be weaponized against real systems, making it difficult to assess their real-world impact; and (2) from an engineering view, many mainstream regex engines now have ReDoS defenses, rendering many threat models obsolete. The open challenges in ReDoS research are to evaluate the emerging defenses, and to support engineers in migrating to defended engines. To support these directions, we conclude by presenting the wrk-redos tool. This tool supports controlled measurements of ReDoS on a web service, and includes proof-of-concept Docker images that allow engineers to substitute different regex engines in their applications.<|reference_end|>
@article{bhuiyan2024sok:,
    title={SoK: A Literature and Engineering Review of Regular Expression Denial of
  Service},
    author={Masudul Hasan Masud Bhuiyan, Berk c{C}akar, Ethan H Burmane, James C
  Davis, Cristian-Alexandru Staicu},
    journal={arXiv preprint arXiv:2406.11618},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.11618},
    primaryClass={cs.CR cs.SE}
}