p PatchFirst

PatchFirst · Latest vulnerabilities

linux-6.12 vulnerabilities · Page 33

Vulnerabilities published for linux-6.12 in the last 30 days: 483. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 2889

  1. CVE-2026-97922

    Not ratedEPSS 0.21%Fix available

    tracing: Free histogram var refs regardless of how often they are referenced

    In the Linux kernel, the following vulnerability has been resolved: tracing: Free histogram var refs regardless of how often they are referenced Using the same variable three or more times in one hist trigger leaks the variable reference and its strings when the trigger is removed. commit 656fe2ba85e8 ("tracing: Use hist trigger's var_ref array to destroy var_refs") made a trigger's var_refs[] array the only owner of a var ref: destroy_hist_field() returns early for HIST_FIELD_FL_VAR_REF, so the field expressions never destroy one. One entry, freed once, no count needed. commit 8bcebc77e85f ("tracing: Fix histogram code when expression ha

    • Update to 6.12.111-1~deb12u1
    Published Updated
  2. CVE-2026-97921

    Not ratedEPSS 0.21%Fix available

    tracing: Free histogram the field rejected for a bad modifier

    In the Linux kernel, the following vulnerability has been resolved: tracing: Free histogram the field rejected for a bad modifier Writing a hist trigger whose value or variable carries a modifier that is not allowed there leaks the fields that were built for it. __create_val_field() takes the field from parse_expr() and stores it in hist_data->fields[] only after the modifier checks have run: hist_field = parse_expr(hist_data, file, field_str, flags, var_name, &n_subexprs); ... if (hist_field->flags & HIST_FIELD_FL_VAR) { if (hist_field->flags & (...)) goto err; } else { if (hist_field->flags & (...)) goto err; } hist

    • Update to 6.12.111-1~deb12u1
    Published Updated
  3. CVE-2026-97920

    Not ratedEPSS 0.21%Fix available

    tracing: Keep the entry count when the histogram stats allocation fails

    In the Linux kernel, the following vulnerability has been resolved: tracing: Keep the entry count when the histogram stats allocation fails print_entries() uses n_entries both as the number of sort entries and as its own return value, so the -ENOMEM it stores when the stats allocation fails overwrites the count that the cleanup still needs: n_entries = tracing_map_sort_entries(map, ...); if (n_entries < 0) return n_entries; ... if (!stats) { n_entries = -ENOMEM; goto out; } ... out: tracing_map_destroy_sort_entries(sort_entries, n_entries); tracing_map_destroy_sort_entries() takes an unsigned int and loops up to it,

    • Update to 6.12.111-1~deb12u1
    Published Updated
  4. CVE-2026-97919

    Not ratedEPSS 0.21%Fix available

    tracing: Take the reference before publishing the named histogram trigger

    In the Linux kernel, the following vulnerability has been resolved: tracing: Take the reference before publishing the named histogram trigger event_hist_trigger_named_init() puts the trigger on the global named_triggers list and only then takes the reference on the trigger it shares its histogram with: data->ref++; save_named_trigger(data->named_data->name, data); ret = event_hist_trigger_init(data->named_data); if (ret < 0) { kfree(data->cmd_ops); data->cmd_ops = &trigger_hist_cmd; } return ret; event_hist_trigger_init() fails when alloc_hist_pad() cannot allocate, and nothing takes the trigger back off the list on the way o

    • Update to 6.12.113-1~deb12u1
    Published Updated
  5. CVE-2026-97918

    Not ratedEPSS 0.21%Fix available

    tracing: Undo the registration when enabling the histogram trigger fails

    In the Linux kernel, the following vulnerability has been resolved: tracing: Undo the registration when enabling the histogram trigger fails Commit 6f86bdeab633 ("tracing: Fix bad hist from corrupting named_triggers list") described how a trigger that is registered but not on file->triggers ends up freed while still on the global named_triggers list, and moved the registration down so that hist_trigger_enable() follows it immediately. One path still gets there. hist_trigger_enable() adds the trigger and takes it straight back out when the event cannot be enabled: list_add_tail_rcu(&data->list, &file->triggers); update_cond_flag(file);

    • Update to 6.12.113-1~deb12u1
    Published Updated
  6. CVE-2026-97917

    Not ratedEPSS 0.2%Fix available

    accel/ivpu: Validate full buffer range in ivpu_to_cpu_addr

    In the Linux kernel, the following vulnerability has been resolved: accel/ivpu: Validate full buffer range in ivpu_to_cpu_addr Add a size parameter to ivpu_to_cpu_addr() and validate that the whole [vpu_addr, vpu_addr + size) range stays within the BO.

    • Update to 6.12.111-1~deb12u1
    Published Updated
  7. CVE-2026-97916

    Not ratedEPSS 0.2%Fix available

    accel/ivpu: Validate firmware log buffer metadata

    In the Linux kernel, the following vulnerability has been resolved: accel/ivpu: Validate firmware log buffer metadata The tracing log headers parsed by fw_log_print_buffer() reside in DMA-shared BOs that the NPU firmware can write to. fw_log_from_bo() validated log->header_size and log->size, but fw_log_print_buffer() re-read those same fields from shared memory afterwards, allowing a TOCTOU where firmware changes them between the check and the use, and making the host dereference out-of-bounds addresses while printing logs. Snapshot the validated values once with READ_ONCE() and pass them down explicitly in a new struct ivpu_fw_log_desc

    • Update to 6.12.111-1~deb12u1
    Published Updated
  8. CVE-2026-97915

    Not ratedEPSS 0.2%Fix available

    accel/ivpu: Limit firmware log name prints to field size

    In the Linux kernel, the following vulnerability has been resolved: accel/ivpu: Limit firmware log name prints to field size The name in struct vpu_tracing_buffer_header is a fixed-size array populated by the NPU firmware. It is expected to be NUL-terminated, but nothing on the host side enforces this, so printing it with an unbounded string conversion would read past the field if the terminator is ever missing and expose adjacent bytes of the shared tracing BO through dmesg and the debugfs FW log output. Print at most as many characters as the name field holds, so the output never runs past it even if the string is not NUL-terminated.

    • Update to 6.12.111-1~deb12u1
    Published Updated
  9. CVE-2026-97910

    High · CVSS 7.8EPSS 0.16%Fix available

    ASoC: sprd: validate compress buffer sizes against fixed allocations

    In the Linux kernel, the following vulnerability has been resolved: ASoC: sprd: validate compress buffer sizes against fixed allocations sprd_platform_compr_open() allocates the stage 0 IRAM buffer (32K data area) and the stage 1 DDR buffer (2M data area) with fixed sizes, but sprd_platform_compr_copy() derives all copy lengths from the user controlled runtime->fragment_size and the write() count, never comparing them against the physical buffer sizes. The compress core only checks fragment_size * fragments for an u32 overflow in snd_compress_check_input(), so a local user can configure a logical buffer of up to ~4GB via SNDRV_COMPRESS_SET_

    • Update to 6.12.111-1~deb12u1
    Published Updated
  10. CVE-2026-97909

    Not ratedEPSS 0.21%Fix available

    ASoC: sti: initialize IRQ lock before requesting IRQ

    In the Linux kernel, the following vulnerability has been resolved: ASoC: sti: initialize IRQ lock before requesting IRQ uni_reader_init() registers the shared IRQ before initializing reader->irq_lock. A pending interrupt can invoke the handler while the lock is still uninitialized. Initialize the lock before registering the IRQ so the interrupt path always sees valid lock state.

    • Update to 6.12.111-1~deb12u1
    Published Updated
  11. CVE-2026-97908

    Not ratedEPSS 0.2%Fix available

    Bluetooth: btqcomsmd: destroy RPMsg endpoints before freeing hci_dev

    In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btqcomsmd: destroy RPMsg endpoints before freeing hci_dev The command and ACL RPMsg endpoints store struct btqcomsmd as their callback private data. The receive callbacks dereference btq->hdev without taking an hci_dev reference. The current teardown order frees the hci_dev before destroying the RPMsg endpoints in both the hci_register_dev() error path and the driver remove path. If WCNSS delivers data in that window, the endpoint callback can run with an already freed hci_dev and pass it to the Bluetooth core. For qcom_smd endpoints, rpmsg_destroy_ept() closes

    • Update to 6.12.111-1~deb12u1
    Published Updated
  12. CVE-2026-97907

    Not ratedEPSS 0.2%Fix available

    Bluetooth: btrtl: Don't leak return code when parsing firmware format v2

    In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btrtl: Don't leak return code when parsing firmware format v2 When key_id from chip is zero, rtlbt_parse_firmware_v2() intentionally ignores all security headers. However, the implementation simply breaks from a switch statement and leaks uninitialized return code `rc' (if the first section is a security one) or the previous section's `rc'. Fix it by really skipping a loop with `continue'. For consistency and readability, also do the same for the default case.

    • Update to 6.12.111-1~deb12u1
    Published Updated
  13. CVE-2026-97906

    High · CVSS 7.1EPSS 0.22%Fix available

    bootconfig: Fix integer overflow in initrd size check

    In the Linux kernel, the following vulnerability has been resolved: bootconfig: Fix integer overflow in initrd size check Sashiko reported that in get_boot_config_from_initrd(), a crafted initrd with a huge bootconfig size (such as 0xFFFFFFFF) can cause the pointer arithmetic: data = ((void *)hdr) - size; to wrap around on 32-bit systems (or when pointer subtraction overflows). Because data wraps around, the subsequent bounds check: if ((unsigned long)data < initrd_start) evaluates to false, bypassing the check. The kernel then calls xbc_calc_checksum(data, size), which attempts to read 4GB of memory, hitting unmapped pages and

    • Update to 6.12.113-1~deb12u1
    Published Updated
  14. CVE-2026-97905

    Not ratedEPSS 0.22%Fix available

    cpufreq: zero-initialize policy cpumask before sysfs publication

    In the Linux kernel, the following vulnerability has been resolved: cpufreq: zero-initialize policy cpumask before sysfs publication cpufreq_policy_alloc() allocates policy->cpus with alloc_cpumask_var(), i.e. without __GFP_ZERO, unlike the sibling related_cpus and real_cpus masks. With CONFIG_CPUMASK_OFFSTACK=y the mask is a separate kmalloc_node() allocation, so its bitmap holds whatever the slab allocator left behind: cpufreq_online() cpufreq_policy_alloc() alloc_cpumask_var(&policy->cpus) /* bitmap is uninitialized */ kobject_init_and_add() /* policy%u/ appears in sysfs */ cpufreq_policy_online()

    • Update to 6.12.111-1~deb12u1
    Published Updated
  15. CVE-2026-97904

    Not ratedEPSS 0.22%Fix available

    cpufreq: initialize policy rwsem before sysfs publication

    In the Linux kernel, the following vulnerability has been resolved: cpufreq: initialize policy rwsem before sysfs publication cpufreq_policy_alloc() initializes policy->rwsem after kobject_init_and_add() has created the policy sysfs directory and its default attributes. A sysfs access can therefore reach a policy callback before the semaphore has been initialized. Initialize policy->rwsem before publishing the policy kobject so sysfs callbacks always see an initialized semaphore.

    • Update to 6.12.111-1~deb12u1
    Published Updated
  16. CVE-2026-97902

    Not ratedEPSS 0.21%Fix available

    fs: don't return -EINVAL for successful nested thaw

    In the Linux kernel, the following vulnerability has been resolved: fs: don't return -EINVAL for successful nested thaw Commit 7366f8b6fc6a ("fs: handle freezing from multiple devices") replaced the freeze_holders bitmask with per-holder counters to allow nested freezes. In the bitmask version, a thaw that released a shared hold while another holder remained returned 0. Since the rework, thaw_super_locked() drops the freeze reference via freeze_dec() but then returns -EINVAL when other freezers remain, misinforming the caller: the thaw did succeed, the superblock just stays frozen for the remaining holders. This breaks bdev-initiated freez

    • Update to 6.12.111-1~deb12u1
    Published Updated
  17. CVE-2026-97901

    Not ratedEPSS 0.21%Fix available

    genetlink: pin family module during policy dump

    In the Linux kernel, the following vulnerability has been resolved: genetlink: pin family module during policy dump The generic netlink controller's policy dump keeps pointers to the target family's operation and policy tables in its callback state. A dump may be split across multiple skbs and remain pending after the initial request. Netlink pins the module which owns the dump callback, but in this case that is the controller's owner rather than the target family's owner. The target family can consequently be unregistered and its module unloaded while a policy dump is pending. Advancing the dump then dereferences policy memory from the

    • Update to 6.12.113-1~deb12u1
    Published Updated
  18. CVE-2026-97900

    Not ratedEPSS 0.17%Fix available

    drm/drm_exec: fix up contended obj when num_objects is 0

    In the Linux kernel, the following vulnerability has been resolved: drm/drm_exec: fix up contended obj when num_objects is 0 drm_exec_prepare_array() silently returns success without calling drm_exec_lock_contended() when num_objects is zero. This breaks the invariant upheld by drm_exec_lock_obj(), where every entry point into the locking sequence must first attempt to lock any previously contended object before proceeding. Drivers that chain multiple drm_exec_prepare_array() calls per drm_exec_until_all_locked() iteration (e.g. amdgpu's userq signal/wait ioctls, which prepare separate read and write BO arrays) can pass an empty array for

    • Update to 6.12.111-1~deb12u1
    Published Updated
  19. CVE-2026-97899

    Not ratedEPSS 0.18%Fix available

    drm/i915: Fix memory leak in query_perf_config_list()

    In the Linux kernel, the following vulnerability has been resolved: drm/i915: Fix memory leak in query_perf_config_list() When krealloc() fails, free the original oa_config_ids before returning to avoid a memory leak. (cherry picked from commit 9977e9d84f46d4f12ad35fbbc0ec4638554bce87)

    • Update to 6.12.111-1~deb12u1
    Published Updated
  20. CVE-2026-97620

    Not ratedEPSS 0.21%Fix available

    drm/xe: Flush LSC untyped L1 dataport cache after rcs/ccs batches

    In the Linux kernel, the following vulnerability has been resolved: drm/xe: Flush LSC untyped L1 dataport cache after rcs/ccs batches emit_render_cache_flush() sets PIPE_CONTROL0_HDC_PIPELINE_FLUSH to flush the L2/HDC data cache before fence signalling, but it never requests a flush of the LSC untyped L1 data cache via the 'Untyped Data-Port Cache Flush Enable' bit in PIPE_CONTROL DWord0[11]. Per the Bspec, in 3D pipeline mode HDC Pipeline Flush is documented to also flush/invalidate the untyped L1 cache, but only depending on how HDC_CHICKEN0[13:11] is programmed. Starting with MTL, this coupling between HDC Pipeline Flush and the untyped

    • Update to 6.12.113-1~deb12u1
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →