Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2024-57930

tracing: Have process_string() also allow arrays

Description

In the Linux kernel, the following vulnerability has been resolved: tracing: Have process_string() also allow arrays In order to catch a common bug where a TRACE_EVENT() TP_fast_assign() assigns an address of an allocated string to the ring buffer and then references it in TP_printk(), which can be executed hours later when the string is free, the function test_event_printk() runs on all events as they are registered to make sure there's no unwanted dereferencing. It calls process_string() to handle cases in TP_printk() format that has "%s". It returns whether or not the string is safe. But it can have some false positives. For instance, xe_bo_move() has: TP_printk("move_lacks_source:%s, migrate object %p [size %zu] from %s to %s device_id:%s", __entry->move_lacks_source ? "yes" : "no", __entry->bo, __entry->size, xe_mem_type_to_name[__entry->old_placement], xe_mem_type_to_name[__entry->new_placement], __get_str(device_id)) Where the "%s" references into xe_mem_type_to_name[]. This is an array of pointers that should be safe for the event to access. Instead of flagging this as a bad reference, if a reference points to an array, where the record field is the index, consider it safe.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 85d7635d54d75a2589f28583dc17feedc3aa4ad6 to < 3bcdc9039a6e9e6e47ed689a37b8d57894a3c571affected
  • f3ff759ec636b4094b8eb2c3801e4e6c97a6b712 to < 631b1e09e213c86d5a4ce23d45c81af473bb0ac7affected
  • 2f6ad0b613cd45cca48e6eb04f65351db018afb0 to < a64e5295ebc4afdefe69cdf16cc286a60ff8ba4baffected
  • 683eccacc02d2eb25d1c34b8fb0363fcc7e08f64 to < 92bd18c74624e5eb9f96e70076aa46293f4b626faffected
  • 65a25d9f7ac02e0cf361356e834d1c71d36acca9 to < afc6717628f959941d7b33728570568b4af1c4b8affected

Linux Linux

Default version status: unaffected

  • 6.1.122 to < 6.1.124affected
  • 6.6.68 to < 6.6.70affected
  • 6.12.7 to < 6.12.9affected

References