Skip to content
Fencer Vulns
medium 5.5

CVE-2026-31411 json

net: atm: fix crash due to unvalidated vcc pointer in sigd_send()

published 2026-04-08 7 mo ago modified 2026-11-05 3 d ago also EUVD-2026-20469

cvss
5.5
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
0.1%
EPSS 0.1% chance of exploitation in 30 days, percentile 2%
public exploits
0
none known

Summary

In the Linux kernel, the following vulnerability has been resolved:

net: atm: fix crash due to unvalidated vcc pointer in sigd_send()

Reproducer available at [1].

The ATM send path (sendmsg -> vcc_sendmsg -> sigd_send) reads the vcc pointer from msg->vcc and uses it directly without any validation. This pointer comes from userspace via sendmsg() and can be arbitrarily forged:

int fd = socket(AF_ATMSVC, SOCK_DGRAM, 0); ioctl(fd, ATMSIGD_CTRL); // become ATM signaling daemon struct msghdr msg = { .msg_iov = &iov, ... }; *(unsigned long *)(buf + 4) = 0xdeadbeef; // fake vcc pointer sendmsg(fd, &msg, 0); // kernel dereferences 0xdeadbeef

In normal operation, the kernel sends the vcc pointer to the signaling daemon via sigd_enq() when processing operations like connect(), bind(), or listen(). The daemon is expected to return the same pointer when responding. However, a malicious daemon can send arbitrary pointer values.

Fix this by introducing find_get_vcc() which validates the pointer by searching through vcc_hash (similar to how sigd_close() iterates over all VCCs), and acquires a reference via sock_hold() if found.

Since struct atm_vcc embeds struct sock as its first member, they share the same lifetime. Therefore using sock_hold/sock_put is sufficient to keep the vcc alive while it is being used.

Note that there may be a race with sigd_close() which could mark the vcc with various flags (e.g., ATM_VF_RELEASED) after find_get_vcc() returns. However, sock_hold() guarantees the memory remains valid, so this race only affects the logical state, not memory safety.

[1]: https://gist.github.com/mrpre/1ba5949c45529c511152e2f4c755b0f3

Patch / fix

  • Linux Linux 5.10.252, 5.15.202, 6.1.165, 6.6.128, 6.12.75, 6.18.14, 6.19.4, 7.0
  • linux Debian 12 6.1.170-1
  • linux Debian 13 6.12.85-1
  • linux Debian 14 6.18.14-1

debian advisories DEBIAN-CVE-2026-31411

  • linux Ubuntu 22.04 LTS 5.15.0-186.196
  • linux Ubuntu 24.04 LTS 6.8.0-134.134
  • linux-aws Ubuntu 22.04 LTS 5.15.0-1112.119
  • linux-aws Ubuntu 24.04 LTS 6.8.0-1060.63
  • linux-gcp Ubuntu 22.04 LTS 5.15.0-1112.122
  • linux-gcp Ubuntu 24.04 LTS 6.8.0-1063.69
  • linux-gke Ubuntu 22.04 LTS 5.15.0-1108.114
  • linux-gke Ubuntu 24.04 LTS 6.8.0-1058.64

ubuntu advisories UBUNTU-CVE-2026-31411

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel RHEL 8 4.18.0-553.143.1.el8_10
  • perf RHEL 8 4.18.0-553.143.1.el8_10
  • bpftool RHEL 8 4.18.0-553.143.1.el8_10
  • kernel-core RHEL 8 4.18.0-553.143.1.el8_10
  • kernel-tools RHEL 8 4.18.0-553.143.1.el8_10
  • python3-perf RHEL 8 4.18.0-553.143.1.el8_10
  • kernel-modules RHEL 8 4.18.0-553.143.1.el8_10
  • kernel-zfcpdump RHEL 8 4.18.0-553.143.1.el8_10

red hat advisories RHSA-2026:83796RHSA-2026:65710RHSA-2026:61256RHSA-2026:59662RHSA-2026:59663RHSA-2026:59473

  • kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.55.1
  • kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.55.1
  • kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.55.1
  • kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.55.1
  • kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.55.1
  • kernel-zfcpdump SLE Module for Basesystem 15 SP7 6.4.0-150700.53.55.1
  • kernel-obs-build SLE Module for Development Tools 15 SP7 6.4.0-150700.53.55.1
  • kernel-default-base SLE Module for Basesystem 15 SP7 6.4.0-150700.53.55.1.150700.17.33.1

suse advisories SUSE-SU-2026:2238-1SUSE-SU-2026:21834-1

  • kernel-rt AlmaLinux 8 4.18.0-553.143.1.rt7.484.el8_10
  • kernel-rt-core AlmaLinux 8 4.18.0-553.143.1.rt7.484.el8_10
  • kernel-rt-modules AlmaLinux 8 4.18.0-553.143.1.rt7.484.el8_10
  • kernel-rt-debug-core AlmaLinux 8 4.18.0-553.143.1.rt7.484.el8_10
  • kernel-rt-debug-modules AlmaLinux 8 4.18.0-553.143.1.rt7.484.el8_10
  • kernel-rt-modules-extra AlmaLinux 8 4.18.0-553.143.1.rt7.484.el8_10
  • kernel-rt-debug-modules-extra AlmaLinux 8 4.18.0-553.143.1.rt7.484.el8_10
  • kernel AlmaLinux 8 4.18.0-553.143.1.el8_10

almalinux advisories ALSA-2026:39082ALSA-2026:39083ALSA-2026:33285

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-31411 updated cvss 7.1

kernel: net: atm: fix crash due to unvalidated vcc pointer in sigd_send()

  • Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 more
    affected: no fix available
  • Red Hat CodeReady Linux Builder EUS (v.9.6) libperf 5.14.0-570.135.1.el9_6, kernel-debuginfo-common-s390x 5.14.0-570.135.1.el9_6, kernel-debuginfo-common-x86_64 5.14.0-570.135.1.el9_6, kernel-debuginfo-common-aarch64 5.14.0-570.135.1.el9_6, kernel-debuginfo-common-ppc64le 5.14.0-570.135.1.el9_6
    fixed: vendor fix RHSA-2026:56574
  • Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-687.20.1.el9_8, perf 5.14.0-687.20.1.el9_8, rtla 5.14.0-687.20.1.el9_8, python3-perf 5.14.0-687.20.1.el9_8, kernel-devel-matched 5.14.0-687.20.1.el9_8, kernel-64k-devel-matched 5.14.0-687.20.1.el9_8, +7 more
    fixed: vendor fix RHSA-2026:33285
  • Red Hat Enterprise Linux AppStream E4S (v.9.2) perf 5.14.0-284.188.1.el9_2, rtla 5.14.0-284.188.1.el9_2, kernel-devel-matched 5.14.0-284.188.1.el9_2, kernel-64k-devel-matched 5.14.0-284.188.1.el9_2, kernel-debug-devel-matched 5.14.0-284.188.1.el9_2, kernel-debuginfo-common-s390x 5.14.0-284.188.1.el9_2, +5 more
    fixed: vendor fix RHSA-2026:59662
  • Red Hat Enterprise Linux AppStream E4S (v.9.4) rv 5.14.0-427.145.1.el9_4, perf 5.14.0-427.145.1.el9_4, rtla 5.14.0-427.145.1.el9_4, kernel-devel-matched 5.14.0-427.145.1.el9_4, kernel-64k-devel-matched 5.14.0-427.145.1.el9_4, kernel-debug-devel-matched 5.14.0-427.145.1.el9_4, +6 more
    fixed: vendor fix RHSA-2026:56573
  • Red Hat Enterprise Linux AppStream EUS (v.9.6) rv 5.14.0-570.135.1.el9_6, perf 5.14.0-570.135.1.el9_6, rtla 5.14.0-570.135.1.el9_6, python3-perf 5.14.0-570.135.1.el9_6, kernel-devel-matched 5.14.0-570.135.1.el9_6, kernel-64k-devel-matched 5.14.0-570.135.1.el9_6, +7 more
    fixed: vendor fix RHSA-2026:56574
  • Red Hat Enterprise Linux BaseOS (v. 8) perf 4.18.0-553.143.1.el8_10, kernel 4.18.0-553.143.1.el8_10, bpftool 4.18.0-553.143.1.el8_10, kernel-core 4.18.0-553.143.1.el8_10, kernel-tools 4.18.0-553.143.1.el8_10, python3-perf 4.18.0-553.143.1.el8_10, +15 more
    fixed: vendor fix RHSA-2026:39083
  • Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-687.20.1.el9_8, kernel-64k 5.14.0-687.20.1.el9_8, kernel-core 5.14.0-687.20.1.el9_8, kernel-tools 5.14.0-687.20.1.el9_8, kernel-modules 5.14.0-687.20.1.el9_8, kernel-64k-core 5.14.0-687.20.1.el9_8, +27 more
    fixed: vendor fix RHSA-2026:33285
show 23 more
  • Red Hat Enterprise Linux BaseOS AUS (v.8.4) perf 4.18.0-305.206.1.el8_4, kernel 4.18.0-305.206.1.el8_4, bpftool 4.18.0-305.206.1.el8_4, kernel-core 4.18.0-305.206.1.el8_4, kernel-tools 4.18.0-305.206.1.el8_4, python3-perf 4.18.0-305.206.1.el8_4, +8 more
    fixed: vendor fix RHSA-2026:65710
  • Red Hat Enterprise Linux BaseOS AUS (v.8.6) perf 4.18.0-372.208.1.el8_6, kernel 4.18.0-372.208.1.el8_6, bpftool 4.18.0-372.208.1.el8_6, kernel-core 4.18.0-372.208.1.el8_6, kernel-tools 4.18.0-372.208.1.el8_6, python3-perf 4.18.0-372.208.1.el8_6, +8 more
    fixed: vendor fix RHSA-2026:59473
  • Red Hat Enterprise Linux BaseOS E4S (v.8.8) perf 4.18.0-477.161.1.el8_8, kernel 4.18.0-477.161.1.el8_8, bpftool 4.18.0-477.161.1.el8_8, kernel-core 4.18.0-477.161.1.el8_8, kernel-tools 4.18.0-477.161.1.el8_8, python3-perf 4.18.0-477.161.1.el8_8, +9 more
    fixed: vendor fix RHSA-2026:61256
  • Red Hat Enterprise Linux BaseOS E4S (v.9.2) bpftool 7.0.0-284.188.1.el9_2, kernel 5.14.0-284.188.1.el9_2, kernel-64k 5.14.0-284.188.1.el9_2, kernel-core 5.14.0-284.188.1.el9_2, kernel-tools 5.14.0-284.188.1.el9_2, python3-perf 5.14.0-284.188.1.el9_2, +28 more
    fixed: vendor fix RHSA-2026:59662
  • Red Hat Enterprise Linux BaseOS E4S (v.9.4) bpftool 7.3.0-427.145.1.el9_4, kernel 5.14.0-427.145.1.el9_4, kernel-64k 5.14.0-427.145.1.el9_4, kernel-core 5.14.0-427.145.1.el9_4, kernel-tools 5.14.0-427.145.1.el9_4, python3-perf 5.14.0-427.145.1.el9_4, +28 more
    fixed: vendor fix RHSA-2026:56573
  • Red Hat Enterprise Linux BaseOS EUS (v.9.6) kernel 5.14.0-570.135.1.el9_6, kernel-64k 5.14.0-570.135.1.el9_6, kernel-core 5.14.0-570.135.1.el9_6, kernel-tools 5.14.0-570.135.1.el9_6, kernel-modules 5.14.0-570.135.1.el9_6, kernel-64k-core 5.14.0-570.135.1.el9_6, +27 more
    fixed: vendor fix RHSA-2026:56574
  • Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) perf 4.18.0-305.206.1.el8_4, kernel 4.18.0-305.206.1.el8_4, bpftool 4.18.0-305.206.1.el8_4, kernel-core 4.18.0-305.206.1.el8_4, kernel-tools 4.18.0-305.206.1.el8_4, python3-perf 4.18.0-305.206.1.el8_4, +8 more
    fixed: vendor fix RHSA-2026:65710
  • Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.6) perf 4.18.0-372.208.1.el8_6, kernel 4.18.0-372.208.1.el8_6, bpftool 4.18.0-372.208.1.el8_6, kernel-core 4.18.0-372.208.1.el8_6, kernel-tools 4.18.0-372.208.1.el8_6, python3-perf 4.18.0-372.208.1.el8_6, +8 more
    fixed: vendor fix RHSA-2026:59473
  • Red Hat Enterprise Linux BaseOS TUS (v.8.8) perf 4.18.0-477.161.1.el8_8, kernel 4.18.0-477.161.1.el8_8, bpftool 4.18.0-477.161.1.el8_8, kernel-core 4.18.0-477.161.1.el8_8, kernel-tools 4.18.0-477.161.1.el8_8, python3-perf 4.18.0-477.161.1.el8_8, +8 more
    fixed: vendor fix RHSA-2026:61256
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-687.20.1.el9_8, kernel-debuginfo-common-s390x 5.14.0-687.20.1.el9_8, kernel-debuginfo-common-x86_64 5.14.0-687.20.1.el9_8, kernel-debuginfo-common-aarch64 5.14.0-687.20.1.el9_8, kernel-debuginfo-common-ppc64le 5.14.0-687.20.1.el9_8
    fixed: vendor fix RHSA-2026:33285
  • Red Hat Enterprise Linux CRB (v. 8) kernel-debuginfo-common-x86_64 4.18.0-553.143.1.el8_10, kernel-debuginfo-common-aarch64 4.18.0-553.143.1.el8_10, kernel-debuginfo-common-ppc64le 4.18.0-553.143.1.el8_10
    fixed: vendor fix RHSA-2026:39083
  • Red Hat Enterprise Linux NFV (v. 8) kernel-rt 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-kvm 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-core 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-modules 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-debug-kvm 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-debug-core 4.18.0-553.143.1.rt7.484.el8_10, +4 more
    fixed: vendor fix RHSA-2026:39082
  • Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-687.20.1.el9_8, kernel-rt-64k 5.14.0-687.20.1.el9_8, kernel-rt-core 5.14.0-687.20.1.el9_8, kernel-rt-modules 5.14.0-687.20.1.el9_8, kernel-rt-64k-core 5.14.0-687.20.1.el9_8, kernel-rt-debug-core 5.14.0-687.20.1.el9_8, +14 more
    fixed: vendor fix RHSA-2026:33285
  • Red Hat Enterprise Linux Real Time E4S (v.9.2) kernel-rt 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-core 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-modules 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-debug-core 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-modules-core 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-debug-modules 5.14.0-284.188.1.rt14.473.el9_2, +4 more
    fixed: vendor fix RHSA-2026:59663
  • Red Hat Enterprise Linux Real Time E4S (v.9.4) kernel-rt 5.14.0-427.145.1.el9_4, kernel-rt-core 5.14.0-427.145.1.el9_4, kernel-rt-modules 5.14.0-427.145.1.el9_4, kernel-rt-debug-core 5.14.0-427.145.1.el9_4, kernel-rt-modules-core 5.14.0-427.145.1.el9_4, kernel-rt-debug-modules 5.14.0-427.145.1.el9_4, +4 more
    fixed: vendor fix RHSA-2026:56573
  • Red Hat Enterprise Linux Real Time EUS (v.9.6) kernel-rt 5.14.0-570.135.1.el9_6, kernel-rt-64k 5.14.0-570.135.1.el9_6, kernel-rt-core 5.14.0-570.135.1.el9_6, kernel-rt-modules 5.14.0-570.135.1.el9_6, kernel-rt-64k-core 5.14.0-570.135.1.el9_6, kernel-rt-debug-core 5.14.0-570.135.1.el9_6, +14 more
    fixed: vendor fix RHSA-2026:56574
  • Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-687.20.1.el9_8, kernel-rt-core 5.14.0-687.20.1.el9_8, kernel-rt-modules 5.14.0-687.20.1.el9_8, kernel-rt-debug-core 5.14.0-687.20.1.el9_8, kernel-rt-modules-core 5.14.0-687.20.1.el9_8, kernel-rt-debug-modules 5.14.0-687.20.1.el9_8, +4 more
    fixed: vendor fix RHSA-2026:33285
  • Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2) kernel-rt 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-kvm 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-core 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-modules 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-debug-kvm 5.14.0-284.188.1.rt14.473.el9_2, kernel-rt-debug-core 5.14.0-284.188.1.rt14.473.el9_2, +6 more
    fixed: vendor fix RHSA-2026:59663
  • Red Hat Enterprise Linux Real Time for NFV E4S (v.9.4) kernel-rt 5.14.0-427.145.1.el9_4, kernel-rt-kvm 5.14.0-427.145.1.el9_4, kernel-rt-core 5.14.0-427.145.1.el9_4, kernel-rt-modules 5.14.0-427.145.1.el9_4, kernel-rt-debug-kvm 5.14.0-427.145.1.el9_4, kernel-rt-debug-core 5.14.0-427.145.1.el9_4, +6 more
    fixed: vendor fix RHSA-2026:56573
  • Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) kernel-rt 5.14.0-570.135.1.el9_6, kernel-rt-kvm 5.14.0-570.135.1.el9_6, kernel-rt-core 5.14.0-570.135.1.el9_6, kernel-rt-modules 5.14.0-570.135.1.el9_6, kernel-rt-debug-kvm 5.14.0-570.135.1.el9_6, kernel-rt-debug-core 5.14.0-570.135.1.el9_6, +6 more
    fixed: vendor fix RHSA-2026:56574
  • Red Hat Enterprise Linux RT (v. 8) kernel-rt 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-core 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-modules 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-debug-core 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-debug-modules 4.18.0-553.143.1.rt7.484.el8_10, kernel-rt-modules-extra 4.18.0-553.143.1.rt7.484.el8_10, +2 more
    fixed: vendor fix RHSA-2026:39082
  • Red Hat Enterprise Linux Server -EXTENSION(v. 6 ELS-EXTENSION) perf 2.6.32-754.65.1.el6, kernel 2.6.32-754.65.1.el6, kernel-kdump 2.6.32-754.65.1.el6, kernel-firmware 2.6.32-754.65.1.el6, kernel-abi-whitelists 2.6.32-754.65.1.el6, kernel-debuginfo-common-i686 2.6.32-754.65.1.el6, +2 more Red Hat Enterprise Linux Server Optional -EXTENSION (v. 6 ELS -EXTENSION) python-perf 2.6.32-754.65.1.el6, kernel-debuginfo-common-i686 2.6.32-754.65.1.el6, kernel-debuginfo-common-s390x 2.6.32-754.65.1.el6, kernel-debuginfo-common-x86_64 2.6.32-754.65.1.el6
    fixed: vendor fix RHSA-2026:83796
  • Red Hat Enterprise Linux 10 kernel
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

cisa ICSA-26-295-11 updated cvss 7.1

Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP

  • Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) >= 3.1.7 Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) >= 3.1.7 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) >= 3.1.7 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) >= 3.1.7 Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) >= 3.1.7
    affected: mitigation, no fix available

Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf

cisa ICSA-26-209-04 updated cvss 7.1

Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP

  • Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) >= 3.1.6 Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) >= 3.1.6 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) >= 3.1.6 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) >= 3.1.6 Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) >= 3.1.6
    affected: mitigation, no fix available

Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
3 d ago

Exploit prediction

0.13% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
NVD 3.1 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected products

  • Linux Linux
  • Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP
  • Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP
  • Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP

Classification

Weakness
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.