In the Linux kernel, the following vulnerability has been resolved:
wireguard: allowedips: avoid unaligned 64-bit memory accesses
On the parisc platform, the kernel issues kernel warnings because swap_endian() tries to load a 128-bit IPv6 address from an unaligned memory location:
Kernel: unaligned access to 0x55f4688c in wgallowedipsinsertv6+0x2c/0x80 [wireguard] (iir 0xf3010df) Kernel: unaligned access to 0x55f46884 in wgallowedipsinsertv6+0x38/0x80 [wireguard] (iir 0xf2010dc)
Avoid such unaligned memory accesses by instead using the getunalignedbe64() helper macro.
[Jason: replace src[8] in original patch with src+8]
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@217978a29c6ceca76d3c640bf94bdf50c268d801",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "swap_endian",
"file": "drivers/net/wireguard/allowedips.c"
},
"id": "CVE-2024-42247-3fef4314",
"digest": {
"length": 352.0,
"function_hash": "267528163898554823245095017980362591005"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2fb34bf76431e831f9863cd59adc0bd1f67b0fbf",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/net/wireguard/allowedips.c"
},
"id": "CVE-2024-42247-45fb4239",
"digest": {
"threshold": 0.9,
"line_hashes": [
"335075476271877830433684055629562118030",
"127893750366816923708384930856847121176",
"47829420036149711706914200492450094592",
"83809114075719546702561641670691743866",
"281525009875142431436059481725453032632"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae630de24efb123d7199a43256396d7758f4cb75",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "swap_endian",
"file": "drivers/net/wireguard/allowedips.c"
},
"id": "CVE-2024-42247-4e9b06a2",
"digest": {
"length": 352.0,
"function_hash": "267528163898554823245095017980362591005"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@948f991c62a4018fb81d85804eeab3029c6209f8",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/net/wireguard/allowedips.c"
},
"id": "CVE-2024-42247-53444b4d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"335075476271877830433684055629562118030",
"127893750366816923708384930856847121176",
"47829420036149711706914200492450094592",
"83809114075719546702561641670691743866",
"281525009875142431436059481725453032632"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2fb34bf76431e831f9863cd59adc0bd1f67b0fbf",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "swap_endian",
"file": "drivers/net/wireguard/allowedips.c"
},
"id": "CVE-2024-42247-7010f1a3",
"digest": {
"length": 352.0,
"function_hash": "267528163898554823245095017980362591005"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae630de24efb123d7199a43256396d7758f4cb75",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/net/wireguard/allowedips.c"
},
"id": "CVE-2024-42247-7b174d00",
"digest": {
"threshold": 0.9,
"line_hashes": [
"335075476271877830433684055629562118030",
"127893750366816923708384930856847121176",
"47829420036149711706914200492450094592",
"83809114075719546702561641670691743866",
"281525009875142431436059481725453032632"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@217978a29c6ceca76d3c640bf94bdf50c268d801",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/net/wireguard/allowedips.c"
},
"id": "CVE-2024-42247-84bb87da",
"digest": {
"threshold": 0.9,
"line_hashes": [
"335075476271877830433684055629562118030",
"127893750366816923708384930856847121176",
"47829420036149711706914200492450094592",
"83809114075719546702561641670691743866",
"281525009875142431436059481725453032632"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@948f991c62a4018fb81d85804eeab3029c6209f8",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "swap_endian",
"file": "drivers/net/wireguard/allowedips.c"
},
"id": "CVE-2024-42247-ca6f383a",
"digest": {
"length": 352.0,
"function_hash": "267528163898554823245095017980362591005"
},
"signature_type": "Function"
}
]