In the Linux kernel, the following vulnerability has been resolved:
x86/microcode/AMD: Fix out-of-bounds on systems with CPU-less NUMA nodes
Currently, load_microcode_amd() iterates over all NUMA nodes, retrieves their CPU masks and unconditionally accesses per-CPU data for the first CPU of each mask.
According to Documentation/admin-guide/mm/numaperf.rst:
"Some memory may share the same node as a CPU, and others are provided as memory only nodes."
Therefore, some node CPU masks may be empty and wouldn't have a "first CPU".
On a machine with far memory (and therefore CPU-less NUMA nodes): - cpumask_of_node(nid) is 0 - cpumask_first(0) is CONFIG_NR_CPUS - cpu_data(CONFIG_NR_CPUS) accesses the cpu_info per-CPU array at an index that is 1 out of bounds
This does not have any security implications since flashing microcode is a privileged operation but I believe this has reliability implications by potentially corrupting memory while flashing a microcode update.
When booting with CONFIG_UBSAN_BOUNDS=y on an AMD machine that flashes a microcode update. I get the following splat:
UBSAN: array-index-out-of-bounds in arch/x86/kernel/cpu/microcode/amd.c:X:Y index 512 is out of range for type 'unsigned long[512]' [...] Call Trace: dump_stack __ubsan_handle_out_of_bounds load_microcode_amd request_microcode_amd reload_store kernfs_fop_write_iter vfs_write ksys_write do_syscall_64 entry_SYSCALL_64_after_hwframe
Change the loop to go over only NUMA nodes which have CPUs before determining whether the first CPU on the respective node needs microcode update.
[ bp: Massage commit message, fix typo. ]
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-rt-64k-debug-develUpgrade kernel-rt-coreUpgrade kernel-64k-debug-devel-matchedUpgrade bpftoolUpgrade rvUpgrade kernel-docUpgrade kernel-rt-64k-develUpgrade kernel-64k-modules-coreUpgrade kernel-debugUpgrade kernel-rtUpgrade kernel-uki-virtUpgrade kernel-rt-debug-modules-coreUpgrade kernel-64k-debug-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-64k-debug-modules-coreUpgrade kernel-64k-develUpgrade kernel-rt-64kUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade perfUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-64k-modulesUpgrade kernel-zfcpdumpUpgrade kernel-rt-kvmUpgrade kernel-64k-debug-develUpgrade kernel-modules-extraUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debug-uki-virtUpgrade kernel-rt-develUpgrade kernel-develUpgrade kernel-rt-debugUpgrade kernel-debug-coreUpgrade kernel-rt-modulesUpgrade kernel-64k-modules-extraUpgrade kernel-abi-stablelistsUpgrade kernel-rt-debug-develUpgrade kernel-headersUpgrade kernel-rt-modules-coreUpgrade kernel-zfcpdump-develUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-modulesUpgrade kernel-64k-debug-coreUpgrade kernel-cross-headersUpgrade kernel-64k-coreUpgrade kernel-rt-64k-debug-coreUpgrade kernelUpgrade rtlaUpgrade kernel-debug-modulesUpgrade kernel-tools-libsUpgrade kernel-64k-debug-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-debug-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-debug-develUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-devel-matchedUpgrade kernel-debug-modules-coreUpgrade kernel-rt-64k-debugUpgrade kernel-64kUpgrade kernel-rt-64k-coreUpgrade kernel-coreUpgrade kernel-rt-debug-coreUpgrade kernel-64k-modulesUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-64k-modules-extraUpgrade libperfUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-64k-modules-coreUpgrade kernel-modules-coreUpgrade kernel-zfcpdump-coreUpgrade kernel-tools-libs-develUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-debug | Jul 17, 2025 | Apr 2, 2025 |
| Amazon Linux Ami 2 | — | Upgrade kernel-tools-debuginfoUpgrade kernel-livepatch-5.10.234-225.910Upgrade kernel-debuginfoUpgrade perfUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.10.234-225.921Upgrade kernel-livepatch-5.10.234-225.917Upgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-livepatch-4.14.355-276.639Upgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade python-perf-debuginfoUpgrade python-perfUpgrade kernel-livepatch-5.10.236-227.928Upgrade perf-debuginfoUpgrade kernel-toolsUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade kernel | Apr 30, 2025 | Apr 2, 2025 |
| Amazon_linux | — | Upgrade kernel | May 22, 2025 | Apr 2, 2025 |
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade kernel6.12Upgrade kernel-modules-extra-commonUpgrade kernel-libbpf-debuginfoUpgrade bpftoolUpgrade perf6.12-debuginfoUpgrade perf6.12Upgrade kernel-livepatch-6.12.20-23.97Upgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-debuginfoUpgrade kernel-tools-develUpgrade kernel6.12-modules-extraUpgrade kernel-libbpf-develUpgrade python3-perf6.12Upgrade kernel-libbpf-staticUpgrade kernel-libbpfUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64 | Apr 30, 2025 | Apr 2, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Apr 14, 2025 | Apr 2, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade python3-perf | Jul 1, 2025 | Apr 2, 2025 |
| Oracle_linux | — | Upgrade kernel-uekUpgrade kernel | Jun 30, 2025 | Apr 2, 2025 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Jul 9, 2025 | Apr 2, 2025 |
| Rocky_linux | — | Upgrade kernel-modulesUpgrade kernel-tools-libs-develUpgrade kernel-debuginfoUpgrade kernel-zfcpdump-develUpgrade kernel-zfcpdump-modulesUpgrade rtlaUpgrade kernel-rt-debug-develUpgrade kernel-debug-devel-matchedUpgrade kernel-debuginfo-common-s390xUpgrade python3-perfUpgrade kernel-rt-debug-modules-extraUpgrade kernel-zfcpdump-coreUpgrade kernel-devel-matchedUpgrade kernel-modules-coreUpgrade kernel-zfcpdumpUpgrade kernel-rt-modules-coreUpgrade perf-debuginfoUpgrade kernel-uki-virtUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-rt-debuginfoUpgrade kernel-debug-develUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-headersUpgrade libperfUpgrade perfUpgrade libperf-debuginfoUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-rtUpgrade kernel-develUpgrade python3-perf-debuginfoUpgrade kernel-rt-develUpgrade kernel-modules-extraUpgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-modules-extraUpgrade kernel-debug-modules-coreUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debugUpgrade kernel-tools-libsUpgrade kernel-debug-modulesUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-coreUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-coreUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debug-coreUpgrade kernel-debugUpgrade kernel-cross-headersUpgrade kernelUpgrade kernel-rt-kvmUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-toolsUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-debug-uki-virtUpgrade kernel-debug-modules-extraUpgrade kernel-debug-debuginfoUpgrade bpftoolUpgrade rv | Feb 5, 2026 | Jul 29, 2025 |
| Suse | — | Upgrade gfs2-kmp-azureUpgrade gfs2-kmp-defaultUpgrade dtb-qcomUpgrade dtb-mediatekUpgrade kernel-syms-azureUpgrade kselftests-kmp-azureUpgrade cluster-md-kmp-azureUpgrade kernel-default-develUpgrade kernel-develUpgrade kernel-default-livepatchUpgrade kernel-sourceUpgrade kernel-debugUpgrade kernel-debug-vdsoUpgrade kernel-rt-extraUpgrade kernel-rt_debug-develUpgrade kernel-obs-buildUpgrade reiserfs-kmp-azureUpgrade dtb-lgUpgrade gfs2-kmp-rtUpgrade kernel-kvmsmall-develUpgrade kernel-source-vanillaUpgrade kernel-64kb-develUpgrade kernel-rtUpgrade kernel-64kbUpgrade ocfs2-kmp-64kbUpgrade dtb-amazonUpgrade dtb-freescaleUpgrade kernel-default-base-rebuildUpgrade ocfs2-kmp-azureUpgrade dtb-alteraUpgrade dtb-allwinnerUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-defaultUpgrade kernel-rt-develUpgrade kernel-zfcpdumpUpgrade kernel-azure-optionalUpgrade kernel-64kb-extraUpgrade kernel-devel-rtUpgrade kernel-devel-azureUpgrade dtb-rockchipUpgrade kernel-azureUpgrade kselftests-kmp-64kbUpgrade dtb-exynosUpgrade kernel-default-optionalUpgrade kernel-source-azureUpgrade dtb-caviumUpgrade gfs2-kmp-64kbUpgrade kernel-default-vdsoUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade dtb-xilinxUpgrade reiserfs-kmp-rtUpgrade kernel-rt_debug-vdsoUpgrade dtb-hisiliconUpgrade kernel-rt_debugUpgrade kernel-default-baseUpgrade kernel-docs-htmlUpgrade kernel-debug-develUpgrade kernel-kvmsmallUpgrade kernel-source-rtUpgrade dtb-appleUpgrade kernel-obs-qaUpgrade kernel-default-livepatch-develUpgrade dtb-broadcomUpgrade dlm-kmp-azureUpgrade kernel-default-extraUpgrade kernel-azure-develUpgrade dtb-amlogicUpgrade cluster-md-kmp-64kbUpgrade dtb-nvidiaUpgrade dtb-sprdUpgrade dtb-amdUpgrade kselftests-kmp-rtUpgrade dtb-armUpgrade kernel-symsUpgrade kernel-rt-vdsoUpgrade kernel-syms-rtUpgrade kernel-64kb-optionalUpgrade kernel-rt-optionalUpgrade kernel-rt-livepatch-develUpgrade kernel-defaultUpgrade dtb-marvellUpgrade dtb-socionextUpgrade dtb-apmUpgrade kernel-docsUpgrade kernel-azure-extraUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azure-vdsoUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kselftests-kmp-defaultUpgrade kernel-macrosUpgrade dtb-renesasUpgrade dlm-kmp-default | Dec 5, 2025 | Jul 16, 2025 |
| Ubuntu | — | Upgrade linux-image-5.4.0-1134-kvmUpgrade linux-image-5.15.0-142-generic-64kUpgrade linux-image-lowlatency-64k-6.11Upgrade linux-image-oem-20.04cUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-intelUpgrade linux-image-5.4.0-1065-xilinx-zynqmpUpgrade linux-image-5.15.0-1091-azure-fipsUpgrade linux-image-azure-fipsUpgrade linux-image-azure-cvmUpgrade linux-image-raspi-6.8Upgrade linux-image-virtual-hwe-18.04Upgrade linux-image-azure-nvidia-lts-24.04Upgrade linux-image-gke-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-5.15.0-1085-gcp-fipsUpgrade linux-image-azureUpgrade linux-image-awsUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.4.0-218-genericUpgrade linux-image-oem-22.04dUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-1039-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1081-intel-iotgUpgrade linux-image-gcp-fipsUpgrade linux-image-5.15.0-1086-awsUpgrade linux-image-azure-fde-6.11Upgrade linux-image-oracle-6.8Upgrade linux-image-6.8.0-85-genericUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-5.15.0-142-lowlatency-64kUpgrade linux-image-6.8.0-1039-nvidia-64kUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-1091-azureUpgrade linux-image-6.11.0-1016-gcpUpgrade linux-image-6.11.0-1017-oracleUpgrade linux-image-6.11.0-1014-raspiUpgrade linux-image-6.8.0-1036-gke-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-5.4.0-1051-iotUpgrade linux-image-5.4.0-1153-azure-fipsUpgrade linux-image-6.8.0-84-lowlatencyUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-oem-osp1Upgrade linux-image-aws-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.11.0-1024-oemUpgrade linux-image-raspiUpgrade linux-image-5.15.0-1028-nvidia-tegra-igxUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-intel-iotgUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-azure-fdeUpgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-1039-nvidia-tegra-rtUpgrade linux-image-5.15.0-1086-realtimeUpgrade linux-image-aws-lts-20.04Upgrade linux-image-6.11.0-1016-gcp-64kUpgrade linux-image-6.8.0-1039-nvidiaUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.4.0-1121-fipsUpgrade linux-image-6.11.0-28-generic-64kUpgrade linux-image-generic-64k-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-kvmUpgrade linux-image-realtimeUpgrade linux-image-gke-6.8Upgrade linux-image-6.11.0-1018-azure-fdeUpgrade linux-image-5.15.0-1086-aws-fipsUpgrade linux-image-generic-6.8Upgrade linux-image-5.15.0-142-genericUpgrade linux-image-6.8.0-1037-oracle-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-gke-64k-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-5.4.0-1147-aws-fipsUpgrade linux-image-oem-22.04bUpgrade linux-image-aws-lts-24.04Upgrade linux-image-aws-64kUpgrade linux-image-5.4.0-1106-bluefieldUpgrade linux-image-5.4.0-1130-raspiUpgrade linux-image-azure-fde-6.8Upgrade linux-image-raspi-realtimeUpgrade linux-image-gkeop-5.15Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.0-1040-gcp-64kUpgrade linux-image-6.8.0-1039-aws-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-1036-azure-fdeUpgrade linux-image-5.4.0-1093-ibmUpgrade linux-image-6.8.0-85-generic-64kUpgrade linux-image-gcpUpgrade linux-image-6.11.0-1015-lowlatency-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-azure-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-lowlatency-6.11Upgrade linux-image-5.4.0-218-generic-lpaeUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1039-nvidia-tegraUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1050-xilinx-zynqmpUpgrade linux-image-5.15.0-1083-oracleUpgrade linux-image-6.8.1-1034-realtimeUpgrade linux-image-6.8.0-1039-awsUpgrade linux-image-6.8.0-1038-azure-fdeUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1038-azureUpgrade linux-image-azure-fde-edgeUpgrade linux-image-aws-lts-22.04Upgrade linux-image-6.8.0-1023-gkeopUpgrade linux-image-6.11.0-1015-lowlatencyUpgrade linux-image-5.4.0-1152-azureUpgrade linux-image-5.4.0-1150-gcpUpgrade linux-image-5.15.0-1085-gcpUpgrade linux-image-nvidia-tegraUpgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-1080-nvidia-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-5.15.0-1083-gkeUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.4.0-1145-oracleUpgrade linux-image-5.15.0-142-lowlatencyUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-5.15.0-142-fipsUpgrade linux-image-5.15.0-1080-raspiUpgrade linux-image-ibm-classicUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-genericUpgrade linux-image-azure-nvidiaUpgrade linux-image-fipsUpgrade linux-image-5.15.0-142-generic-lpaeUpgrade linux-image-5.15.0-1028-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-1036-gkeUpgrade linux-image-5.15.0-1082-kvmUpgrade linux-image-6.11.0-1017-oracle-64kUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-1011-realtimeUpgrade linux-image-azure-lts-24.04Upgrade linux-image-5.4.0-1147-awsUpgrade linux-image-azure-nvidia-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oemUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gke-5.15Upgrade linux-image-gkeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oracleUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-84-lowlatency-64kUpgrade linux-image-6.8.0-1039-raspiUpgrade linux-image-6.8.0-1036-azureUpgrade linux-image-ibm-6.8Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-6.8.0-2031-raspi-realtimeUpgrade linux-image-5.4.0-1150-gcp-fipsUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oracle-lts-20.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-raspi-nolpaeUpgrade linux-image-azure-lts-20.04Upgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1068-gkeopUpgrade linux-image-gkeopUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-6.8.0-84-generic-64kUpgrade linux-image-nvidiaUpgrade linux-image-5.15.0-1083-intel-iotgUpgrade linux-image-6.11.0-28-genericUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-ibmUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-6.8.0-84-genericUpgrade linux-image-5.15.0-1079-intel-iot-realtimeUpgrade linux-image-5.15.0-1080-nvidiaUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-6.8.0-1040-gcpUpgrade linux-image-6.8.0-1039-nvidia-lowlatencyUpgrade linux-image-6.8.0-1037-oracleUpgrade linux-image-6.8.0-1025-azure-nvidiaUpgrade linux-image-6.11.0-1018-azureUpgrade linux-image-5.15.0-1086-aws-64kUpgrade linux-image-5.4.0-218-lowlatencyUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-oem-22.04Upgrade linux-image-oem-20.04bUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1037-ibmUpgrade linux-image-6.11.0-1015-awsUpgrade linux-image-5.15.0-1078-ibmUpgrade linux-image-raspi2Upgrade linux-image-azure-6.11Upgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gcp-64k-lts-24.04 | Jun 20, 2025 | Apr 2, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 22, 2025 | Apr 2, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub