kernel-5.14.0-687.23.1.el9_8
エラータID: AXSA:2026-1569:64
The kernel packages contain the Linux kernel, the core of any Linux operating
system.
Security Fix(es):
* kernel: eventpoll: defer struct eventpoll free to RCU grace period
(CVE-2026-43074)
* kernel: eventpoll: fix ep_remove struct eventpoll / struct file UAF
(CVE-2026-46242)
* kernel: Linux kernel: netfilter: ebtables SNAT target writes to shared memory pages during ARP hardware address rewrite (CVE-2026-53266)
Bug Fix(es) and Enhancement(s):
* kernel: Linux kernel: netfilter: ebtables SNAT target writes to shared memory pages during ARP hardware address rewrite [rhel-9.8.z] (JIRA:RHEL-182344)
* [RHEL 9] Bonding reports unknown speed/duplex for tg3 interface [rhel-9.8.z] (JIRA:RHEL-182768)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
CVE-2026-43074
In the Linux kernel, the following vulnerability has been resolved: eventpoll: defer struct eventpoll free to RCU grace period In certain situations, ep_free() in eventpoll.c will kfree the epi->ep eventpoll struct while it still being used by another concurrent thread. Defer the kfree() to an RCU callback to prevent UAF.
CVE-2026-46242
In the Linux kernel, the following vulnerability has been resolved: eventpoll: fix ep_remove struct eventpoll / struct file UAF ep_remove() (via ep_remove_file()) cleared file->f_ep under file->f_lock but then kept using @file inside the critical section (is_file_epoll(), hlist_del_rcu() through the head, spin_unlock). A concurrent __fput() taking the eventpoll_release() fastpath in that window observed the transient NULL, skipped eventpoll_release_file() and ran to f_op->release / file_free(). For the epoll-watches-epoll case, f_op->release is ep_eventpoll_release() -> ep_clear_and_put() -> ep_free(), which kfree()s the watched struct eventpoll. Its embedded ->refs hlist_head is exactly where epi->fllink.pprev points, so the subsequent hlist_del_rcu()'s "*pprev = next" scribbles into freed kmalloc-192 memory. In addition, struct file is SLAB_TYPESAFE_BY_RCU, so the slot backing @file could be recycled by alloc_empty_file() -- reinitializing f_lock and f_ep -- while ep_remove() is still nominally inside that lock. The upshot is an attacker-controllable kmem_cache_free() against the wrong slab cache. Pin @file via epi_fget() at the top of ep_remove() and gate the critical section on the pin succeeding. With the pin held @file cannot reach refcount zero, which holds __fput() off and transitively keeps the watched struct eventpoll alive across the hlist_del_rcu() and the f_lock use, closing both UAFs. If the pin fails @file has already reached refcount zero and its __fput() is in flight. Because we bailed before clearing f_ep, that path takes the eventpoll_release() slow path into eventpoll_release_file() and blocks on ep->mtx until the waiter side's ep_clear_and_put() drops it. The bailed epi's share of ep->refcount stays intact, so the trailing ep_refcount_dec_and_test() in ep_clear_and_put() cannot free the eventpoll out from under eventpoll_release_file(); the orphaned epi is then cleaned up there. A successful pin also proves we are not racing eventpoll_release_file() on this epi, so drop the now-redundant re-check of epi->dying under f_lock. The cheap lockless READ_ONCE(epi->dying) fast-path bailout stays.
CVE-2026-53266
In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: make ebt_snat ARP rewrite writable The ebtables SNAT target keeps the Ethernet source address rewrite behind skb_ensure_writable(skb, 0). This is intentional: at the bridge ebtables hooks the Ethernet header is addressed through skb_mac_header()/eth_hdr(), while skb->data points at the Ethernet payload. Asking skb_ensure_writable() for ETH_HLEN bytes would check the payload, not the Ethernet header, and would reintroduce the small packet regression fixed by commit 63137bc5882a. However, the optional ARP sender hardware address rewrite is different. It writes through skb_store_bits() at an offset relative to skb->data: skb_store_bits(skb, sizeof(struct arphdr), info->mac, ETH_ALEN) skb_header_pointer() only safely reads the ARP header; it does not make the later sender hardware address range writable. If that range is still held in a nonlinear skb fragment backed by a splice-imported file page, skb_store_bits() maps the frag page and copies the new MAC address directly into it. Ensure the ARP SHA range is writable before reading the ARP header and before calling skb_store_bits().
Update packages.
In the Linux kernel, the following vulnerability has been resolved: eventpoll: defer struct eventpoll free to RCU grace period In certain situations, ep_free() in eventpoll.c will kfree the epi->ep eventpoll struct while it still being used by another concurrent thread. Defer the kfree() to an RCU callback to prevent UAF.
In the Linux kernel, the following vulnerability has been resolved: eventpoll: fix ep_remove struct eventpoll / struct file UAF ep_remove() (via ep_remove_file()) cleared file->f_ep under file->f_lock but then kept using @file inside the critical section (is_file_epoll(), hlist_del_rcu() through the head, spin_unlock). A concurrent __fput() taking the eventpoll_release() fastpath in that window observed the transient NULL, skipped eventpoll_release_file() and ran to f_op->release / file_free(). For the epoll-watches-epoll case, f_op->release is ep_eventpoll_release() -> ep_clear_and_put() -> ep_free(), which kfree()s the watched struct eventpoll. Its embedded ->refs hlist_head is exactly where epi->fllink.pprev points, so the subsequent hlist_del_rcu()'s "*pprev = next" scribbles into freed kmalloc-192 memory. In addition, struct file is SLAB_TYPESAFE_BY_RCU, so the slot backing @file could be recycled by alloc_empty_file() -- reinitializing f_lock and f_ep -- while ep_remove() is still nominally inside that lock. The upshot is an attacker-controllable kmem_cache_free() against the wrong slab cache. Pin @file via epi_fget() at the top of ep_remove() and gate the critical section on the pin succeeding. With the pin held @file cannot reach refcount zero, which holds __fput() off and transitively keeps the watched struct eventpoll alive across the hlist_del_rcu() and the f_lock use, closing both UAFs. If the pin fails @file has already reached refcount zero and its __fput() is in flight. Because we bailed before clearing f_ep, that path takes the eventpoll_release() slow path into eventpoll_release_file() and blocks on ep->mtx until the waiter side's ep_clear_and_put() drops it. The bailed epi's share of ep->refcount stays intact, so the trailing ep_refcount_dec_and_test() in ep_clear_and_put() cannot free the eventpoll out from under eventpoll_release_file(); the orphaned epi is then cleaned up there. A successful pin also proves we are not racing eventpoll_release_file() on this epi, so drop the now-redundant re-check of epi->dying under f_lock. The cheap lockless READ_ONCE(epi->dying) fast-path bailout stays.
In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: make ebt_snat ARP rewrite writable The ebtables SNAT target keeps the Ethernet source address rewrite behind skb_ensure_writable(skb, 0). This is intentional: at the bridge ebtables hooks the Ethernet header is addressed through skb_mac_header()/eth_hdr(), while skb->data points at the Ethernet payload. Asking skb_ensure_writable() for ETH_HLEN bytes would check the payload, not the Ethernet header, and would reintroduce the small packet regression fixed by commit 63137bc5882a. However, the optional ARP sender hardware address rewrite is different. It writes through skb_store_bits() at an offset relative to skb->data: skb_store_bits(skb, sizeof(struct arphdr), info->mac, ETH_ALEN) skb_header_pointer() only safely reads the ARP header; it does not make the later sender hardware address range writable. If that range is still held in a nonlinear skb fragment backed by a splice-imported file page, skb_store_bits() maps the frag page and copies the new MAC address directly into it. Ensure the ARP SHA range is writable before reading the ARP header and before calling skb_store_bits().
N/A
SRPMS
- kernel-5.14.0-687.23.1.el9_8.src.rpm
MD5: 88b8a444501f7925a131267ba4f87710
SHA-256: 30449be63bd8e3d17b1609e5cd6ddc27cb8229443337edc257c071ae60e29160
Size: 145.46 MB
Asianux Server 9 for x86_64
- kernel-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 72458741057b15a08e435f11d2186c7a
SHA-256: 134613bfc303ee3c8ebda447dbffe25385ff41a7103749320f449ce38e3406b8
Size: 10.31 kB - kernel-abi-stablelists-5.14.0-687.23.1.el9_8.noarch.rpm
MD5: 8d8e1dbbdfe0d8a22543f10fe2408240
SHA-256: 83641290b712d4e31411765076ffe5dce291467208f135e883618c205250890a
Size: 45.61 kB - kernel-core-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: bc9c03b319a4322c8ba91814e75981b2
SHA-256: 3d87a2009eb43190fb6265f794354bf6a44be305dac3c791098b9dbc07886f8d
Size: 16.33 MB - kernel-cross-headers-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 2b92063a52ddd0232da8aa9ffdbdf6a1
SHA-256: ac6d3170cc5f0ddc933a6173c37b780bdb43df266cd70bf6a1a74e1f7b2dc156
Size: 7.07 MB - kernel-debug-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 91456c640be00e508be5bc173c7b04f5
SHA-256: 38a4eb6e9d5730e688e19e3f2010c3715a2014257298f55dc8fc65d62672090f
Size: 10.40 kB - kernel-debug-core-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 89570dc9c0d4a87b7a7120c762d7f8f2
SHA-256: 5cabe6f373d8e82fedc70fcaa737d89db842855c5e3b82de8a52e1faf861af90
Size: 30.19 MB - kernel-debug-devel-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 2a947953b56e821a76b0360ade5a1626
SHA-256: f276d937e626064f95b80285a1b4c206760115a07b550b8f83c7f95e4ca3954d
Size: 20.43 MB - kernel-debug-devel-matched-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 36e5233071e2363df12538ea7c1e53ca
SHA-256: a38b126b8c755d94767aff794650317c4eaaa2d3cd634d7012823d031195608a
Size: 10.38 kB - kernel-debug-modules-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 3fc8b97435f4588ccdb3bbc05979ef63
SHA-256: 233a79f8b65477f1597f8f13e88d69a2117adec89d4b306fc9c9931182326f61
Size: 69.18 MB - kernel-debug-modules-core-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 163b03f6f8c1b993a4126a9bb603d1ca
SHA-256: 4c389b23bee746c00700fbb39f2cd16268a622a8a56ebf7af4b7d77f2610b4c1
Size: 48.90 MB - kernel-debug-modules-extra-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 1db5977954e473079a35bc8ed9bcf4b2
SHA-256: 5149d6b29ec86addcb0a2569b55a71196d784c6ef55b19219959d8368e3e4d74
Size: 831.48 kB - kernel-debug-uki-virt-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: e324e5cd49c368b3f051961d442e52f4
SHA-256: f3bd8db9177faaa187cd3182f3631552ee057cd47f03523bec031d9a2c6d87c0
Size: 87.17 MB - kernel-devel-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 9bb60d087b64af202d0364bfc7c26a62
SHA-256: 5cbc550e200fbd15db92032ff275724337f97da506d20660a0d02da940e3c2b3
Size: 20.23 MB - kernel-devel-matched-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 55f94afad9f449f9b6950579cf71f50f
SHA-256: efc72921b6fcac3cb2b3f82abceeefb15d66205027107737c3fcb60aa35fd0a1
Size: 10.35 kB - kernel-doc-5.14.0-687.23.1.el9_8.noarch.rpm
MD5: 224637dd983e94ad7f0d6cf8ec15ff78
SHA-256: b764cb209463e1d9b280fd167da27b637b92f8119bcde515fd6dfa29efc87bd0
Size: 38.00 MB - kernel-headers-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 6452f71a28c19063023b11b18e7d11b2
SHA-256: 5c58709656debb3f1a6e249aae60045a0b2910465cacc76ce38216eb793b1793
Size: 1.80 MB - kernel-modules-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: bbdf9dd4cdc5e58d9ab1e2dce5af656c
SHA-256: d28db2c70f4a42fe49b7f8ce4276366220855ae057688443353588cc153aef0f
Size: 39.00 MB - kernel-modules-core-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: ec6061d9bc28568ab4bb24d3bee9406f
SHA-256: 4502e355bdfaf7fc84818477e10b5030501e2ddbf44122e46dd6fa4508299740
Size: 30.07 MB - kernel-modules-extra-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: ddd02ab57f8473e0af7a904b7e910c13
SHA-256: 145586a81fe38f75311fa1340c182c00e031e3360b49483b62187fe40824f61f
Size: 458.61 kB - kernel-rt-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 7fa5fb57484ece4e645fef3881f1575c
SHA-256: 5d15297caa681188e85ca43e05b1264281000b67dffceea9933dd164cf0282b2
Size: 10.38 kB - kernel-rt-core-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: b380541311bb83da8e599c67b19e8d38
SHA-256: d1da174b778b185e668819079a056e71c183d681833171c6119ee6d2333ffa7b
Size: 16.23 MB - kernel-rt-debug-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 8e8901dce64feded70169e8e2d99091b
SHA-256: 9d01bbd9829364c5cdf31fd4749baf8933467c7b3362d3c6ca2dd2b56c1ceade
Size: 10.45 kB - kernel-rt-debug-core-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: d7b6084cfd482dfaa5d50c20bf864278
SHA-256: 15ed893b9741d6011885c4f21d4042821416adfaa532bbcd52e533f38ef0f009
Size: 17.69 MB - kernel-rt-debug-devel-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: aaf3d54af8181d52090e1eb95d160976
SHA-256: ba13a8de028936ff439a1f15d35fa5692ade4c54db4a528749b7a329726d1839
Size: 20.37 MB - kernel-rt-debug-modules-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 5741f3ea3abd06c84e7ae591baecfbd0
SHA-256: 869c6ef6695512965a237ecd0ea333457db0df33689f81b2594175cdd3b64bda
Size: 40.59 MB - kernel-rt-debug-modules-core-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 3984ec29dc5c3280c9cd2442a471b48a
SHA-256: 6c4fd6cad2e5fa19c21f70251ede0883a51b1c2906323c14954eec3fd5f57f08
Size: 31.25 MB - kernel-rt-debug-modules-extra-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: e37224d13d53ee9ba985769f52b4db33
SHA-256: c0f3c9557fe2dc9e5ccfb283b8afbb126efe37a907861b3a9ff590d393fde81b
Size: 487.57 kB - kernel-rt-devel-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: dbcfaad4e592e06003c335e81f469feb
SHA-256: cb4f2630e66ae981c68d2b39224d4d8a119ed116cebdab0c6c90a7a2ce37b5dc
Size: 20.22 MB - kernel-rt-modules-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: dbcd7caedecf0c11b887ba59bfd75f48
SHA-256: e02d897525fd719778529909b2c5804ee49a821aeae18c924604d5b570105678
Size: 39.04 MB - kernel-rt-modules-core-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 3e60a9f4551e585df4b9865427788176
SHA-256: d630d578af571ab14b7da9788f5fb9d349f4fe65f824738ba036fb1161497844
Size: 30.14 MB - kernel-rt-modules-extra-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 85fec7f840dfdf31adad370db3ddff25
SHA-256: 3fca0d4fe6f37edb88af438cb3711a39a15c05a14353d9bb5d6a5e750a933591
Size: 460.92 kB - kernel-tools-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 693447a69d60c299c99027f08f866031
SHA-256: c6fe3e2f93ffc282934208ce4b3d70eba5ba2b46311d583007823a31bbff88cb
Size: 306.36 kB - kernel-tools-libs-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: b04b8e0ce729fda78e175c0a05ba9a4f
SHA-256: 2d53da15c0f82f24a2a0ca8a195a7b96960b95e33c15e20f612431663c66d34a
Size: 23.09 kB - kernel-tools-libs-devel-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 8647fffc0fd3bb0c9142c369d5e98113
SHA-256: eba1ad01ded2eeabd6706631d038c0697472ce89cc85b3642088e73d45147a5d
Size: 12.86 kB - kernel-uki-virt-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: c10d8c08acf9951f4d761c1c7e6ac828
SHA-256: d844ffb8b7b0c34478ccbe5bacd718a23aa7f31328d585ae4f6c0b76e027bf43
Size: 65.05 MB - kernel-uki-virt-addons-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: bee410af5c3534acdf51c0d166b8b45b
SHA-256: fac800de81e4e7c8e8f23463ae2c7bcb38e63ef62e3c7925eb258d194205eec0
Size: 33.00 kB - libperf-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: ad2c070a8afbf713fa048cfcd455c8c2
SHA-256: 3b0b7c7de7b481fae8558a10804b6d60efe3c15ec79cfcf86ae290e1a4cac89f
Size: 31.40 kB - perf-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 3d7303c87261d3c09e4c47cf5bd47bd5
SHA-256: 0668062c96c2ca91442f4ed6c504202476b000f225200a28845fb4a050a76e41
Size: 2.42 MB - python3-perf-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 4dd088a0822cccc95012aff8d3d5f701
SHA-256: b08bf0c84c452ed8a1086312017eaee1289936377ebca52370e36eaf4d3fb039
Size: 1.60 MB - rtla-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: eec8202b3201e89c80640269a7d127aa
SHA-256: 6c7182d74eccfb9a9774ddc46c15e1360205b517fbc19180b88e988c98c1214e
Size: 82.09 kB - rv-5.14.0-687.23.1.el9_8.x86_64.rpm
MD5: 786996c3f1f26724616f80086d45425e
SHA-256: 44d293fc0b8ca8338903bf64df64ca0106ffae947f57f8f0600a55b2dcfa7cec
Size: 26.62 kB