kernel-3.10.0-1160.119.1.0.5.el7.AXS7
エラータID: AXSA:2024-8953:34
以下項目について対処しました。
[Security Fix]
- kernel/exit.c の kernel_wait4() 関数には、指定されていない
アーキテクチャとコンパイラを利用している場合、整数オーバーフロー
の問題があるため、ローカルの攻撃者により、-INT_MIN 値の指定を
介して、サービス拒否攻撃を可能とする脆弱性が存在します。
(CVE-2018-10087)
- net/sched/cls_api.c の tc_new_tfilter() には、解放後利用の
問題があるため、ローカルの攻撃者により、権限昇格を可能とする
脆弱性が存在します。(CVE-2022-1055)
- IGMP プロトコルの igmp.c の ip_check_mc_rcu() には、不適切な
ロックによる解放後利用の問題があるため、ローカルの攻撃者により、
追加の実行権限を必要とせずに inet ソケットを開いたり閉じたり
することで発生させた競合状態を介して、サービス拒否 (システム
クラッシュ) 状態、特権昇格を可能とする脆弱性が存在します。
(CVE-2022-20141)
- networking サブシステムには、境界外アクセスの問題があるため、
CAP_NET_RAW ケーパビリティを持つローカルの攻撃者により、
PACKET_COPY_THRESH オプションを指定した RAW パケットソケット
(AF_PACKET) による mmap オペレーションを介して、バッファオーバー
フローをトリガーにシステムのクラッシュや特権昇格を可能とする
脆弱性が存在します。(CVE-2022-20368)
- Open vSwitch カーネルモジュールには、範囲外メモリ書き込みの
問題があるため、ローカルの攻撃者により、特権昇格を可能とする
脆弱性が存在します。(CVE-2022-2639)
- net/sched/cls_u32.c の u32_change() には、参照カウントの更新
が不適切な問題があるため、ローカルの攻撃者により、特権昇格を可能
とする脆弱性が存在します。(CVE-2022-29581)
- XFRM サブコンポーネントには、レースコンディションの発生に起因
してメモリ領域の範囲外書き込みに至る問題があるため、ローカルの
攻撃者により、xfrm_probe_algs() 関数を複数同時に呼び出すことを
介して、情報漏洩やクラッシュの発生とこれに起因するサービス拒否
攻撃を可能とする脆弱性が存在します。(CVE-2022-3028)
- vmwgfx ドライバの drivers/gpu/vmxgfx/vmxgfx_kms.c の
vmw_kms_cursor_snoop() 関数には、memcpy() 関数に指定するメモリ
領域のサイズのチェック処理が欠落していることに起因したメモリ領域
の範囲外書き込みの問題があるため、ローカルの攻撃者により、
/dev/dri/card0 または /dev/dri/rendererD128 デバイスファイルの
ファイルディスクプリタへ ioctl() システムコールを実行することを
介して、サービス拒否攻撃 (クラッシュの発生) を可能とする脆弱性が
存在します。(CVE-2022-36280)
- net/mac80211/scan.c の cfg80211_update_notlisted_nontrans()
関数には、バッファーオーバーフローの問題があるため、近隣の攻撃者
により、細工された無線 LAN フレームの挿入を介して、情報漏洩や
クラッシュの発生に起因するサービス拒否攻撃を可能とする脆弱性が
存在します。(CVE-2022-41674)
- net/wireless/scan.c の bss_ref_get() 関数には、メモリ領域の
解放後利用の問題があるため、ローカルの攻撃者により、細工された
無線 LAN フレームの挿入を介して、任意のコードの実行やサービス
拒否攻撃を可能とする脆弱性が存在します。(CVE-2022-42720)
- Bluetooth スタックの net/bluetooth/l2cap_core.c の
l2cap_parse_conf_req() 関数には、Bluetooth 通信が可能な近隣の
攻撃者により、情報の漏洩を可能とする脆弱性が存在します。
(CVE-2022-42895)
- ENE UB6250 SD カードリーダードライバの
drivers/usb/storage/ene_ub6250.c には、メモリ領域の範囲外
アクセスの問題があるため、リモートの攻撃者により、サービス拒否
攻撃を可能とする脆弱性が存在します。(CVE-2023-45862)
- Bluetooth サブシステムには、bt_sock_recvmsg() 関数と
bt_sock_ioctl() 関数間のレースコンディションに起因するソケット
バッファー領域の解放後利用の問題があるため、ローカルの攻撃者に
より、任意のコードの実行、およびサービス拒否攻撃を可能とする
脆弱性が存在します。(CVE-2023-51779)
- Netfilter サブシステムには、スタック領域の範囲外書き込みの
問題があるため、ローカルの攻撃者により、任意のコードの実行、
メモリ破壊、およびサービス拒否攻撃を可能とする脆弱性が存在
します。(CVE-2023-52628)
- drivers/hwtracing/stm/core.c には、メモリの二重解放の問題
があるため、ローカルの攻撃者により、巧妙に細工されたデバイスを
介して、サービス妨害を可能とする脆弱性が存在します。
(CVE-2024-38627)
- xfs には、サニティチェックの欠落によるメモリの境界外アクセス
の問題があるため、ローカルの攻撃者により、巧妙に細工された
ファイルシステムを介して、サービス妨害を可能とする脆弱性が存在
します。(CVE-2024-41013)
- net/mac80211/scan.c の ieee80211_prep_hw_scan() 関数には、
配列の範囲外アクセスの問題があるため、ローカルの攻撃者により、
サービス拒否攻撃を可能とする脆弱性が存在します。
(CVE-2024-41071)
- bnx2x ドライバには、多数のデバイスを使用している時に警告を
出す問題があるため、ローカルの攻撃者により、巧妙に細工された
デバイスを介して、サービス妨害を可能とする脆弱性が存在します。
(CVE-2024-42148)
- drivers/isdn/hardware/mISDN/hfcmulti.c の hfcmulti_tx()
関数には、メモリの解放後利用の問題があるため、ローカルの攻撃者
により、巧妙に細工されたデバイスを介して、サービス拒否攻撃を
可能とする脆弱性が存在します。(CVE-2024-42280)
- drivers/parport/procfs.c には、sprintf() 標準ライブラリ関数
が利用されていることに起因したバッファーオーバーフローの問題が
あるため、ローカルの攻撃者により、サービス拒否攻撃を可能とする
脆弱性が存在します。(CVE-2024-42301)
- fs/exec.c の bprm_fill_uid() 関数には、ファイルをオープンした
後にメタデータが変わっても実行時に確認しない問題があるため、
ローカルの攻撃者により、巧妙なファイル操作を介して、権限昇格を
可能とする脆弱性が存在します。(CVE-2024-43882)
- drivers/media/tuners/xc2028.c の load_firmware_cb() 関数には、
モジュールの初期化に失敗した際におけるメモリ領域の解放後利用の
問題があるため、ローカルの攻撃者により、情報の漏洩、データ破壊、
およびサービス拒否攻撃などを可能とする脆弱性が存在します。
(CVE-2024-43900)
- net/ipv4/fou_core.c の gue_gro_receive() 関数には、カプセル化
されたパケットのタイプが不明な場合、もしくは GRO ハンドラーが存在
しない場合、意図しない警告メッセージが出力されてしまう問題がある
ため、ローカルの攻撃者により、サービス拒否攻撃を可能とする脆弱性
が存在します。(CVE-2024-44940)
- net/ipv6/ip6_output.c の ip6_send_skb() 関数には、ロック処理
の欠落に起因したメモリ領域の解放後利用の問題があるため、ローカル
の攻撃者により、情報の漏洩、データ破壊、およびサービス拒否攻撃を
可能とする脆弱性が存在します。(CVE-2024-44987)
- drivers/scsi/aacraid/comminit.c の aac_init_adapter() 関数
には、特定のメモリ領域の初期化処理の欠落に起因した二重解放の問題
があるため、ローカルの攻撃者により、情報の漏洩、データ破壊、
およびサービス拒否攻撃などを可能とする脆弱性が存在します。
(CVE-2024-46673)
- drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c の
amdgpu_atombios_init_mc_reg_table() 関数には、特定のデータ領域
に対する範囲外読み取りの問題があるため、ローカルの攻撃者により、
サービス拒否攻撃を可能とする脆弱性が存在します。(CVE-2024-46722)
- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c の
amdgpu_cgs_get_firmware_info() 関数には、特定のデータ領域に
おける範囲外読み取りの問題があるため、ローカルの攻撃者により、
サービス拒否攻撃を可能とする脆弱性が存在します。(CVE-2024-46723)
- drivers/gpu/drm/amd/amdgpu/df_v1_7.c の
df_v1_7_get_hbm_channel_number() 関数には、配列の範囲外読み取り
の問題があるため、ローカルの攻撃者により、情報の漏洩、および
サービス拒否攻撃を可能とする脆弱性が存在します。(CVE-2024-46724)
- drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c の
atomctrl_retrieve_ac_timing() 関数には、配列の範囲外アクセスの
問題があるため、ローカルの攻撃者により、情報の漏洩、および
サービス拒否攻撃を可能とする脆弱性が存在します。(CVE-2024-46731)
- drivers/misc/vmw_vmci/vmci_resource.c の
vmci_resource_remove() 関数には、同じハンドルを共有し、かつタイプ
が異なるリソースを作成した場合におけるメモリ領域の解放後利用の問題
があるため、ローカルの攻撃者により、サービス拒否攻撃を可能とする
脆弱性が存在します。(CVE-2024-46738)
- fs/squashfs/inode.c の squashfs_read_inode() 関数には、
シンボリックリンクの inode サイズのチェック処理が欠落しているため、
ローカルの攻撃者により、サービス拒否攻撃を可能とする脆弱性が存在
します。(CVE-2024-46744)
- drivers/hwmon/w83627ehf.c の DIV_ROUND_CLOSEST() マクロ関数
には、整数アンダーフローの問題があるため、ローカルの攻撃者により、
非常に大きな負の整数の指定を介して、サービス拒否攻撃を可能とする
脆弱性が存在します。(CVE-2024-46756)
- drivers/hwmon/nct6775.c の store_temp_offset() 関数には、
DIV_ROUND_CLOSEST() マクロ関数の返り値における整数アンダーフロー
の問題があるため、ローカルの攻撃者により、非常に大きな負の整数の
指定を介して、サービス拒否攻撃を可能とする脆弱性が存在します。
(CVE-2024-46757)
- drivers/hwmon/lm95234.c で利用している DIV_ROUND_CLOSEST()
マクロ関数には、整数アンダーフローの問題があるため、ローカルの
攻撃者により、非常に大きな負の整数の指定を介して、サービス拒否
攻撃を可能とする脆弱性が存在します。(CVE-2024-46758)
- net/sched/sch_netem.c の netem_dequeue() 関数には、メモリ領域
の解放後利用の問題があるため、ローカルの攻撃者により、サービス拒否
攻撃を可能とする脆弱性が存在します。(CVE-2024-46800)
- drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c の
dc_get_link_at_index() 関数には、配列の要素数に対するチェック処理
が欠落していることに起因したメモリ領域の範囲外アクセスの問題がある
ため、ローカルの攻撃者により、サービス拒否攻撃を可能とする脆弱性が
存在します。(CVE-2024-46813)
- drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c の
is_pin_busy() 関数には、無効な GPIO ID 値のチェック処理が欠落して
いることに起因したバッファーオーバーランの問題があるため、ローカル
の攻撃者により、情報の漏洩、およびサービス拒否攻撃などを可能とする
脆弱性が存在します。(CVE-2024-46818)
パッケージをアップデートしてください。
An out-of-bounds(OOB) memory access vulnerability was found in vmwgfx driver in drivers/gpu/vmxgfx/vmxgfx_kms.c in GPU component in the Linux kernel with device file '/dev/dri/renderD128 (or Dxxx)'. This flaw allows a local attacker with a user account on the system to gain privilege, causing a denial of service(DoS).
There is an infoleak vulnerability in the Linux kernel's net/bluetooth/l2cap_core.c's l2cap_parse_conf_req function which can be used to leak kernel pointers remotely. We recommend upgrading past commit https://github.com/torvalds/linux/commit/b1a2cd50c0357f243b7435a732b4e62ba3157a2e https://www.google.com/url
In the Linux kernel, the following vulnerability has been resolved: stm class: Fix a double free in stm_register_device() The put_device(&stm->dev) call will trigger stm_device_release() which frees "stm" so the vfree(stm) on the next line is a double free.
An issue was discovered in drivers/usb/storage/ene_ub6250.c for the ENE UB6250 reader driver in the Linux kernel before 6.2.5. An object could potentially extend beyond the end of an allocation.
In the Linux kernel, the following vulnerability has been resolved: dev/parport: fix the array out-of-bounds risk Fixed array out-of-bounds issues caused by sprintf by replacing it with snprintf for safer data copying, ensuring the destination buffer is not overflowed. Below is the stack trace I encountered during the actual issue: [ 66.575408s] [pid:5118,cpu4,QThread,4]Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: do_hardware_base_addr+0xcc/0xd0 [parport] [ 66.575408s] [pid:5118,cpu4,QThread,5]CPU: 4 PID: 5118 Comm: QThread Tainted: G S W O 5.10.97-arm64-desktop #7100.57021.2 [ 66.575439s] [pid:5118,cpu4,QThread,6]TGID: 5087 Comm: EFileApp [ 66.575439s] [pid:5118,cpu4,QThread,7]Hardware name: HUAWEI HUAWEI QingYun PGUX-W515x-B081/SP1PANGUXM, BIOS 1.00.07 04/29/2024 [ 66.575439s] [pid:5118,cpu4,QThread,8]Call trace: [ 66.575469s] [pid:5118,cpu4,QThread,9] dump_backtrace+0x0/0x1c0 [ 66.575469s] [pid:5118,cpu4,QThread,0] show_stack+0x14/0x20 [ 66.575469s] [pid:5118,cpu4,QThread,1] dump_stack+0xd4/0x10c [ 66.575500s] [pid:5118,cpu4,QThread,2] panic+0x1d8/0x3bc [ 66.575500s] [pid:5118,cpu4,QThread,3] __stack_chk_fail+0x2c/0x38 [ 66.575500s] [pid:5118,cpu4,QThread,4] do_hardware_base_addr+0xcc/0xd0 [parport]
In the Linux kernel, the following vulnerability has been resolved: ipv6: prevent UAF in ip6_send_skb() syzbot reported an UAF in ip6_send_skb() [1] After ip6_local_out() has returned, we no longer can safely dereference rt, unless we hold rcu_read_lock(). A similar issue has been fixed in commit a688caa34beb ("ipv6: take rcu lock in rawv6_send_hdrinc()") Another potential issue in ip6_finish_output2() is handled in a separate patch. [1] BUG: KASAN: slab-use-after-free in ip6_send_skb+0x18d/0x230 net/ipv6/ip6_output.c:1964 Read of size 8 at addr ffff88806dde4858 by task syz.1.380/6530 CPU: 1 UID: 0 PID: 6530 Comm: syz.1.380 Not tainted 6.11.0-rc3-syzkaller-00306-gdf6cbc62cc9b #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace:
In the Linux kernel, the following vulnerability has been resolved: bnx2x: Fix multiple UBSAN array-index-out-of-bounds Fix UBSAN warnings that occur when using a system with 32 physical cpu cores or more, or when the user defines a number of Ethernet queues greater than or equal to FP_SB_MAX_E1x using the num_queues module parameter. Currently there is a read/write out of bounds that occurs on the array "struct stats_query_entry query" present inside the "bnx2x_fw_stats_req" struct in "drivers/net/ethernet/broadcom/bnx2x/bnx2x.h". Looking at the definition of the "struct stats_query_entry query" array: struct stats_query_entry query[FP_SB_MAX_E1x+ BNX2X_FIRST_QUEUE_QUERY_IDX]; FP_SB_MAX_E1x is defined as the maximum number of fast path interrupts and has a value of 16, while BNX2X_FIRST_QUEUE_QUERY_IDX has a value of 3 meaning the array has a total size of 19. Since accesses to "struct stats_query_entry query" are offset-ted by BNX2X_FIRST_QUEUE_QUERY_IDX, that means that the total number of Ethernet queues should not exceed FP_SB_MAX_E1x (16). However one of these queues is reserved for FCOE and thus the number of Ethernet queues should be set to [FP_SB_MAX_E1x -1] (15) if FCOE is enabled or [FP_SB_MAX_E1x] (16) if it is not. This is also described in a comment in the source code in drivers/net/ethernet/broadcom/bnx2x/bnx2x.h just above the Macro definition of FP_SB_MAX_E1x. Below is the part of this explanation that it important for this patch /* * The total number of L2 queues, MSIX vectors and HW contexts (CIDs) is * control by the number of fast-path status blocks supported by the * device (HW/FW). Each fast-path status block (FP-SB) aka non-default * status block represents an independent interrupts context that can * serve a regular L2 networking queue. However special L2 queues such * as the FCoE queue do not require a FP-SB and other components like * the CNIC may consume FP-SB reducing the number of possible L2 queues * * If the maximum number of FP-SB available is X then: * a. If CNIC is supported it consumes 1 FP-SB thus the max number of * regular L2 queues is Y=X-1 * b. In MF mode the actual number of L2 queues is Y= (X-1/MF_factor) * c. If the FCoE L2 queue is supported the actual number of L2 queues * is Y+1 * d. The number of irqs (MSIX vectors) is either Y+1 (one extra for * slow-path interrupts) or Y+2 if CNIC is supported (one additional * FP interrupt context for the CNIC). * e. The number of HW context (CID count) is always X or X+1 if FCoE * L2 queue is supported. The cid for the FCoE L2 queue is always X. */ However this driver also supports NICs that use the E2 controller which can handle more queues due to having more FP-SB represented by FP_SB_MAX_E2. Looking at the commits when the E2 support was added, it was originally using the E1x parameters: commit f2e0899f0f27 ("bnx2x: Add 57712 support"). Back then FP_SB_MAX_E2 was set to 16 the same as E1x. However the driver was later updated to take full advantage of the E2 instead of having it be limited to the capabilities of the E1x. But as far as we can tell, the array "stats_query_entry query" was still limited to using the FP-SB available to the E1x cards as part of an oversignt when the driver was updated to take full advantage of the E2, and now with the driver being aware of the greater queue size supported by E2 NICs, it causes the UBSAN warnings seen in the stack traces below. This patch increases the size of the "stats_query_entry query" array by replacing FP_SB_MAX_E1x with FP_SB_MAX_E2 to be large enough to handle both types of NICs. Stack traces: UBSAN: array-index-out-of-bounds in drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c:1529:11 index 20 is out of range for type 'stats_query_entry [19]' CPU: 12 PID: 858 Comm: systemd-network Not tainted 6.9.0-060900rc7-generic #202405052133 Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360 ---truncated---
In the Linux kernel, the following vulnerability has been resolved: fou: remove warn in gue_gro_receive on unsupported protocol Drop the WARN_ON_ONCE inn gue_gro_receive if the encapsulated type is not known or does not have a GRO handler. Such a packet is easily constructed. Syzbot generates them and sets off this warning. Remove the warning as it is expected and not actionable. The warning was previously reduced from WARN_ON to WARN_ON_ONCE in commit 270136613bf7 ("fou: Do WARN_ON_ONCE in gue_gro_receive for bad proto callbacks").
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: Avoid address calculations via out of bounds array indexing req->n_channels must be set before req->channels[] can be used. This patch fixes one of the issues encountered in [1]. [ 83.964255] UBSAN: array-index-out-of-bounds in net/mac80211/scan.c:364:4 [ 83.964258] index 0 is out of range for type 'struct ieee80211_channel *[]' [...] [ 83.964264] Call Trace: [ 83.964267]
In the Linux kernel, the following vulnerability has been resolved: mISDN: Fix a use after free in hfcmulti_tx() Don't dereference *sp after calling dev_kfree_skb(*sp).
In the Linux kernel, the following vulnerability has been resolved: media: xc2028: avoid use-after-free in load_firmware_cb() syzkaller reported use-after-free in load_firmware_cb() [1]. The reason is because the module allocated a struct tuner in tuner_probe(), and then the module initialization failed, the struct tuner was released. A worker which created during module initialization accesses this struct tuner later, it caused use-after-free. The process is as follows: task-6504 worker_thread tuner_probe <= alloc dvb_frontend [2] ... request_firmware_nowait <= create a worker ... tuner_remove <= free dvb_frontend ... request_firmware_work_func <= the firmware is ready load_firmware_cb <= but now the dvb_frontend has been freed To fix the issue, check the dvd_frontend in load_firmware_cb(), if it is null, report a warning and just return. [1]: ================================================================== BUG: KASAN: use-after-free in load_firmware_cb+0x1310/0x17a0 Read of size 8 at addr ffff8000d7ca2308 by task kworker/2:3/6504 Call trace: load_firmware_cb+0x1310/0x17a0 request_firmware_work_func+0x128/0x220 process_one_work+0x770/0x1824 worker_thread+0x488/0xea0 kthread+0x300/0x430 ret_from_fork+0x10/0x20 Allocated by task 6504: kzalloc tuner_probe+0xb0/0x1430 i2c_device_probe+0x92c/0xaf0 really_probe+0x678/0xcd0 driver_probe_device+0x280/0x370 __device_attach_driver+0x220/0x330 bus_for_each_drv+0x134/0x1c0 __device_attach+0x1f4/0x410 device_initial_probe+0x20/0x30 bus_probe_device+0x184/0x200 device_add+0x924/0x12c0 device_register+0x24/0x30 i2c_new_device+0x4e0/0xc44 v4l2_i2c_new_subdev_board+0xbc/0x290 v4l2_i2c_new_subdev+0xc8/0x104 em28xx_v4l2_init+0x1dd0/0x3770 Freed by task 6504: kfree+0x238/0x4e4 tuner_remove+0x144/0x1c0 i2c_device_remove+0xc8/0x290 __device_release_driver+0x314/0x5fc device_release_driver+0x30/0x44 bus_remove_device+0x244/0x490 device_del+0x350/0x900 device_unregister+0x28/0xd0 i2c_unregister_device+0x174/0x1d0 v4l2_device_unregister+0x224/0x380 em28xx_v4l2_init+0x1d90/0x3770 The buggy address belongs to the object at ffff8000d7ca2000 which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 776 bytes inside of 2048-byte region [ffff8000d7ca2000, ffff8000d7ca2800) The buggy address belongs to the page: page:ffff7fe00035f280 count:1 mapcount:0 mapping:ffff8000c001f000 index:0x0 flags: 0x7ff800000000100(slab) raw: 07ff800000000100 ffff7fe00049d880 0000000300000003 ffff8000c001f000 raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8000d7ca2200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8000d7ca2280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8000d7ca2300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8000d7ca2380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8000d7ca2400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== [2] Actually, it is allocated for struct tuner, and dvb_frontend is inside.
In the Linux kernel, the following vulnerability has been resolved: exec: Fix ToCToU between perm check and set-uid/gid usage When opening a file for exec via do_filp_open(), permission checking is done against the file's metadata at that moment, and on success, a file pointer is passed back. Much later in the execve() code path, the file metadata (specifically mode, uid, and gid) is used to determine if/how to set the uid and gid. However, those values may have changed since the permissions check, meaning the execution may gain unintended privileges. For example, if a file could change permissions from executable and not set-id: ---------x 1 root root 16048 Aug 7 13:16 target to set-id and non-executable: ---S------ 1 root root 16048 Aug 7 13:16 target it is possible to gain root privileges when execution should have been disallowed. While this race condition is rare in real-world scenarios, it has been observed (and proven exploitable) when package managers are updating the setuid bits of installed programs. Such files start with being world-executable but then are adjusted to be group-exec with a set-uid bit. For example, "chmod o-x,u+s target" makes "target" executable only by uid "root" and gid "cdrom", while also becoming setuid-root: -rwxr-xr-x 1 root cdrom 16048 Aug 7 13:16 target becomes: -rwsr-xr-- 1 root cdrom 16048 Aug 7 13:16 target But racing the chmod means users without group "cdrom" membership can get the permission to execute "target" just before the chmod, and when the chmod finishes, the exec reaches brpm_fill_uid(), and performs the setuid to root, violating the expressed authorization of "only cdrom group members can setuid to root". Re-check that we still have execute permissions in case the metadata has changed. It would be better to keep a copy from the perm-check time, but until we can do that refactoring, the least-bad option is to do a full inode_permission() call (under inode lock). It is understood that this is safe against dead-locks, but hardly optimal.
In the Linux kernel, the following vulnerability has been resolved: scsi: aacraid: Fix double-free on probe failure aac_probe_one() calls hardware-specific init functions through the aac_driver_ident::init pointer, all of which eventually call down to aac_init_adapter(). If aac_init_adapter() fails after allocating memory for aac_dev::queues, it frees the memory but does not clear that member. After the hardware-specific init function returns an error, aac_probe_one() goes down an error path that frees the memory pointed to by aac_dev::queues, resulting.in a double-free.
In the Linux kernel, the following vulnerability has been resolved: netfilter: nftables: exthdr: fix 4-byte stack OOB write If priv->len is a multiple of 4, then dst[len / 4] can write past the destination array which leads to stack corruption. This construct is necessary to clean the remainder of the register in case ->len is NOT a multiple of the register size, so make it conditional just like nft_payload.c does. The bug was added in 4.1 cycle and then copied/inherited when tcp/sctp and ip option support was added. Bug reported by Zero Day Initiative project (ZDI-CAN-21950, ZDI-CAN-21951, ZDI-CAN-21961).
bt_sock_recvmsg in net/bluetooth/af_bluetooth.c in the Linux kernel through 6.6.8 has a use-after-free because of a bt_sock_ioctl race condition.
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix out-of-bounds read of df_v1_7_channel_number Check the fb_channel_number range to avoid the array out-of-bounds read error
In the Linux kernel, the following vulnerability has been resolved: sch/netem: fix use after free in netem_dequeue If netem_dequeue() enqueues packet to inner qdisc and that qdisc returns __NET_XMIT_STOLEN. The packet is dropped but qdisc_tree_reduce_backlog() is not called to update the parent's q.qlen, leading to the similar use-after-free as Commit e04991a48dbaf382 ("netem: fix return value if duplicate enqueue fails") Commands to trigger KASAN UaF: ip link add type dummy ip link set lo up ip link set dummy0 up tc qdisc add dev lo parent root handle 1: drr tc filter add dev lo parent 1: basic classid 1:1 tc class add dev lo classid 1:1 drr tc qdisc add dev lo parent 1:1 handle 2: netem tc qdisc add dev lo parent 2: handle 3: drr tc filter add dev lo parent 3: basic classid 3:1 action mirred egress redirect dev dummy0 tc class add dev lo classid 3:1 drr ping -c1 -W0.01 localhost # Trigger bug tc class del dev lo classid 1:1 tc class add dev lo classid 1:1 drr ping -c1 -W0.01 localhost # UaF
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix ucode out-of-bounds read warning Clear warning that read ucode[] may out-of-bounds.
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix mc_data out-of-bounds read warning Clear warning that read mc_data[i-1] may out-of-bounds.
In the Linux kernel, the following vulnerability has been resolved: VMCI: Fix use-after-free when removing resource in vmci_resource_remove() When removing a resource from vmci_resource_table in vmci_resource_remove(), the search is performed using the resource handle by comparing context and resource fields. It is possible though to create two resources with different types but same handle (same context and resource fields). When trying to remove one of the resources, vmci_resource_remove() may not remove the intended one, but the object will still be freed as in the case of the datagram type in vmci_datagram_destroy_handle(). vmci_resource_table will still hold a pointer to this freed resource leading to a use-after-free vulnerability. BUG: KASAN: use-after-free in vmci_handle_is_equal include/linux/vmw_vmci_defs.h:142 [inline] BUG: KASAN: use-after-free in vmci_resource_remove+0x3a1/0x410 drivers/misc/vmw_vmci/vmci_resource.c:147 Read of size 4 at addr ffff88801c16d800 by task syz-executor197/1592 Call Trace:
In the Linux kernel, the following vulnerability has been resolved: hwmon: (nct6775-core) Fix underflows seen when writing limit attributes DIV_ROUND_CLOSEST() after kstrtol() results in an underflow if a large negative number such as -9223372036854775808 is provided by the user. Fix it by reordering clamp_val() and DIV_ROUND_CLOSEST() operations.
In the Linux kernel, the following vulnerability has been resolved: hwmon: (w83627ehf) Fix underflows seen when writing limit attributes DIV_ROUND_CLOSEST() after kstrtol() results in an underflow if a large negative number such as -9223372036854775808 is provided by the user. Fix it by reordering clamp_val() and DIV_ROUND_CLOSEST() operations.
In the Linux kernel, the following vulnerability has been resolved: drm/amd/pm: fix the Out-of-bounds read warning using index i - 1U may beyond element index for mc_data[] when i = 0.
In the Linux kernel, the following vulnerability has been resolved: hwmon: (lm95234) Fix underflows seen when writing limit attributes DIV_ROUND_CLOSEST() after kstrtol() results in an underflow if a large negative number such as -9223372036854775808 is provided by the user. Fix it by reordering clamp_val() and DIV_ROUND_CLOSEST() operations.
The kernel_wait4 function in kernel/exit.c in the Linux kernel before 4.13, when an unspecified architecture and compiler is used, might allow local users to cause a denial of service by triggering an attempted use of the -INT_MIN value.
In the Linux kernel, the following vulnerability has been resolved: Squashfs: sanity check symbolic link size Syzkiller reports a "KMSAN: uninit-value in pick_link" bug. This is caused by an uninitialised page, which is ultimately caused by a corrupted symbolic link size read from disk. The reason why the corrupted symlink size causes an uninitialised page is due to the following sequence of events: 1. squashfs_read_inode() is called to read the symbolic link from disk. This assigns the corrupted value 3875536935 to inode->i_size. 2. Later squashfs_symlink_read_folio() is called, which assigns this corrupted value to the length variable, which being a signed int, overflows producing a negative number. 3. The following loop that fills in the page contents checks that the copied bytes is less than length, which being negative means the loop is skipped, producing an uninitialised page. This patch adds a sanity check which checks that the symbolic link size is not larger than expected. -- V2: fix spelling mistake.
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Check link_index before accessing dc->links[] [WHY & HOW] dc->links[] has max size of MAX_LINKS and NULL is return when trying to access with out-of-bound index. This fixes 3 OVERRUN and 1 RESOURCE_LEAK issues reported by Coverity.
Various refcounting bugs in the multi-BSS handling in the mac80211 stack in the Linux kernel 5.1 through 5.19.x before 5.19.16 could be used by local attackers (able to inject WLAN frames) to trigger use-after-free conditions to potentially execute code.
An integer coercion error was found in the openvswitch kernel module. Given a sufficiently large number of actions, while copying and reserving memory for a new action of a new flow, the reserve_sfa_size() function does not return -EMSGSIZE as expected, potentially leading to an out-of-bounds write access. This flaw allows a local user to crash or potentially escalate their privileges on the system.
An issue was discovered in the Linux kernel before 5.19.16. Attackers able to inject WLAN frames could cause a buffer overflow in the ieee80211_bss_info_update function in net/mac80211/scan.c.
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Check gpio_id before used as array index [WHY & HOW] GPIO_ID_UNKNOWN (-1) is not a valid value for array index and therefore should be checked in advance. This fixes 5 OVERRUN issues reported by Coverity.
A race condition was found in the Linux kernel's IP framework for transforming packets (XFRM subsystem) when multiple calls to xfrm_probe_algs occurred simultaneously. This flaw could allow a local attacker to potentially trigger an out-of-bounds write or leak kernel heap memory by performing an out-of-bounds read and copying it into a socket.
A use-after-free exists in the Linux Kernel in tc_new_tfilter that could allow a local attacker to gain privilege escalation. The exploit requires unprivileged user namespaces. We recommend upgrading past commit 04c2a47ffb13c29778e2a14e414ad4cb5a5db4b5
In ip_check_mc_rcu of igmp.c, there is a possible use after free due to improper locking. This could lead to local escalation of privilege when opening and closing inet sockets with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android kernelAndroid ID: A-112551163References: Upstream kernel
Improper Update of Reference Count vulnerability in net/sched of Linux Kernel allows local attacker to cause privilege escalation to root. This issue affects: Linux Kernel versions prior to 5.18; version 4.14 and later versions.
In the Linux kernel, the following vulnerability has been resolved: xfs: don't walk off the end of a directory data block This adds sanity checks for xfs_dir2_data_unused and xfs_dir2_data_entry to make sure don't stray beyond valid memory region. Before patching, the loop simply checks that the start offset of the dup and dep is within the range. So in a crafted image, if last entry is xfs_dir2_data_unused, we can change dup->length to dup->length-1 and leave 1 byte of space. In the next traversal, this space will be considered as dup or dep. We may encounter an out of bound read when accessing the fixed members. In the patch, we make sure that the remaining bytes large enough to hold an unused entry before accessing xfs_dir2_data_unused and xfs_dir2_data_unused is XFS_DIR2_DATA_ALIGN byte aligned. We also make sure that the remaining bytes large enough to hold a dirent with a single-byte name before accessing xfs_dir2_data_entry.
Product: AndroidVersions: Android kernelAndroid ID: A-224546354References: Upstream kernel
N/A
Asianux Server 7 for x86_64
- bpftool-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: 4637d6ca9f3db07342fdeff6397fa250
SHA-256: 11f1163b688eec1a8d744678cfc8cdc9c70e861ff24a55ff0e433b0a53776aef
Size: 8.54 MB - kernel-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: 8ef86e106ad283f09b712e0f42ac0791
SHA-256: ac357d469daa308ddcd742b67d9d82e27206c76f58fbfe51bfc04c115e6afecd
Size: 51.74 MB - kernel-abi-whitelists-3.10.0-1160.119.1.0.5.el7.AXS7.noarch.rpm
MD5: 0a3f0562cdb30bb6a2b69b77592338e8
SHA-256: 80206b4983a508d9541576ab4877522e34077a465a3be0d5aa25acf5a9c2fcfc
Size: 8.11 MB - kernel-debug-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: 7b65abda222752f0b66fb6f0778af7c8
SHA-256: e2f8a302e41377e90d3470b7ea5d3c3c080fb8fd8ae47abc7c0766b726d0c6a1
Size: 54.04 MB - kernel-debug-devel-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: 874348bf6eb34b51b6347b1ea81cf9ef
SHA-256: 89f61b09ecbf659037cee9df0c6b59e87ae24dfbeed9343a306773780c02bae3
Size: 18.14 MB - kernel-devel-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: cb2646617303ad0589a49d54634ce754
SHA-256: 2e3a52fa2858aaf69910a7630cd1e07b5b71b88ef889ff7b4c1b89102f55e637
Size: 18.07 MB - kernel-doc-3.10.0-1160.119.1.0.5.el7.AXS7.noarch.rpm
MD5: a27d4de05f49c2313ac38dffb12c23f5
SHA-256: 15f07f47b247dbf211efa9f98a156d0f3fa7af5f32cd4710ff9943ca7ba4016c
Size: 19.57 MB - kernel-headers-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: b890cd81afffd1eb33c300ff92220cc7
SHA-256: 3401a58a8f6e4e3597b011c5ca321377f05e90551bd750a5686c1639d38f516e
Size: 9.10 MB - kernel-tools-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: 100b01322a87e52c3b07464931de0609
SHA-256: 9f163f90562855a5df212cbed81a6b11d33a068232ba82c57cb7cf4ee8179052
Size: 8.20 MB - kernel-tools-libs-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: 2b7867922103060ae68dc9992062d253
SHA-256: 93c068d4ba09bd47e264af50bf0a640bd24fa3e4c3e7393a9d422d2035ff3580
Size: 8.10 MB - perf-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: 6ad35242cbe07872741ba57bb6a3678b
SHA-256: 056f10b853de93f0bfe2c31c982e2c5913d9b5c3ba73225ced36b1e6a7a7cb45
Size: 9.75 MB - python-perf-3.10.0-1160.119.1.0.5.el7.AXS7.x86_64.rpm
MD5: e2ec41e103803d2a699fbe663aefd922
SHA-256: cb70bfc238662f3535f2a1c406c9244f1f77421784f9d05abf9f7e39583ad6b5
Size: 8.19 MB