ruby -- Unintentional file creation caused by inserting an illegal NUL character

ID 3DECC87D-2498-11E2-B0C7-000D601460A4
Type freebsd
Reporter FreeBSD
Modified 2012-10-12T00:00:00


The official ruby site reports:

A vulnerability was found that file creation routines can create unintended files by strategically inserting NUL(s) in file paths. This vulnerability has been reported as CVE-2012-4522. Ruby can handle arbitrary binary patterns as Strings, including NUL chars. On the other hand OSes and other libraries tend not. They usually treat a NUL as an End of String mark. So to interface them with Ruby, NUL chars should properly be avoided. However methods like IO#open did not check the filename passed to them, and just passed those strings to lower layer routines. This led to create unintentional files.