本文讲述了对开源条形码扫描库ZBar进行模糊测试的过程及发现的漏洞。作者通过修改Nixpkgs中的ZBar构建,添加了AddressSanitizer和libFuzzer工具,快速构建了模糊测试环境。尽管时间有限,但仍然发现了严重的漏洞:一个栈缓冲区溢出漏洞,可导致恶意条形码执行任意代码;以及一个内存泄漏漏洞,可用于拒绝服务攻击。文章还指出了ZBar项目缺乏模糊测试的现状,并提供了改进模糊测试的建议,例如针对特定代码类型、检查代码覆盖率等。此外,作者还分析了漏洞的根本原因,并提供了修复补丁。