nfp: Fix memory leak in nfp_cpp_area_cache_add()
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat. Impact type from CWE-401.
Summary
In the Linux kernel, the following vulnerability has been resolved: nfp: Fix memory leak in nfp_cpp_area_cache_add() In line 800 (#1), nfp_cpp_area_alloc() allocates and initializes a CPP area structure. But in line 807 (#2), when the cache is allocated failed, this CPP area structure is not freed, which will result in memory leak. We can fix it by freeing the CPP area when the cache is allocated failed (#2). 792 int nfp_cpp_area_cache_add(struct nfp_cpp *cpp, size_t size) 793 { 794 struct nfp_cpp_area_cache *cache; 795 struct nfp_cpp_area *area; 800 area = nfp_cpp_area_alloc(cpp, NFP_CPP_ID(7, NFP_CPP_ACTION_RW, 0), 801 0, size); // #1: allocates and initializes 802 if (!area) 803 return -ENOMEM; 805 cache = kzalloc(sizeof(*cache), GFP_KERNEL); 806 if (!cache) 807 return -ENOMEM; // #2: missing free 817 return 0; 818 }
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 4.11 and later | 4.14.258, 4.19.221, 5.4.165, 5.10.85, 5.15.8, 5.16 | Patch available | CNA |
- Linux VendorLinux Affected 4.11 and later Fixed in 4.14.258, 4.19.221, 5.4.165, 5.10.85, 5.15.8, 5.16 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.11 to before 4.14.258; 4.15 to before 4.19.221; 4.20 to before 5.4.165; 5.5 to before 5.10.85; 5.11 to before 5.15.8 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 4.11 to before 4.14.258; 4.15 to before 4.19.221; 4.20 to before 5.4.165; 5.5 to before 5.10.85; 5.11 to before 5.15.8 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 4.14.258, 4.19.221, 5.4.165, 5.10.85, 5.15.8, 5.16
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
Not affected: 3 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
Timeline
- 2026-10-02 Threatist record created from CVE-2021-47516
References
Patch 6
- https://git.kernel.org/stable/c/3e93abcdcec0436fbf0b6a88ae806902426895a2
- https://git.kernel.org/stable/c/eb51f639ef3fd5498b7def290ed8681b6aadd9a7
- https://git.kernel.org/stable/c/2e0e072e62fdaf7816220af08e05c020f0fcb77a
- https://git.kernel.org/stable/c/484069b5de9d223cc1c64c6f80389a99cfef51f1
- https://git.kernel.org/stable/c/f707820c09239d6f67699d9b2ff57863cc7905b0
- https://git.kernel.org/stable/c/c56c96303e9289cc34716b1179597b6f470833de
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2021-47516 · CVE Program
- CVE-2021-47516 · NVD
- FIRST EPSS
- CVE-2021-47516 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences