Fuzzing DNS Zone Parsers
6 months ago
- #Fuzzing
- #DNS
- #Security
- Frédéric Cambus使用AFL模糊测试DNS区域解析器,最初从statzone开始,随后扩展到其他解析器如validns、BIND、NSD和Knot。
- 对validns 0.8的模糊测试快速暴露了name2findable_name()和nsec_validate_pass2()函数中的空指针解引用问题。
- NSD的nsd-checkzone被发现存在两个关键问题:一处越界读取和一处基于栈的缓冲区溢出(CVE-2019-13207)。
- 针对NSD的模糊测试持续运行超过16天,产生167次独特崩溃,经分析后确认了有效漏洞。
- NSD中发现的这两个问题均已修复,并计划在NSD 4.2.2版本中发布更新。
- 对ldns的ldns-read-zone进行12天模糊测试仅触发断言崩溃,未发现可被利用的漏洞。
- 作者强调了从大量崩溃中筛选有效问题的挑战性,并指出分析第三方代码的教育意义。