| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
原始链接: https://news.ycombinator.com/item?id=39562467
为了解决您对嵌入式使用的担忧,有一些方法可以隔离或沙箱curl进程。 另一种方法是在主机应用程序中实施更严格的安全标准,并禁止通过标准通道执行外部脚本或数据。 然而,最终,这些嵌入式用法的作者有责任遵循适当的编码实践并避免引入此类漏洞。 虽然运行任何程序确实都会带来风险,但我们不能忽视这样一个事实:curl 特别带来了与其固有设计和使用模式相关的独特挑战,特别是在远程通信协议和数据交换格式方面。 因此,对于广泛使用curl的分布式计算环境来说,提高curl的鲁棒性和解决已知漏洞是缓解这些问题的关键步骤。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Then again some things are just difficult to fuzz properly. I tried writing a libpurple IRC harness by doing it the "right way" with the 3000 libpurple event callbacks you are supposed to set up and structures you are supposed to allocate, which worked, but it was very slow. I ended up being lazy and only calling irc_parse_msg after modifying the code to remove error logging that required proper libpurple setup.
reply