> > There is interesting thing with event logging on Windows. The only > > security aspect of it is event log record tampering and performance > > degradation, but it may become sensitive is some 3rd party software is > > used for automated event log analysis.
Log tampering is a big concern, since it is trivial to change the meaning of logs without touching the .evt files themselves. However, there are other security concerns, at least when it comes to the event viewer. It downloads DLLs from remote systems when viewing remote logs, parses the message resources and uses them to determine the meaning of remote logs. Anyone played with fuzzing the PE file format? > > The problem is a kind of "Format string" vulnerability where > > user-supplied input is used for event log record. For ReportEvent() > > function %1, %2, etc have a special meaning and are replaced with > > corresponding string from lpStrings. > It looks more like a variable replacement (like $0 $1 ... in bash shell) > than a format string issue to me. > And it seems indeed to be a relevant information disclosure bug. I have studied the FormatMessage() interface in my attempt to interpret event logs[1], but I had no idea that the "%n" elements were replaced recursively. That could be significant, since format strings *can* be included as a modifier for those elements. See [2] for more details. 3APA3A, have you tried to see if elements like "%n!FORMAT!" used recursively will invoke the wsprintf()-like behavior?? cheers, tim [1] http://projects.sentinelchicken.org/grokevt/ [2] http://msdn.microsoft.com/library/en-us/debug/base/formatmessage.asp _______________________________________________ Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/