The vulnerability stems from how audit events were processed. The key changes in the patch show:
- The payload type changed from *auditEvent to *AuditEvent (indicating structural changes)
- A new AuditEvent (a2) is created with cloned data instead of using the original payload
- A new eventlogger.Event (e2) is created for output instead of modifying the input event
This demonstrates the original code processed events in a way that allowed cross-contamination between audit devices. The EntryFormatter.Process function was responsible for formatting audit data and passed the modified event to subsequent sinks, meaning any device with 'log_raw' enabled would leave raw data in the shared event payload that other devices could access.