我正在寻找由竞争条件引起的着名的,简单的和现实的安全漏洞(最好是在C / C ++中,但不一定)。
到目前为止,我只在glibc(setuid)和Linux内核中发现了一些易于理解,可访问和危险的缺陷,这两个漏洞可能过于复杂,因为触发它们会导致漫长且可能无聊的演示。另外,我发现了数据库竞争条件,这些条件可能更有用但是非偏离上下文。
他们已经有一些小型程序会出现竞争条件,但这只是因为手动调用sleep()。
问题归结为:
在C或C ++中是否有任何众所周知的竞争条件在野外发生并且在安全环境中是危险的?
上下文:展示并发在现实生活中如何变得危险。目标受众是经验丰富的C / C ++程序员,他们事先没有考虑过Concurrency。
感谢您的时间。
答案 0 :(得分:0)
我记得在一本关于X11的竞争条件问题的书中读到了/tmp
中创建文件的问题,并且存在安全漏洞,因为可以在文件创建时间和文件内容之间更改文件内容。它被访问的时间。不确定,但我认为是这一个:https://bugzilla.redhat.com/show_bug.cgi?id=988498