Vulnerabilities

With the aim of informing, warning and helping professionals with the latest security vulnerabilities in technology systems, we have made a database available for users interested in this information, which is in Spanish and includes all of the latest documented and recognised vulnerabilities.

This repository, with over 75,000 registers, is based on the information from the NVD (National Vulnerability Database) – by virtue of a partnership agreement – through which INCIBE translates the included information into Spanish.

On occasions this list will show vulnerabilities that have still not been translated, as they are added while the INCIBE team is still carrying out the translation process. The CVE  (Common Vulnerabilities and Exposures) Standard for Information Security Vulnerability Names is used with the aim to support the exchange of information between different tools and databases.

All vulnerabilities collected are linked to different information sources, as well as available patches or solutions provided by manufacturers and developers. It is possible to carry out advanced searches, as there is the option to select different criteria to narrow down the results, some examples being vulnerability types, manufacturers and impact levels, among others.

Through RSS feeds or Newsletters we can be informed daily about the latest vulnerabilities added to the repository. Below there is a list, updated daily, where you can discover the latest vulnerabilities.

CVE-2022-48999

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ipv4: Handle attempt to delete multipath route when fib_info contains an nh reference<br /> <br /> Gwangun Jung reported a slab-out-of-bounds access in fib_nh_match:<br /> fib_nh_match+0xf98/0x1130 linux-6.0-rc7/net/ipv4/fib_semantics.c:961<br /> fib_table_delete+0x5f3/0xa40 linux-6.0-rc7/net/ipv4/fib_trie.c:1753<br /> inet_rtm_delroute+0x2b3/0x380 linux-6.0-rc7/net/ipv4/fib_frontend.c:874<br /> <br /> Separate nexthop objects are mutually exclusive with the legacy<br /> multipath spec. Fix fib_nh_match to return if the config for the<br /> to be deleted route contains a multipath spec while the fib_info<br /> is using a nexthop object.
Severity CVSS v4.0: Pending analysis
Last modification:
31/10/2024

CVE-2022-49000

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> iommu/vt-d: Fix PCI device refcount leak in has_external_pci()<br /> <br /> for_each_pci_dev() is implemented by pci_get_device(). The comment of<br /> pci_get_device() says that it will increase the reference count for the<br /> returned pci_dev and also decrease the reference count for the input<br /> pci_dev @from if it is not NULL.<br /> <br /> If we break for_each_pci_dev() loop with pdev not NULL, we need to call<br /> pci_dev_put() to decrease the reference count. Add the missing<br /> pci_dev_put() before &amp;#39;return true&amp;#39; to avoid reference count leak.
Severity CVSS v4.0: Pending analysis
Last modification:
31/10/2024

CVE-2022-49001

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> riscv: fix race when vmap stack overflow<br /> <br /> Currently, when detecting vmap stack overflow, riscv firstly switches<br /> to the so called shadow stack, then use this shadow stack to call the<br /> get_overflow_stack() to get the overflow stack. However, there&amp;#39;s<br /> a race here if two or more harts use the same shadow stack at the same<br /> time.<br /> <br /> To solve this race, we introduce spin_shadow_stack atomic var, which<br /> will be swap between its own address and 0 in atomic way, when the<br /> var is set, it means the shadow_stack is being used; when the var<br /> is cleared, it means the shadow_stack isn&amp;#39;t being used.<br /> <br /> [Palmer: Add AQ to the swap, and also some comments.]
Severity CVSS v4.0: Pending analysis
Last modification:
30/10/2024

CVE-2022-49002

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> iommu/vt-d: Fix PCI device refcount leak in dmar_dev_scope_init()<br /> <br /> for_each_pci_dev() is implemented by pci_get_device(). The comment of<br /> pci_get_device() says that it will increase the reference count for the<br /> returned pci_dev and also decrease the reference count for the input<br /> pci_dev @from if it is not NULL.<br /> <br /> If we break for_each_pci_dev() loop with pdev not NULL, we need to call<br /> pci_dev_put() to decrease the reference count. Add the missing<br /> pci_dev_put() for the error path to avoid reference count leak.
Severity CVSS v4.0: Pending analysis
Last modification:
25/10/2024

CVE-2022-49003

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> nvme: fix SRCU protection of nvme_ns_head list<br /> <br /> Walking the nvme_ns_head siblings list is protected by the head&amp;#39;s srcu<br /> in nvme_ns_head_submit_bio() but not nvme_mpath_revalidate_paths().<br /> Removing namespaces from the list also fails to synchronize the srcu.<br /> Concurrent scan work can therefore cause use-after-frees.<br /> <br /> Hold the head&amp;#39;s srcu lock in nvme_mpath_revalidate_paths() and<br /> synchronize with the srcu, not the global RCU, in nvme_ns_remove().<br /> <br /> Observed the following panic when making NVMe/RDMA connections<br /> with native multipath on the Rocky Linux 8.6 kernel<br /> (it seems the upstream kernel has the same race condition).<br /> Disassembly shows the faulting instruction is cmp 0x50(%rdx),%rcx;<br /> computing capacity != get_capacity(ns-&gt;disk).<br /> Address 0x50 is dereferenced because ns-&gt;disk is NULL.<br /> The NULL disk appears to be the result of concurrent scan work<br /> freeing the namespace (note the log line in the middle of the panic).<br /> <br /> [37314.206036] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050<br /> [37314.206036] nvme0n3: detected capacity change from 0 to 11811160064<br /> [37314.299753] PGD 0 P4D 0<br /> [37314.299756] Oops: 0000 [#1] SMP PTI<br /> [37314.299759] CPU: 29 PID: 322046 Comm: kworker/u98:3 Kdump: loaded Tainted: G W X --------- - - 4.18.0-372.32.1.el8test86.x86_64 #1<br /> [37314.299762] Hardware name: Dell Inc. PowerEdge R720/0JP31P, BIOS 2.7.0 05/23/2018<br /> [37314.299763] Workqueue: nvme-wq nvme_scan_work [nvme_core]<br /> [37314.299783] RIP: 0010:nvme_mpath_revalidate_paths+0x26/0xb0 [nvme_core]<br /> [37314.299790] Code: 1f 44 00 00 66 66 66 66 90 55 53 48 8b 5f 50 48 8b 83 c8 c9 00 00 48 8b 13 48 8b 48 50 48 39 d3 74 20 48 8d 42 d0 48 8b 50 20 3b 4a 50 74 05 f0 80 60 70 ef 48 8b 50 30 48 8d 42 d0 48 39 d3<br /> [37315.058803] RSP: 0018:ffffabe28f913d10 EFLAGS: 00010202<br /> [37315.121316] RAX: ffff927a077da800 RBX: ffff92991dd70000 RCX: 0000000001600000<br /> [37315.206704] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff92991b719800<br /> [37315.292106] RBP: ffff929a6b70c000 R08: 000000010234cd4a R09: c0000000ffff7fff<br /> [37315.377501] R10: 0000000000000001 R11: ffffabe28f913a30 R12: 0000000000000000<br /> [37315.462889] R13: ffff92992716600c R14: ffff929964e6e030 R15: ffff92991dd70000<br /> [37315.548286] FS: 0000000000000000(0000) GS:ffff92b87fb80000(0000) knlGS:0000000000000000<br /> [37315.645111] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br /> [37315.713871] CR2: 0000000000000050 CR3: 0000002208810006 CR4: 00000000000606e0<br /> [37315.799267] Call Trace:<br /> [37315.828515] nvme_update_ns_info+0x1ac/0x250 [nvme_core]<br /> [37315.892075] nvme_validate_or_alloc_ns+0x2ff/0xa00 [nvme_core]<br /> [37315.961871] ? __blk_mq_free_request+0x6b/0x90<br /> [37316.015021] nvme_scan_work+0x151/0x240 [nvme_core]<br /> [37316.073371] process_one_work+0x1a7/0x360<br /> [37316.121318] ? create_worker+0x1a0/0x1a0<br /> [37316.168227] worker_thread+0x30/0x390<br /> [37316.212024] ? create_worker+0x1a0/0x1a0<br /> [37316.258939] kthread+0x10a/0x120<br /> [37316.297557] ? set_kthread_struct+0x50/0x50<br /> [37316.347590] ret_from_fork+0x35/0x40<br /> [37316.390360] Modules linked in: nvme_rdma nvme_tcp(X) nvme_fabrics nvme_core netconsole iscsi_tcp libiscsi_tcp dm_queue_length dm_service_time nf_conntrack_netlink br_netfilter bridge stp llc overlay nft_chain_nat ipt_MASQUERADE nf_nat xt_addrtype xt_CT nft_counter xt_state xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xt_comment xt_multiport nft_compat nf_tables libcrc32c nfnetlink dm_multipath tg3 rpcrdma sunrpc rdma_ucm ib_srpt ib_isert iscsi_target_mod target_core_mod ib_iser libiscsi scsi_transport_iscsi ib_umad rdma_cm ib_ipoib iw_cm ib_cm intel_rapl_msr iTCO_wdt iTCO_vendor_support dcdbas intel_rapl_common sb_edac x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel ipmi_ssif kvm irqbypass crct10dif_pclmul crc32_pclmul mlx5_ib ghash_clmulni_intel ib_uverbs rapl intel_cstate intel_uncore ib_core ipmi_si joydev mei_me pcspkr ipmi_devintf mei lpc_ich wmi ipmi_msghandler acpi_power_meter ex<br /> ---truncated---
Severity CVSS v4.0: Pending analysis
Last modification:
25/10/2024

CVE-2022-49004

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> riscv: Sync efi page table&amp;#39;s kernel mappings before switching<br /> <br /> The EFI page table is initially created as a copy of the kernel page table.<br /> With VMAP_STACK enabled, kernel stacks are allocated in the vmalloc area:<br /> if the stack is allocated in a new PGD (one that was not present at the<br /> moment of the efi page table creation or not synced in a previous vmalloc<br /> fault), the kernel will take a trap when switching to the efi page table<br /> when the vmalloc kernel stack is accessed, resulting in a kernel panic.<br /> <br /> Fix that by updating the efi kernel mappings before switching to the efi<br /> page table.
Severity CVSS v4.0: Pending analysis
Last modification:
25/10/2024

CVE-2022-48980

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net: dsa: sja1105: avoid out of bounds access in sja1105_init_l2_policing()<br /> <br /> The SJA1105 family has 45 L2 policing table entries<br /> (SJA1105_MAX_L2_POLICING_COUNT) and SJA1110 has 110<br /> (SJA1110_MAX_L2_POLICING_COUNT). Keeping the table structure but<br /> accounting for the difference in port count (5 in SJA1105 vs 10 in<br /> SJA1110) does not fully explain the difference. Rather, the SJA1110 also<br /> has L2 ingress policers for multicast traffic. If a packet is classified<br /> as multicast, it will be processed by the policer index 99 + SRCPORT.<br /> <br /> The sja1105_init_l2_policing() function initializes all L2 policers such<br /> that they don&amp;#39;t interfere with normal packet reception by default. To have<br /> a common code between SJA1105 and SJA1110, the index of the multicast<br /> policer for the port is calculated because it&amp;#39;s an index that is out of<br /> bounds for SJA1105 but in bounds for SJA1110, and a bounds check is<br /> performed.<br /> <br /> The code fails to do the proper thing when determining what to do with the<br /> multicast policer of port 0 on SJA1105 (ds-&gt;num_ports = 5). The "mcast"<br /> index will be equal to 45, which is also equal to<br /> table-&gt;ops-&gt;max_entry_count (SJA1105_MAX_L2_POLICING_COUNT). So it passes<br /> through the check. But at the same time, SJA1105 doesn&amp;#39;t have multicast<br /> policers. So the code programs the SHARINDX field of an out-of-bounds<br /> element in the L2 Policing table of the static config.<br /> <br /> The comparison between index 45 and 45 entries should have determined the<br /> code to not access this policer index on SJA1105, since its memory wasn&amp;#39;t<br /> even allocated.<br /> <br /> With enough bad luck, the out-of-bounds write could even overwrite other<br /> valid kernel data, but in this case, the issue was detected using KASAN.<br /> <br /> Kernel log:<br /> <br /> sja1105 spi5.0: Probed switch chip: SJA1105Q<br /> ==================================================================<br /> BUG: KASAN: slab-out-of-bounds in sja1105_setup+0x1cbc/0x2340<br /> Write of size 8 at addr ffffff880bd57708 by task kworker/u8:0/8<br /> ...<br /> Workqueue: events_unbound deferred_probe_work_func<br /> Call trace:<br /> ...<br /> sja1105_setup+0x1cbc/0x2340<br /> dsa_register_switch+0x1284/0x18d0<br /> sja1105_probe+0x748/0x840<br /> ...<br /> Allocated by task 8:<br /> ...<br /> sja1105_setup+0x1bcc/0x2340<br /> dsa_register_switch+0x1284/0x18d0<br /> sja1105_probe+0x748/0x840<br /> ...
Severity CVSS v4.0: Pending analysis
Last modification:
25/10/2024

CVE-2022-48981

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> drm/shmem-helper: Remove errant put in error path<br /> <br /> drm_gem_shmem_mmap() doesn&amp;#39;t own this reference, resulting in the GEM<br /> object getting prematurely freed leading to a later use-after-free.
Severity CVSS v4.0: Pending analysis
Last modification:
25/10/2024

CVE-2022-48982

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> Bluetooth: Fix crash when replugging CSR fake controllers<br /> <br /> It seems fake CSR 5.0 clones can cause the suspend notifier to be<br /> registered twice causing the following kernel panic:<br /> <br /> [ 71.986122] Call Trace:<br /> [ 71.986124] <br /> [ 71.986125] blocking_notifier_chain_register+0x33/0x60<br /> [ 71.986130] hci_register_dev+0x316/0x3d0 [bluetooth 99b5497ea3d09708fa1366c1dc03288bf3cca8da]<br /> [ 71.986154] btusb_probe+0x979/0xd85 [btusb e1e0605a4f4c01984a4b9c8ac58c3666ae287477]<br /> [ 71.986159] ? __pm_runtime_set_status+0x1a9/0x300<br /> [ 71.986162] ? ktime_get_mono_fast_ns+0x3e/0x90<br /> [ 71.986167] usb_probe_interface+0xe3/0x2b0<br /> [ 71.986171] really_probe+0xdb/0x380<br /> [ 71.986174] ? pm_runtime_barrier+0x54/0x90<br /> [ 71.986177] __driver_probe_device+0x78/0x170<br /> [ 71.986180] driver_probe_device+0x1f/0x90<br /> [ 71.986183] __device_attach_driver+0x89/0x110<br /> [ 71.986186] ? driver_allows_async_probing+0x70/0x70<br /> [ 71.986189] bus_for_each_drv+0x8c/0xe0<br /> [ 71.986192] __device_attach+0xb2/0x1e0<br /> [ 71.986195] bus_probe_device+0x92/0xb0<br /> [ 71.986198] device_add+0x422/0x9a0<br /> [ 71.986201] ? sysfs_merge_group+0xd4/0x110<br /> [ 71.986205] usb_set_configuration+0x57a/0x820<br /> [ 71.986208] usb_generic_driver_probe+0x4f/0x70<br /> [ 71.986211] usb_probe_device+0x3a/0x110<br /> [ 71.986213] really_probe+0xdb/0x380<br /> [ 71.986216] ? pm_runtime_barrier+0x54/0x90<br /> [ 71.986219] __driver_probe_device+0x78/0x170<br /> [ 71.986221] driver_probe_device+0x1f/0x90<br /> [ 71.986224] __device_attach_driver+0x89/0x110<br /> [ 71.986227] ? driver_allows_async_probing+0x70/0x70<br /> [ 71.986230] bus_for_each_drv+0x8c/0xe0<br /> [ 71.986232] __device_attach+0xb2/0x1e0<br /> [ 71.986235] bus_probe_device+0x92/0xb0<br /> [ 71.986237] device_add+0x422/0x9a0<br /> [ 71.986239] ? _dev_info+0x7d/0x98<br /> [ 71.986242] ? blake2s_update+0x4c/0xc0<br /> [ 71.986246] usb_new_device.cold+0x148/0x36d<br /> [ 71.986250] hub_event+0xa8a/0x1910<br /> [ 71.986255] process_one_work+0x1c4/0x380<br /> [ 71.986259] worker_thread+0x51/0x390<br /> [ 71.986262] ? rescuer_thread+0x3b0/0x3b0<br /> [ 71.986264] kthread+0xdb/0x110<br /> [ 71.986266] ? kthread_complete_and_exit+0x20/0x20<br /> [ 71.986268] ret_from_fork+0x1f/0x30<br /> [ 71.986273] <br /> [ 71.986274] ---[ end trace 0000000000000000 ]---<br /> [ 71.986284] btusb: probe of 2-1.6:1.0 failed with error -17
Severity CVSS v4.0: Pending analysis
Last modification:
08/09/2025

CVE-2022-48983

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> io_uring: Fix a null-ptr-deref in io_tctx_exit_cb()<br /> <br /> Syzkaller reports a NULL deref bug as follows:<br /> <br /> BUG: KASAN: null-ptr-deref in io_tctx_exit_cb+0x53/0xd3<br /> Read of size 4 at addr 0000000000000138 by task file1/1955<br /> <br /> CPU: 1 PID: 1955 Comm: file1 Not tainted 6.1.0-rc7-00103-gef4d3ea40565 #75<br /> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2.el7 04/01/2014<br /> Call Trace:<br /> <br /> dump_stack_lvl+0xcd/0x134<br /> ? io_tctx_exit_cb+0x53/0xd3<br /> kasan_report+0xbb/0x1f0<br /> ? io_tctx_exit_cb+0x53/0xd3<br /> kasan_check_range+0x140/0x190<br /> io_tctx_exit_cb+0x53/0xd3<br /> task_work_run+0x164/0x250<br /> ? task_work_cancel+0x30/0x30<br /> get_signal+0x1c3/0x2440<br /> ? lock_downgrade+0x6e0/0x6e0<br /> ? lock_downgrade+0x6e0/0x6e0<br /> ? exit_signals+0x8b0/0x8b0<br /> ? do_raw_read_unlock+0x3b/0x70<br /> ? do_raw_spin_unlock+0x50/0x230<br /> arch_do_signal_or_restart+0x82/0x2470<br /> ? kmem_cache_free+0x260/0x4b0<br /> ? putname+0xfe/0x140<br /> ? get_sigframe_size+0x10/0x10<br /> ? do_execveat_common.isra.0+0x226/0x710<br /> ? lockdep_hardirqs_on+0x79/0x100<br /> ? putname+0xfe/0x140<br /> ? do_execveat_common.isra.0+0x238/0x710<br /> exit_to_user_mode_prepare+0x15f/0x250<br /> syscall_exit_to_user_mode+0x19/0x50<br /> do_syscall_64+0x42/0xb0<br /> entry_SYSCALL_64_after_hwframe+0x63/0xcd<br /> RIP: 0023:0x0<br /> Code: Unable to access opcode bytes at 0xffffffffffffffd6.<br /> RSP: 002b:00000000fffb7790 EFLAGS: 00000200 ORIG_RAX: 000000000000000b<br /> RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000<br /> RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000<br /> RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000<br /> R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000<br /> R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000<br /> <br /> Kernel panic - not syncing: panic_on_warn set ...<br /> <br /> This happens because the adding of task_work from io_ring_exit_work()<br /> isn&amp;#39;t synchronized with canceling all work items from eg exec. The<br /> execution of the two are ordered in that they are both run by the task<br /> itself, but if io_tctx_exit_cb() is queued while we&amp;#39;re canceling all<br /> work items off exec AND gets executed when the task exits to userspace<br /> rather than in the main loop in io_uring_cancel_generic(), then we can<br /> find current-&gt;io_uring == NULL and hit the above crash.<br /> <br /> It&amp;#39;s safe to add this NULL check here, because the execution of the two<br /> paths are done by the task itself.<br /> <br /> [axboe: add code comment and also put an explanation in the commit msg]
Severity CVSS v4.0: Pending analysis
Last modification:
25/10/2024

CVE-2022-48984

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> can: slcan: fix freed work crash<br /> <br /> The LTP test pty03 is causing a crash in slcan:<br /> BUG: kernel NULL pointer dereference, address: 0000000000000008<br /> #PF: supervisor read access in kernel mode<br /> #PF: error_code(0x0000) - not-present page<br /> PGD 0 P4D 0<br /> Oops: 0000 [#1] PREEMPT SMP NOPTI<br /> CPU: 0 PID: 348 Comm: kworker/0:3 Not tainted 6.0.8-1-default #1 openSUSE Tumbleweed 9d20364b934f5aab0a9bdf84e8f45cfdfae39dab<br /> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.15.0-0-g2dd4b9b-rebuilt.opensuse.org 04/01/2014<br /> Workqueue: 0x0 (events)<br /> RIP: 0010:process_one_work (/home/rich/kernel/linux/kernel/workqueue.c:706 /home/rich/kernel/linux/kernel/workqueue.c:2185)<br /> Code: 49 89 ff 41 56 41 55 41 54 55 53 48 89 f3 48 83 ec 10 48 8b 06 48 8b 6f 48 49 89 c4 45 30 e4 a8 04 b8 00 00 00 00 4c 0f 44 e0 8b 44 24 08 44 8b a8 00 01 00 00 41 83 e5 20 f6 45 10 04 75 0e<br /> RSP: 0018:ffffaf7b40f47e98 EFLAGS: 00010046<br /> RAX: 0000000000000000 RBX: ffff9d644e1b8b48 RCX: ffff9d649e439968<br /> RDX: 00000000ffff8455 RSI: ffff9d644e1b8b48 RDI: ffff9d64764aa6c0<br /> RBP: ffff9d649e4335c0 R08: 0000000000000c00 R09: ffff9d64764aa734<br /> R10: 0000000000000007 R11: 0000000000000001 R12: 0000000000000000<br /> R13: ffff9d649e4335e8 R14: ffff9d64490da780 R15: ffff9d64764aa6c0<br /> FS: 0000000000000000(0000) GS:ffff9d649e400000(0000) knlGS:0000000000000000<br /> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br /> CR2: 0000000000000008 CR3: 0000000036424000 CR4: 00000000000006f0<br /> Call Trace:<br /> <br /> worker_thread (/home/rich/kernel/linux/kernel/workqueue.c:2436)<br /> kthread (/home/rich/kernel/linux/kernel/kthread.c:376)<br /> ret_from_fork (/home/rich/kernel/linux/arch/x86/entry/entry_64.S:312)<br /> <br /> Apparently, the slcan&amp;#39;s tx_work is freed while being scheduled. While<br /> slcan_netdev_close() (netdev side) calls flush_work(&amp;sl-&gt;tx_work),<br /> slcan_close() (tty side) does not. So when the netdev is never set UP,<br /> but the tty is stuffed with bytes and forced to wakeup write, the work<br /> is scheduled, but never flushed.<br /> <br /> So add an additional flush_work() to slcan_close() to be sure the work<br /> is flushed under all circumstances.<br /> <br /> The Fixes commit below moved flush_work() from slcan_close() to<br /> slcan_netdev_close(). What was the rationale behind it? Maybe we can<br /> drop the one in slcan_netdev_close()?<br /> <br /> I see the same pattern in can327. So it perhaps needs the very same fix.
Severity CVSS v4.0: Pending analysis
Last modification:
25/10/2024

CVE-2022-48985

Publication date:
21/10/2024
In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net: mana: Fix race on per-CQ variable napi work_done<br /> <br /> After calling napi_complete_done(), the NAPIF_STATE_SCHED bit may be<br /> cleared, and another CPU can start napi thread and access per-CQ variable,<br /> cq-&gt;work_done. If the other thread (for example, from busy_poll) sets<br /> it to a value &gt;= budget, this thread will continue to run when it should<br /> stop, and cause memory corruption and panic.<br /> <br /> To fix this issue, save the per-CQ work_done variable in a local variable<br /> before napi_complete_done(), so it won&amp;#39;t be corrupted by a possible<br /> concurrent thread after napi_complete_done().<br /> <br /> Also, add a flag bit to advertise to the NIC firmware: the NAPI work_done<br /> variable race is fixed, so the driver is able to reliably support features<br /> like busy_poll.
Severity CVSS v4.0: Pending analysis
Last modification:
07/11/2024