Impact
Several methods in the DragonFly2 codebase defer file close operations after writing to a file. This may introduce undefined behavior, as the file’s content may not be flushed to disk until the file has been closed.
Errors arising from the inability to flush content to disk while closing will not be caught, and the application may assume that content was written to disk successfully. See the example in figure 7.1.
file, err := os.OpenFile(t.DataFilePath, os.O_RDWR, defaultFileMode)
if err != nil {
return 0, err
}
defer file.Close()
The bug occurs in multiple locations throughout the codebase.
The server on which the DragonFly2 application runs has a disk that periodically fails to flush content due to a hardware failure. As a result, certain methods in the codebase sometimes fail to write content to disk. This causes undefined behavior.
Patches
- Dragonfy v2.1.0 and above.
Workarounds
There are no effective workarounds, beyond upgrading.
References
A third party security audit was performed by Trail of Bits, you can see the full report.
If you have any questions or comments about this advisory, please email us at [email protected].
Impact
Several methods in the DragonFly2 codebase defer file close operations after writing to a file. This may introduce undefined behavior, as the file’s content may not be flushed to disk until the file has been closed.
Errors arising from the inability to flush content to disk while closing will not be caught, and the application may assume that content was written to disk successfully. See the example in figure 7.1.
The bug occurs in multiple locations throughout the codebase.
The server on which the DragonFly2 application runs has a disk that periodically fails to flush content due to a hardware failure. As a result, certain methods in the codebase sometimes fail to write content to disk. This causes undefined behavior.
Patches
Workarounds
There are no effective workarounds, beyond upgrading.
References
A third party security audit was performed by Trail of Bits, you can see the full report.
If you have any questions or comments about this advisory, please email us at [email protected].