Skip to content

Conversation

pvts-mat
Copy link
Contributor

[LTS 8.6]
CVE-2022-1048 VULN-3151
CVE-2022-2938 VULN-3165
CVE-2022-3239 VULN-3791
CVE-2022-3545 VULN-4119
CVE-2022-20368 VULN-3155
CVE-2022-28390 VULN-3163
CVE-2022-29581 VULN-3166

Commits

CVE-2022-1048

9c92c1c:

ALSA: pcm: Fix races among concurrent hw_params and hw_free calls

jira VULN-3151
cve CVE-2022-1048
cve CVE-2022-49291
commit-author Takashi Iwai <[email protected]>
commit 92ee3c60ec9fe64404dc035e7c41277d74aa26cb

Yes, there are two CVE tags. See https://lore.kernel.org/linux-cve-announce/2025022633-CVE-2022-49291-8c67@gregkh/T/#u. Either we have two issues solved by a single commit or just a single issue and CVE-2022-49291 was created by a mistake in the recent CVE-for-each-bug kernel.org's batch. Looks like the latter, even though RH's CVSSes 7 and 6.4 differ (prob. another mistake). Didn't dig any further.

CVE-2022-2938

324e25e:

psi: Fix uaf issue when psi trigger is destroyed while being polled

jira VULN-3165
cve CVE-2022-2938
commit-author Suren Baghdasaryan <[email protected]>
commit a06247c6804f1a7c86a2e5398a4c1f1db1471848

CVE-2022-3239

b46893e:

media: em28xx: initialize refcount before kref_get

jira VULN-3791
cve CVE-2022-3239
commit-author Dongliang Mu <[email protected]>
commit c08eadca1bdfa099e20a32f8fa4b52b2f672236d

CVE-2022-3545

187197c:

nfp: fix use-after-free in area_cache_get()

jira VULN-4119
cve CVE-2022-3545
commit-author Jialiang Wang <[email protected]>
commit 02e1a114fdb71e59ee6770294166c30d437bf86a

CVE-2022-20368

6a5dfce:

net/packet: fix slab-out-of-bounds access in packet_recvmsg()

jira VULN-3155
cve CVE-2022-20368
cve CVE-2022-48839
commit-author Eric Dumazet <[email protected]>
commit c700525fcc06b05adfea78039de02628af79e07a

Similar situation as with CVE-2022-1048.

CVE-2022-28390

990cf17:

can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path

jira VULN-3163
cve CVE-2022-28390
commit-author Hangyu Hua <[email protected]>
commit c70222752228a62135cee3409dccefd494a24646

CVE-2022-29581

adc190a:

net/sched: cls_u32: fix netns refcount changes in u32_change()

jira VULN-3166
cve CVE-2022-29581
commit-author Eric Dumazet <[email protected]>
commit 3db09e762dc79584a69c10d74a6b98f89a9979f8

kABI check: passed

DESCR_TARGET=1 DEBUG=1 RELAXED_DEPS=1 CVE=CVE-batch-3 ./ninja.sh -d explain _kabi_checked__x86_64--test--ciqlts8_6-CVE-batch-3

[0/1] 	Check ABI of kernel [ciqlts8_6-CVE-batch-3]	_kabi_checked__x86_64--test--ciqlts8_6-CVE-batch-3
++ uname -m
+ python3 /data/src/ctrliq-github/kernel-dist-git-el-8.6/SOURCES/check-kabi -k /data/src/ctrliq-github/kernel-dist-git-el-8.6/SOURCES/Module.kabi_x86_64 -s vms/x86_64--build--ciqlts8_6/build_files/kernel-src-tree-ciqlts8_6-CVE-batch-3/Module.symvers
kABI check passed
+ touch state/kernels/ciqlts8_6-CVE-batch-3/x86_64/kabi_checked

Boot test: passed

boot-test.log

Kselftests: passed relative

Reference

kselftests–ciqlts8_6–run1.log
kselftests–ciqlts8_6–run2.log

Patch

kselftests–ciqlts8_6-CVE-batch-3–run1.log
kselftests–ciqlts8_6-CVE-batch-3–run2.log

Comparison

The test results for the reference and the patch are the same

$ ktests.xsh diff  kselftests*.log

Column    File
--------  -------------------------------------------
Status0   kselftests--ciqlts8_6--run1.log
Status1   kselftests--ciqlts8_6--run2.log
Status2   kselftests--ciqlts8_6-CVE-batch-3--run1.log
Status3   kselftests--ciqlts8_6-CVE-batch-3--run2.log

TestCase                                     Status0  Status1  Status2  Status3  Summary
android:run.sh                               skip     skip     skip     skip     same
bpf:get_cgroup_id_user                       pass     pass     pass     pass     same
bpf:test_bpftool.sh                          pass     pass     pass     pass     same
bpf:test_bpftool_build.sh                    pass     pass     pass     pass     same
bpf:test_bpftool_metadata.sh                 pass     pass     pass     pass     same
bpf:test_cgroup_storage                      pass     pass     pass     pass     same
bpf:test_dev_cgroup                          pass     pass     pass     pass     same
bpf:test_doc_build.sh                        pass     pass     pass     pass     same
bpf:test_flow_dissector.sh                   pass     pass     pass     pass     same
bpf:test_lirc_mode2.sh                       pass     pass     pass     pass     same
bpf:test_lpm_map                             pass     pass     pass     pass     same
bpf:test_lru_map                             fail     fail     fail     fail     same
bpf:test_lwt_ip_encap.sh                     pass     pass     pass     pass     same
bpf:test_lwt_seg6local.sh                    pass     pass     pass     pass     same
bpf:test_netcnt                              pass     pass     pass     pass     same
bpf:test_offload.py                          pass     pass     pass     pass     same
bpf:test_skb_cgroup_id.sh                    pass     pass     pass     pass     same
bpf:test_sock                                pass     pass     pass     pass     same
bpf:test_sock_addr.sh                        pass     pass     pass     pass     same
bpf:test_sysctl                              pass     pass     pass     pass     same
bpf:test_tag                                 pass     pass     pass     pass     same
bpf:test_tc_edt.sh                           pass     pass     pass     pass     same
bpf:test_tc_tunnel.sh                        pass     pass     pass     pass     same
bpf:test_tcp_check_syncookie.sh              pass     pass     pass     pass     same
bpf:test_tcpnotify_user                      pass     pass     pass     pass     same
bpf:test_tunnel.sh                           pass     pass     pass     pass     same
bpf:test_verifier                            pass     pass     pass     pass     same
bpf:test_verifier_log                        pass     pass     pass     pass     same
bpf:test_xdp_meta.sh                         pass     pass     pass     pass     same
bpf:test_xdp_redirect.sh                     pass     pass     pass     pass     same
bpf:test_xdp_veth.sh                         pass     pass     pass     pass     same
bpf:test_xdp_vlan_mode_generic.sh            pass     pass     pass     pass     same
bpf:test_xdp_vlan_mode_native.sh             pass     pass     pass     pass     same
bpf:test_xdping.sh                           pass     pass     pass     pass     same
bpf:urandom_read                             pass     pass     pass     pass     same
breakpoints:breakpoint_test                  pass     pass     pass     pass     same
capabilities:test_execve                     pass     pass     pass     pass     same
core:close_range_test                        pass     pass     pass     pass     same
cpu-hotplug:cpu-on-off-test.sh               pass     pass     pass     pass     same
cpufreq:main.sh                              fail     fail     fail     fail     same
exec:execveat                                pass     pass     pass     pass     same
firmware:fw_run_tests.sh                     skip     skip     skip     skip     same
fpu:run_test_fpu.sh                          skip     skip     skip     skip     same
fpu:test_fpu                                 pass     pass     pass     pass     same
ftrace:ftracetest                            fail     fail     fail     fail     same
futex:run.sh                                 pass     pass     pass     pass     same
gpio:gpio-mockup.sh                          fail     fail     fail     fail     same
intel_pstate:run.sh                          pass     pass     pass     pass     same
ipc:msgque                                   pass     pass     pass     pass     same
kcmp:kcmp_test                               pass     pass     pass     pass     same
kexec:test_kexec_file_load.sh                skip     skip     skip     skip     same
kexec:test_kexec_load.sh                     skip     skip     skip     skip     same
kvm:access_tracking_perf_test                fail     fail     fail     fail     same
kvm:amx_test                                 fail     fail     fail     fail     same
kvm:cr4_cpuid_sync_test                      fail     fail     fail     fail     same
kvm:debug_regs                               fail     fail     fail     fail     same
kvm:demand_paging_test                       pass     pass     pass     pass     same
kvm:dirty_log_perf_test                      pass     pass     pass     pass     same
kvm:dirty_log_test                           fail     fail     fail     fail     same
kvm:emulator_error_test                      fail     fail     fail     fail     same
kvm:evmcs_test                               fail     fail     fail     fail     same
kvm:get_cpuid_test                           fail     fail     fail     fail     same
kvm:get_msr_index_features                   fail     fail     fail     fail     same
kvm:hardware_disable_test                    pass     pass     pass     pass     same
kvm:hyperv_clock                             fail     fail     fail     fail     same
kvm:hyperv_cpuid                             fail     fail     fail     fail     same
kvm:hyperv_features                          fail     fail     fail     fail     same
kvm:kvm_binary_stats_test                    pass     pass     pass     pass     same
kvm:kvm_create_max_vcpus                     skip     skip     skip     skip     same
kvm:kvm_page_table_test                      pass     pass     pass     pass     same
kvm:kvm_pv_test                              fail     fail     fail     fail     same
kvm:memslot_modification_stress_test         pass     pass     pass     pass     same
kvm:memslot_perf_test                        fail     fail     fail     fail     same
kvm:mmio_warning_test                        fail     fail     fail     fail     same
kvm:mmu_role_test                            fail     fail     fail     fail     same
kvm:platform_info_test                       fail     fail     fail     fail     same
kvm:rseq_test                                fail     fail     fail     fail     same
kvm:set_boot_cpu_id                          fail     fail     fail     fail     same
kvm:set_memory_region_test                   pass     pass     pass     pass     same
kvm:set_sregs_test                           fail     fail     fail     fail     same
kvm:smm_test                                 fail     fail     fail     fail     same
kvm:state_test                               fail     fail     fail     fail     same
kvm:steal_time                               pass     pass     pass     pass     same
kvm:svm_int_ctl_test                         fail     fail     fail     fail     same
kvm:svm_vmcall_test                          fail     fail     fail     fail     same
kvm:sync_regs_test                           fail     fail     fail     fail     same
kvm:tsc_msrs_test                            fail     fail     fail     fail     same
kvm:userspace_msr_exit_test                  fail     fail     fail     fail     same
kvm:vmx_apic_access_test                     fail     fail     fail     fail     same
kvm:vmx_close_while_nested_test              fail     fail     fail     fail     same
kvm:vmx_dirty_log_test                       fail     fail     fail     fail     same
kvm:vmx_nested_tsc_scaling_test              fail     fail     fail     fail     same
kvm:vmx_pmu_msrs_test                        fail     fail     fail     fail     same
kvm:vmx_preemption_timer_test                fail     fail     fail     fail     same
kvm:vmx_set_nested_state_test                fail     fail     fail     fail     same
kvm:vmx_tsc_adjust_test                      fail     fail     fail     fail     same
kvm:xapic_ipi_test                           fail     fail     fail     fail     same
kvm:xen_shinfo_test                          fail     fail     fail     fail     same
kvm:xen_vmcall_test                          fail     fail     fail     fail     same
kvm:xss_msr_test                             fail     fail     fail     fail     same
lib:bitmap.sh                                skip     skip     skip     skip     same
lib:prime_numbers.sh                         skip     skip     skip     skip     same
lib:printf.sh                                skip     skip     skip     skip     same
lib:scanf.sh                                 fail     fail     fail     fail     same
livepatch:test-callbacks.sh                  pass     pass     pass     pass     same
livepatch:test-ftrace.sh                     pass     pass     pass     pass     same
livepatch:test-livepatch.sh                  pass     pass     pass     pass     same
livepatch:test-shadow-vars.sh                pass     pass     pass     pass     same
livepatch:test-state.sh                      pass     pass     pass     pass     same
membarrier:membarrier_test_multi_thread      pass     pass     pass     pass     same
membarrier:membarrier_test_single_thread     pass     pass     pass     pass     same
memfd:memfd_test                             pass     pass     pass     pass     same
memfd:run_fuse_test.sh                       fail     fail     fail     fail     same
memfd:run_hugetlbfs_test.sh                  pass     pass     pass     pass     same
memory-hotplug:mem-on-off-test.sh            pass     pass     pass     pass     same
mount:run_tests.sh                           pass     pass     pass     pass     same
net/forwarding:bridge_port_isolation.sh      pass     pass     pass     pass     same
net/forwarding:bridge_sticky_fdb.sh          pass     pass     pass     pass     same
net/forwarding:bridge_vlan_aware.sh          fail     fail     fail     fail     same
net/forwarding:bridge_vlan_unaware.sh        pass     pass     pass     pass     same
net/forwarding:ethtool.sh                    fail     fail     fail     fail     same
net/forwarding:gre_multipath.sh              fail     fail     fail     fail     same
net/forwarding:ip6_forward_instats_vrf.sh    fail     fail     fail     fail     same
net/forwarding:ipip_flat_gre.sh              pass     pass     pass     pass     same
net/forwarding:ipip_flat_gre_key.sh          pass     pass     pass     pass     same
net/forwarding:ipip_flat_gre_keys.sh         pass     pass     pass     pass     same
net/forwarding:ipip_hier_gre.sh              pass     pass     pass     pass     same
net/forwarding:ipip_hier_gre_key.sh          pass     pass     pass     pass     same
net/forwarding:loopback.sh                   skip     skip     skip     skip     same
net/forwarding:mirror_gre.sh                 fail     fail     fail     fail     same
net/forwarding:mirror_gre_bound.sh           pass     pass     pass     pass     same
net/forwarding:mirror_gre_bridge_1d.sh       pass     pass     pass     pass     same
net/forwarding:mirror_gre_bridge_1q.sh       pass     pass     pass     pass     same
net/forwarding:mirror_gre_bridge_1q_lag.sh   pass     pass     pass     pass     same
net/forwarding:mirror_gre_changes.sh         fail     fail     fail     fail     same
net/forwarding:mirror_gre_flower.sh          fail     fail     fail     fail     same
net/forwarding:mirror_gre_lag_lacp.sh        pass     pass     pass     pass     same
net/forwarding:mirror_gre_neigh.sh           pass     pass     pass     pass     same
net/forwarding:mirror_gre_nh.sh              pass     pass     pass     pass     same
net/forwarding:mirror_gre_vlan.sh            pass     pass     pass     pass     same
net/forwarding:mirror_vlan.sh                pass     pass     pass     pass     same
net/forwarding:router.sh                     fail     fail     fail     fail     same
net/forwarding:router_bridge.sh              pass     pass     pass     pass     same
net/forwarding:router_bridge_vlan.sh         pass     pass     pass     pass     same
net/forwarding:router_broadcast.sh           fail     fail     fail     fail     same
net/forwarding:router_multicast.sh           fail     fail     fail     fail     same
net/forwarding:router_multipath.sh           fail     fail     fail     fail     same
net/forwarding:router_vid_1.sh               pass     pass     pass     pass     same
net/forwarding:tc_chains.sh                  pass     pass     pass     pass     same
net/forwarding:tc_flower.sh                  pass     pass     pass     pass     same
net/forwarding:tc_flower_router.sh           pass     pass     pass     pass     same
net/forwarding:tc_mpls_l2vpn.sh              pass     pass     pass     pass     same
net/forwarding:tc_shblocks.sh                pass     pass     pass     pass     same
net/forwarding:tc_vlan_modify.sh             pass     pass     pass     pass     same
net/forwarding:vxlan_asymmetric.sh           pass     pass     pass     pass     same
net/forwarding:vxlan_bridge_1d.sh            fail     fail     fail     fail     same
net/forwarding:vxlan_bridge_1d_port_8472.sh  pass     pass     pass     pass     same
net/forwarding:vxlan_bridge_1q.sh            fail     fail     fail     fail     same
net/forwarding:vxlan_bridge_1q_port_8472.sh  pass     pass     pass     pass     same
net/forwarding:vxlan_symmetric.sh            pass     pass     pass     pass     same
net/mptcp:diag.sh                            pass     pass     pass     pass     same
net/mptcp:mptcp_connect.sh                   pass     pass     pass     pass     same
net/mptcp:mptcp_sockopt.sh                   pass     pass     pass     pass     same
net/mptcp:pm_netlink.sh                      pass     pass     pass     pass     same
net:bareudp.sh                               pass     pass     pass     pass     same
net:devlink_port_split.py                    pass     pass     pass     pass     same
net:drop_monitor_tests.sh                    skip     skip     skip     skip     same
net:fcnal-test.sh                            pass     pass     pass     pass     same
net:fib-onlink-tests.sh                      pass     pass     pass     pass     same
net:fib_rule_tests.sh                        fail     fail     fail     fail     same
net:fib_tests.sh                             pass     pass     pass     pass     same
net:gre_gso.sh                               pass     pass     pass     pass     same
net:icmp_redirect.sh                         pass     pass     pass     pass     same
net:ip6_gre_headroom.sh                      pass     pass     pass     pass     same
net:ipv6_flowlabel.sh                        pass     pass     pass     pass     same
net:l2tp.sh                                  pass     pass     pass     pass     same
net:msg_zerocopy.sh                          fail     fail     fail     fail     same
net:netdevice.sh                             pass     pass     pass     pass     same
net:pmtu.sh                                  pass     pass     pass     pass     same
net:psock_snd.sh                             fail     fail     fail     fail     same
net:reuseaddr_conflict                       pass     pass     pass     pass     same
net:reuseport_bpf                            pass     pass     pass     pass     same
net:reuseport_bpf_cpu                        pass     pass     pass     pass     same
net:reuseport_bpf_numa                       pass     pass     pass     pass     same
net:reuseport_dualstack                      pass     pass     pass     pass     same
net:rtnetlink.sh                             skip     skip     skip     skip     same
net:run_afpackettests                        pass     pass     pass     pass     same
net:run_netsocktests                         pass     pass     pass     pass     same
net:rxtimestamp.sh                           pass     pass     pass     pass     same
net:so_txtime.sh                             fail     fail     fail     fail     same
net:test_bpf.sh                              pass     pass     pass     pass     same
net:test_vxlan_fdb_changelink.sh             pass     pass     pass     pass     same
net:tls                                      pass     pass     pass     pass     same
net:traceroute.sh                            pass     pass     pass     pass     same
net:udpgro.sh                                fail     fail     fail     fail     same
net:udpgro_bench.sh                          fail     fail     fail     fail     same
net:udpgso.sh                                pass     pass     pass     pass     same
net:veth.sh                                  fail     fail     fail     fail     same
net:vrf-xfrm-tests.sh                        pass     pass     pass     pass     same
netfilter:conntrack_icmp_related.sh          fail     fail     fail     fail     same
netfilter:conntrack_tcp_unreplied.sh         fail     fail     fail     fail     same
netfilter:ipvs.sh                            skip     skip     skip     skip     same
netfilter:nft_flowtable.sh                   fail     fail     fail     fail     same
netfilter:nft_meta.sh                        pass     pass     pass     pass     same
netfilter:nft_nat.sh                         skip     skip     skip     skip     same
netfilter:nft_queue.sh                       skip     skip     skip     skip     same
nsfs:owner                                   pass     pass     pass     pass     same
nsfs:pidns                                   pass     pass     pass     pass     same
proc:fd-001-lookup                           pass     pass     pass     pass     same
proc:fd-002-posix-eq                         pass     pass     pass     pass     same
proc:fd-003-kthread                          pass     pass     pass     pass     same
proc:proc-loadavg-001                        pass     pass     pass     pass     same
proc:proc-self-map-files-001                 pass     pass     pass     pass     same
proc:proc-self-map-files-002                 fail     fail     fail     fail     same
proc:proc-self-syscall                       pass     pass     pass     pass     same
proc:proc-self-wchan                         pass     pass     pass     pass     same
proc:proc-uptime-001                         pass     pass     pass     pass     same
proc:proc-uptime-002                         pass     pass     pass     pass     same
proc:read                                    pass     pass     pass     pass     same
proc:setns-dcache                            fail     fail     fail     fail     same
pstore:pstore_post_reboot_tests              skip     skip     skip     skip     same
pstore:pstore_tests                          fail     fail     fail     fail     same
ptrace:peeksiginfo                           pass     pass     pass     pass     same
ptrace:vmaccess                              fail     fail     fail     fail     same
rseq:basic_percpu_ops_test                   pass     pass     pass     pass     same
rseq:basic_test                              pass     pass     pass     pass     same
rseq:param_test                              pass     pass     pass     pass     same
rseq:param_test_benchmark                    pass     pass     pass     pass     same
rseq:param_test_compare_twice                pass     pass     pass     pass     same
rseq:run_param_test.sh                       fail     fail     fail     fail     same
sgx:test_sgx                                 fail     fail     fail     fail     same
sigaltstack:sas                              pass     pass     pass     pass     same
size:get_size                                pass     pass     pass     pass     same
splice:default_file_splice_read.sh           pass     pass     pass     pass     same
static_keys:test_static_keys.sh              skip     skip     skip     skip     same
tc-testing:tdc.sh                            pass     pass     pass     pass     same
timens:clock_nanosleep                       pass     pass     pass     pass     same
timens:exec                                  pass     pass     pass     pass     same
timens:procfs                                pass     pass     pass     pass     same
timens:timens                                pass     pass     pass     pass     same
timens:timer                                 pass     pass     pass     pass     same
timens:timerfd                               pass     pass     pass     pass     same
timers:inconsistency-check                   fail     fail     fail     fail     same
timers:mqueue-lat                            pass     pass     pass     pass     same
timers:nanosleep                             pass     pass     pass     pass     same
timers:nsleep-lat                            fail     fail     fail     fail     same
timers:posix_timers                          pass     pass     pass     pass     same
timers:rtcpie                                pass     pass     pass     pass     same
timers:set-timer-lat                         fail     fail     fail     fail     same
timers:threadtest                            pass     pass     pass     pass     same
tpm2:test_smoke.sh                           fail     fail     fail     fail     same
tpm2:test_space.sh                           fail     fail     fail     fail     same
vm:run_vmtests                               fail     fail     fail     fail     same
x86:amx_64                                   fail     fail     fail     fail     same
x86:check_initial_reg_state_64               pass     pass     pass     pass     same
x86:corrupt_xstate_header_64                 pass     pass     pass     pass     same
x86:fsgsbase_64                              pass     pass     pass     pass     same
x86:fsgsbase_restore_64                      pass     pass     pass     pass     same
x86:ioperm_64                                pass     pass     pass     pass     same
x86:iopl_64                                  pass     pass     pass     pass     same
x86:mov_ss_trap_64                           pass     pass     pass     pass     same
x86:mpx-mini-test_64                         fail     fail     fail     fail     same
x86:protection_keys_64                       pass     pass     pass     pass     same
x86:sigaltstack_64                           pass     pass     pass     pass     same
x86:sigreturn_64                             pass     pass     pass     pass     same
x86:single_step_syscall_64                   pass     pass     pass     pass     same
x86:syscall_nt_64                            pass     pass     pass     pass     same
x86:sysret_rip_64                            pass     pass     pass     pass     same
x86:sysret_ss_attrs_64                       pass     pass     pass     pass     same
x86:test_mremap_vdso_64                      pass     pass     pass     pass     same
x86:test_vdso_64                             pass     pass     pass     pass     same
x86:test_vsyscall_64                         pass     pass     pass     pass     same
zram:zram.sh                                 pass     pass     pass     pass     same

@PlaidCat
Copy link
Collaborator

CVE-2022-1048

https://github.com/ctrliq/kernel-src-tree/commit/9c92c1c47719e9cd0a1a1b98898b4ca7c055dd23:

ALSA: pcm: Fix races among concurrent hw_params and hw_free calls

jira VULN-3151
cve CVE-2022-1048
cve CVE-2022-49291
commit-author Takashi Iwai <[email protected]>
commit 92ee3c60ec9fe64404dc035e7c41277d74aa26cb

Yes, there are two CVE tags. See https://lore.kernel.org/linux-cve-announce/2025022633-CVE-2022-49291-8c67@gregkh/T/#u. Either we have two issues solved by a single commit or just a single issue and https://github.com/advisories/GHSA-45c3-pwch-8qg9 was created by a mistake in the recent CVE-for-each-bug kernel.org's batch. Looks like the latter, even though RH's CVSSes [7](https://access.redhat.com/security/cve/cve-2022-1048) and [6.4](https://access.redhat.com/security/cve/cve-2022-49291) differ (prob. another mistake). Didn't dig any further.

Could you add this VULN to it too: VULN-50759 this is now just accounting fun.

@pvts-mat
Copy link
Contributor Author

Could you add this VULN to it too: VULN-50759 this is now just accounting fun.

Is there any VULN for CVE-2022-48839? (Similar situation)

@PlaidCat
Copy link
Collaborator

PlaidCat commented Sep 12, 2025

CVE-2022-48839

Yup
VULN-32960

jira VULN-3151
jira VULN-50759
cve CVE-2022-1048
cve CVE-2022-49291
commit-author Takashi Iwai <[email protected]>
commit 92ee3c6

Currently we have neither proper check nor protection against the
concurrent calls of PCM hw_params and hw_free ioctls, which may result
in a UAF.  Since the existing PCM stream lock can't be used for
protecting the whole ioctl operations, we need a new mutex to protect
those racy calls.

This patch introduced a new mutex, runtime->buffer_mutex, and applies
it to both hw_params and hw_free ioctl code paths.  Along with it, the
both functions are slightly modified (the mmap_count check is moved
into the state-check block) for code simplicity.

	Reported-by: Hu Jiahui <[email protected]>
	Cc: <[email protected]>
	Reviewed-by: Jaroslav Kysela <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
	Signed-off-by: Takashi Iwai <[email protected]>
(cherry picked from commit 92ee3c6)
	Signed-off-by: Marcin Wcisło <[email protected]>
jira VULN-3165
cve CVE-2022-2938
commit-author Suren Baghdasaryan <[email protected]>
commit a06247c

With write operation on psi files replacing old trigger with a new one,
the lifetime of its waitqueue is totally arbitrary. Overwriting an
existing trigger causes its waitqueue to be freed and pending poll()
will stumble on trigger->event_wait which was destroyed.
Fix this by disallowing to redefine an existing psi trigger. If a write
operation is used on a file descriptor with an already existing psi
trigger, the operation will fail with EBUSY error.
Also bypass a check for psi_disabled in the psi_trigger_destroy as the
flag can be flipped after the trigger is created, leading to a memory
leak.

Fixes: 0e94682 ("psi: introduce psi monitor")
	Reported-by: [email protected]
	Suggested-by: Linus Torvalds <[email protected]>
Analyzed-by: Eric Biggers <[email protected]>
	Signed-off-by: Suren Baghdasaryan <[email protected]>
	Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
	Reviewed-by: Eric Biggers <[email protected]>
	Acked-by: Johannes Weiner <[email protected]>
	Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
(cherry picked from commit a06247c)
	Signed-off-by: Marcin Wcisło <[email protected]>
jira VULN-3791
cve CVE-2022-3239
commit-author Dongliang Mu <[email protected]>
commit c08eadc

The commit 47677e5("[media] em28xx: Only deallocate struct
em28xx after finishing all extensions") adds kref_get to many init
functions (e.g., em28xx_audio_init). However, kref_init is called too
late in em28xx_usb_probe, since em28xx_init_dev before will invoke
those init functions and call kref_get function. Then refcount bug
occurs in my local syzkaller instance.

Fix it by moving kref_init before em28xx_init_dev. This issue occurs
not only in dev but also dev->dev_next.

Fixes: 47677e5 ("[media] em28xx: Only deallocate struct em28xx after finishing all extensions")
	Reported-by: syzkaller <[email protected]>
	Signed-off-by: Dongliang Mu <[email protected]>
	Signed-off-by: Hans Verkuil <[email protected]>
(cherry picked from commit c08eadc)
	Signed-off-by: Marcin Wcisło <[email protected]>
jira VULN-4119
cve CVE-2022-3545
commit-author Jialiang Wang <[email protected]>
commit 02e1a11

area_cache_get() is used to distribute cache->area and set cache->id,
 and if cache->id is not 0 and cache->area->kref refcount is 0, it will
 release the cache->area by nfp_cpp_area_release(). area_cache_get()
 set cache->id before cpp->op->area_init() and nfp_cpp_area_acquire().

But if area_init() or nfp_cpp_area_acquire() fails, the cache->id is
 is already set but the refcount is not increased as expected. At this
 time, calling the nfp_cpp_area_release() will cause use-after-free.

To avoid the use-after-free, set cache->id after area_init() and
 nfp_cpp_area_acquire() complete successfully.

Note: This vulnerability is triggerable by providing emulated device
 equipped with specified configuration.

 BUG: KASAN: use-after-free in nfp6000_area_init (drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c:760)
  Write of size 4 at addr ffff888005b7f4a0 by task swapper/0/1

 Call Trace:
  <TASK>
 nfp6000_area_init (drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c:760)
 area_cache_get.constprop.8 (drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c:884)

 Allocated by task 1:
 nfp_cpp_area_alloc_with_name (drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c:303)
 nfp_cpp_area_cache_add (drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c:802)
 nfp6000_init (drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c:1230)
 nfp_cpp_from_operations (drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c:1215)
 nfp_pci_probe (drivers/net/ethernet/netronome/nfp/nfp_main.c:744)

 Freed by task 1:
 kfree (mm/slub.c:4562)
 area_cache_get.constprop.8 (drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c:873)
 nfp_cpp_read (drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c:924 drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c:973)
 nfp_cpp_readl (drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cpplib.c:48)

	Signed-off-by: Jialiang Wang <[email protected]>
	Reviewed-by: Yinjun Zhang <[email protected]>
	Acked-by: Simon Horman <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
	Signed-off-by: Jakub Kicinski <[email protected]>
(cherry picked from commit 02e1a11)
	Signed-off-by: Marcin Wcisło <[email protected]>
jira VULN-3155
jira VULN-32960
cve CVE-2022-20368
cve CVE-2022-48839
commit-author Eric Dumazet <[email protected]>
commit c700525

syzbot found that when an AF_PACKET socket is using PACKET_COPY_THRESH
and mmap operations, tpacket_rcv() is queueing skbs with
garbage in skb->cb[], triggering a too big copy [1]

Presumably, users of af_packet using mmap() already gets correct
metadata from the mapped buffer, we can simply make sure
to clear 12 bytes that might be copied to user space later.

BUG: KASAN: stack-out-of-bounds in memcpy include/linux/fortify-string.h:225 [inline]
BUG: KASAN: stack-out-of-bounds in packet_recvmsg+0x56c/0x1150 net/packet/af_packet.c:3489
Write of size 165 at addr ffffc9000385fb78 by task syz-executor233/3631

CPU: 0 PID: 3631 Comm: syz-executor233 Not tainted 5.17.0-rc7-syzkaller-02396-g0b3660695e80 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
 print_address_description.constprop.0.cold+0xf/0x336 mm/kasan/report.c:255
 __kasan_report mm/kasan/report.c:442 [inline]
 kasan_report.cold+0x83/0xdf mm/kasan/report.c:459
 check_region_inline mm/kasan/generic.c:183 [inline]
 kasan_check_range+0x13d/0x180 mm/kasan/generic.c:189
 memcpy+0x39/0x60 mm/kasan/shadow.c:66
 memcpy include/linux/fortify-string.h:225 [inline]
 packet_recvmsg+0x56c/0x1150 net/packet/af_packet.c:3489
 sock_recvmsg_nosec net/socket.c:948 [inline]
 sock_recvmsg net/socket.c:966 [inline]
 sock_recvmsg net/socket.c:962 [inline]
 ____sys_recvmsg+0x2c4/0x600 net/socket.c:2632
 ___sys_recvmsg+0x127/0x200 net/socket.c:2674
 __sys_recvmsg+0xe2/0x1a0 net/socket.c:2704
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7fdfd5954c29
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 41 15 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffcf8e71e48 EFLAGS: 00000246 ORIG_RAX: 000000000000002f
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007fdfd5954c29
RDX: 0000000000000000 RSI: 0000000020000500 RDI: 0000000000000005
RBP: 0000000000000000 R08: 000000000000000d R09: 000000000000000d
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffcf8e71e60
R13: 00000000000f4240 R14: 000000000000c1ff R15: 00007ffcf8e71e54
 </TASK>

addr ffffc9000385fb78 is located in stack of task syz-executor233/3631 at offset 32 in frame:
 ____sys_recvmsg+0x0/0x600 include/linux/uio.h:246

this frame has 1 object:
 [32, 160) 'addr'

Memory state around the buggy address:
 ffffc9000385fa80: 00 04 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 00
 ffffc9000385fb00: 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00
>ffffc9000385fb80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f3
                                                                ^
 ffffc9000385fc00: f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 f1
 ffffc9000385fc80: f1 f1 f1 00 f2 f2 f2 00 f2 f2 f2 00 00 00 00 00
==================================================================

Fixes: 0fb375f ("[AF_PACKET]: Allow for > 8 byte hardware addresses.")
	Signed-off-by: Eric Dumazet <[email protected]>
	Reported-by: syzbot <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
	Signed-off-by: Jakub Kicinski <[email protected]>
(cherry picked from commit c700525)
	Signed-off-by: Marcin Wcisło <[email protected]>
…or path

jira VULN-3163
cve CVE-2022-28390
commit-author Hangyu Hua <[email protected]>
commit c702227

There is no need to call dev_kfree_skb() when usb_submit_urb() fails
beacause can_put_echo_skb() deletes the original skb and
can_free_echo_skb() deletes the cloned skb.

Link: https://lore.kernel.org/all/[email protected]
Fixes: 702171a ("ems_usb: Added support for EMS CPC-USB/ARM7 CAN/USB interface")
	Cc: [email protected]
	Cc: Sebastian Haas <[email protected]>
	Signed-off-by: Hangyu Hua <[email protected]>
	Signed-off-by: Marc Kleine-Budde <[email protected]>
(cherry picked from commit c702227)
	Signed-off-by: Marcin Wcisło <[email protected]>
jira VULN-3166
cve CVE-2022-29581
commit-author Eric Dumazet <[email protected]>
commit 3db09e7

We are now able to detect extra put_net() at the moment
they happen, instead of much later in correct code paths.

u32_init_knode() / tcf_exts_init() populates the ->exts.net
pointer, but as mentioned in tcf_exts_init(),
the refcount on netns has not been elevated yet.

The refcount is taken only once tcf_exts_get_net()
is called.

So the two u32_destroy_key() calls from u32_change()
are attempting to release an invalid reference on the netns.

syzbot report:

refcount_t: decrement hit 0; leaking memory.
WARNING: CPU: 0 PID: 21708 at lib/refcount.c:31 refcount_warn_saturate+0xbf/0x1e0 lib/refcount.c:31
Modules linked in:
CPU: 0 PID: 21708 Comm: syz-executor.5 Not tainted 5.18.0-rc2-next-20220412-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:refcount_warn_saturate+0xbf/0x1e0 lib/refcount.c:31
Code: 1d 14 b6 b2 09 31 ff 89 de e8 6d e9 89 fd 84 db 75 e0 e8 84 e5 89 fd 48 c7 c7 40 aa 26 8a c6 05 f4 b5 b2 09 01 e8 e5 81 2e 05 <0f> 0b eb c4 e8 68 e5 89 fd 0f b6 1d e3 b5 b2 09 31 ff 89 de e8 38
RSP: 0018:ffffc900051af1b0 EFLAGS: 00010286
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000040000 RSI: ffffffff8160a0c8 RDI: fffff52000a35e28
RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff81604a9e R11: 0000000000000000 R12: 1ffff92000a35e3b
R13: 00000000ffffffef R14: ffff8880211a0194 R15: ffff8880577d0a00
FS:  00007f25d183e700(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f19c859c028 CR3: 0000000051009000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __refcount_dec include/linux/refcount.h:344 [inline]
 refcount_dec include/linux/refcount.h:359 [inline]
 ref_tracker_free+0x535/0x6b0 lib/ref_tracker.c:118
 netns_tracker_free include/net/net_namespace.h:327 [inline]
 put_net_track include/net/net_namespace.h:341 [inline]
 tcf_exts_put_net include/net/pkt_cls.h:255 [inline]
 u32_destroy_key.isra.0+0xa7/0x2b0 net/sched/cls_u32.c:394
 u32_change+0xe01/0x3140 net/sched/cls_u32.c:909
 tc_new_tfilter+0x98d/0x2200 net/sched/cls_api.c:2148
 rtnetlink_rcv_msg+0x80d/0xb80 net/core/rtnetlink.c:6016
 netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2495
 netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline]
 netlink_unicast+0x543/0x7f0 net/netlink/af_netlink.c:1345
 netlink_sendmsg+0x904/0xe00 net/netlink/af_netlink.c:1921
 sock_sendmsg_nosec net/socket.c:705 [inline]
 sock_sendmsg+0xcf/0x120 net/socket.c:725
 ____sys_sendmsg+0x6e2/0x800 net/socket.c:2413
 ___sys_sendmsg+0xf3/0x170 net/socket.c:2467
 __sys_sendmsg+0xe5/0x1b0 net/socket.c:2496
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f25d0689049
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f25d183e168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007f25d079c030 RCX: 00007f25d0689049
RDX: 0000000000000000 RSI: 0000000020000340 RDI: 0000000000000005
RBP: 00007f25d06e308d R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffd0b752e3f R14: 00007f25d183e300 R15: 0000000000022000
 </TASK>

Fixes: 35c55fc ("cls_u32: use tcf_exts_get_net() before call_rcu()")
	Signed-off-by: Eric Dumazet <[email protected]>
	Reported-by: syzbot <[email protected]>
	Cc: Cong Wang <[email protected]>
	Cc: Jiri Pirko <[email protected]>
	Acked-by: Jamal Hadi Salim <[email protected]>
	Signed-off-by: Jakub Kicinski <[email protected]>
(cherry picked from commit 3db09e7)
	Signed-off-by: Marcin Wcisło <[email protected]>
@pvts-mat pvts-mat force-pushed the ciqlts8_6-CVE-batch-3 branch from adc190a to e96527c Compare September 12, 2025 18:45
Copy link
Collaborator

@PlaidCat PlaidCat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants