It is indeed extremely conservative and behind the cutting edge on many things. Thus it's incorporated into things that need to 'just work' but don't need any advanced features, like the freepbx version of the main centos distro (a custom distro shipped by the sangoma company which now owns asterisk).

Generally whatever is in it is even older than debian-stable which also take a very conservative and cautious approach to rolling out new packages.

If you need to install a specific new version of a thing there is always elrepo and EPEL, which you can enable as a custom repository. I have one system that has a very recent 5.x series kernel running on a voip server, as a xen guest, because performance is much better with a kernel that's aware of all the most recent inter-kernel xen paravirtualization hooks.

http://elrepo.org/tiki/HomePage

https://fedoraproject.org/wiki/EPEL

example from my notes follows.

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

sudo yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rp...

[myusername@freepbx ~]$ sudo yum --enablerepo=elrepo-kernel install kernel-ml
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
* elrepo: elrepo.org
* elrepo-kernel: elrepo.org
elrepo | 2.9 kB 00:00:00
elrepo-kernel | 2.9 kB 00:00:00
sng-base | 3.6 kB 00:00:00
sng-epel | 2.9 kB 00:00:00
sng-extras | 2.9 kB 00:00:00
sng-pkgs | 3.4 kB 00:00:00
sng-updates | 2.9 kB 00:00:00
(1/3): sng-pkgs/7-8.2003.3.el7.sangoma/x86_64/primary_db | 782 kB 00:00:00
(2/3): elrepo/primary_db | 479 kB 00:00:00
(3/3): elrepo-kernel/primary_db | 1.9 MB 00:00:01
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:5.9.7-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================

Package Arch Version Repository Size

============================================================

Installing:
kernel-ml x86_64 5.9.7-1.el7.elrepo elrepo-kernel 51 M

Transaction Summary

============================================================

Install 1 Package

Total download size: 51 M
Installed size: 233 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-5.9.7-1.el7.elrepo.x86_64.rpm | 51 MB 00:00:03
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : kernel-ml-5.9.7-1.el7.elrepo.x86_64 1/1

Verifying : kernel-ml-5.9.7-1.el7.elrepo.x86_64 1/1

Installed:
kernel-ml.x86_64 0:5.9.7-1.el7.elrepo

Complete!

may need to set the new kernel to boot in /etc/default/grub
https://wiki.centos.org/HowTos/Grub2

[myusername@freepbx ~]$ sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
[sudo] password for myusername:
0 : Sangoma Linux (5.9.7-1.el7.elrepo.x86_64) 7 (Core)
1 : Sangoma Linux (3.10.0-1127.10.1.el7.x86_64) 7 (Core)

grub2-set-default 0

reboot

ssh to the system

[myusername@freepbx ~]$ uname -a
Linux freepbx.sangoma.local 5.9.7-1.el7.elrepo.x86_64 #1 SMP Tue Nov 10 09:56:43 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

confirm that we're using the xen PV on HVM drivers in the kernel for much better performance

[root@freepbx .ssh]# dmesg |grep -i xen
[ 0.000000] DMI: Xen HVM domU, BIOS 4.11.4 10/01/2020
[ 0.000000] Hypervisor detected: Xen HVM
[ 0.000000] Xen version 4.11.
[ 0.000000] Xen Platform PCI: I/O protocol version 1
[ 0.000000] Netfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated NICs.
[ 0.000000] Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks.
[ 0.034434] ACPI: RSDP 0x00000000000F5A30 000024 (v02 Xen )
[ 0.034440] ACPI: XSDT 0x00000000FC00A8D0 000054 (v01 Xen HVM 00000000 HVML 00000000)
[ 0.034448] ACPI: FACP 0x00000000FC00A5F0 0000F4 (v04 Xen HVM 00000000 HVML 00000000)
[ 0.034456] ACPI: DSDT 0x00000000FC0012C0 0092A3 (v02 Xen HVM 00000000 INTL 20181213)
[ 0.034469] ACPI: APIC 0x00000000FC00A6F0 000070 (v02 Xen HVM 00000000 HVML 00000000)
[ 0.034474] ACPI: HPET 0x00000000FC00A7E0 000038 (v01 Xen HVM 00000000 HVML 00000000)
[ 0.034478] ACPI: WAET 0x00000000FC00A820 000028 (v01 Xen HVM 00000000 HVML 00000000)
[ 0.034483] ACPI: SSDT 0x00000000FC00A850 000031 (v02 Xen HVM 00000000 INTL 20181213)
[ 0.034487] ACPI: SSDT 0x00000000FC00A890 000031 (v02 Xen HVM 00000000 INTL 20181213)
[ 0.040587] Booting paravirtualized kernel on Xen HVM
[ 0.040782] xen: PV spinlocks enabled
[ 0.065203] xen:events: Using FIFO-based ABI
[ 0.065210] xen:events: Xen HVM callback vector for event delivery is enabled
[ 0.137093] clocksource: xen: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[ 0.137105] Xen: using vcpuop timer interface
[ 0.137113] installing Xen timer for CPU 0
[ 0.137489] installing Xen timer for CPU 1
[ 0.140515] xenbus: xs_reset_watches failed: -38
[ 0.504443] xen: --> pirq=16 -> irq=9 (gsi=9)
[ 0.560804] xen:balloon: Initialising balloon driver
[ 0.578529] clocksource: Switched to clocksource xen
[ 0.593233] xen: --> pirq=17 -> irq=8 (gsi=8)
[ 0.593278] xen: --> pirq=18 -> irq=12 (gsi=12)
[ 0.593321] xen: --> pirq=19 -> irq=1 (gsi=1)
[ 0.593362] xen: --> pirq=20 -> irq=6 (gsi=6)
[ 0.981024] xen: --> pirq=21 -> irq=24 (gsi=24)
[ 0.981232] xen:grant_table: Grant tables using version 1 layout
[ 1.005806] xenbus_probe_frontend: Device with no driver: device/vbd/51712
[ 1.005806] xenbus_probe_frontend: Device with no driver: device/vkbd/0
[ 1.005807] xenbus_probe_frontend: Device with no driver: device/vif/0
[ 1.022168] systemd[1]: Detected virtualization xen.
[ 1.436682] xen_netfront: Initialising Xen virtual ethernet driver
[ 2.850090] input: Xen Virtual Keyboard as /devices/virtual/input/input6
[ 2.851114] input: Xen Virtual Pointer as /devices/virtual/input/input7