5.5 CVE-2021-47345

Enriched by CISA Patch
 

In the Linux kernel, the following vulnerability has been resolved: RDMA/cma: Fix rdma_resolve_route() memory leak Fix a memory leak when "mda_resolve_route() is called more than once on the same "rdma_cm_id". This is possible if cma_query_handler() triggers the RDMA_CM_EVENT_ROUTE_ERROR flow which puts the state machine back and allows rdma_resolve_route() to be called again.
https://nvd.nist.gov/vuln/detail/CVE-2021-47345

Categories

CWE-401 : Missing Release of Memory after Effective Lifetime
The product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse. Fuzz testing (fuzzing) is a powerful technique for generating large numbers of diverse inputs - either randomly or algorithmically - and dynamically invoking the code with those inputs. Even with random inputs, it is often capable of generating unexpected results such as crashes, memory corruption, or resource consumption. Fuzzing effectively produces repeatable test cases that clearly indicate bugs, which helps developers to diagnose the issues. Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.) Use an abstraction library to abstract away risky APIs. Not a complete solution. The Boehm-Demers-Weiser Garbage Collector or valgrind can be used to detect leaks in code. Memory leak because function does not free() an element of a data structure. Memory leak when counter variable is not decremented. chain: reference count is not decremented, leading to memory leak in OS by sending ICMP packets. Kernel uses wrong function to release a data structure, preventing data from being properly tracked by other code. Memory leak via unknown manipulations as part of protocol test suite. Memory leak via a series of the same command.

References


 

AFFECTED (from MITRE)


Vendor Product Versions
Linux Linux
  • e51060f08a61965c4dd91516d82fe90617152590 < 40b613db3a95bc27998e4097d74c2f7e5d083a0b [affected]
  • e51060f08a61965c4dd91516d82fe90617152590 < e2da8ce2a9543f3ca5c93369bd1fe6eeb572101a [affected]
  • e51060f08a61965c4dd91516d82fe90617152590 < e4e062da082a199357ba4911145f331d40139ad8 [affected]
  • e51060f08a61965c4dd91516d82fe90617152590 < 4893c938f2a140a74be91779e45e4a7fa111198f [affected]
  • e51060f08a61965c4dd91516d82fe90617152590 < 032c68b4f5be128a2167f35b558b7cec88fe4972 [affected]
  • e51060f08a61965c4dd91516d82fe90617152590 < 3d08b5917984f737f32d5bee9737b9075c3895c6 [affected]
  • e51060f08a61965c4dd91516d82fe90617152590 < f4f553d67236145fa5fd203ed7b35b9377e19939 [affected]
  • e51060f08a61965c4dd91516d82fe90617152590 < 07583ba2e2d8947c3d365d97608cb436510885ac [affected]
  • e51060f08a61965c4dd91516d82fe90617152590 < 74f160ead74bfe5f2b38afb4fcf86189f9ff40c9 [affected]
Linux Linux
  • 2.6.18 [affected]
  • < 2.6.18 [unaffected]
  • 4.4.276 ≤ 4.4.* [unaffected]
  • 4.9.276 ≤ 4.9.* [unaffected]
  • 4.14.240 ≤ 4.14.* [unaffected]
  • 4.19.198 ≤ 4.19.* [unaffected]
  • 5.4.133 ≤ 5.4.* [unaffected]
  • 5.10.51 ≤ 5.10.* [unaffected]
  • 5.12.18 ≤ 5.12.* [unaffected]
  • 5.13.3 ≤ 5.13.* [unaffected]
  • 5.14 ≤ * [unaffected]
© 2022 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation.

CPE

cpe start end
Configuration 1
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* < 4.4.276
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 4.5 < 4.9.276
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 4.10 < 4.14.240
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 4.15 < 4.19.198
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 4.20 < 5.4.133
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.5 < 5.10.51
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.11 < 5.12.18
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.13 < 5.13.3


REMEDIATION


Patch

Url
https://git.kernel.org/stable/c/032c68b4f5be128a2167f35b558b7cec88fe4972
https://git.kernel.org/stable/c/07583ba2e2d8947c3d365d97608cb436510885ac
https://git.kernel.org/stable/c/3d08b5917984f737f32d5bee9737b9075c3895c6
https://git.kernel.org/stable/c/40b613db3a95bc27998e4097d74c2f7e5d083a0b
https://git.kernel.org/stable/c/4893c938f2a140a74be91779e45e4a7fa111198f
https://git.kernel.org/stable/c/74f160ead74bfe5f2b38afb4fcf86189f9ff40c9
https://git.kernel.org/stable/c/e2da8ce2a9543f3ca5c93369bd1fe6eeb572101a
https://git.kernel.org/stable/c/e4e062da082a199357ba4911145f331d40139ad8
https://git.kernel.org/stable/c/f4f553d67236145fa5fd203ed7b35b9377e19939
https://git.kernel.org/stable/c/032c68b4f5be128a2167f35b558b7cec88fe4972
https://git.kernel.org/stable/c/07583ba2e2d8947c3d365d97608cb436510885ac
https://git.kernel.org/stable/c/3d08b5917984f737f32d5bee9737b9075c3895c6
https://git.kernel.org/stable/c/40b613db3a95bc27998e4097d74c2f7e5d083a0b
https://git.kernel.org/stable/c/4893c938f2a140a74be91779e45e4a7fa111198f
https://git.kernel.org/stable/c/74f160ead74bfe5f2b38afb4fcf86189f9ff40c9
https://git.kernel.org/stable/c/e2da8ce2a9543f3ca5c93369bd1fe6eeb572101a
https://git.kernel.org/stable/c/e4e062da082a199357ba4911145f331d40139ad8
https://git.kernel.org/stable/c/f4f553d67236145fa5fd203ed7b35b9377e19939


EXPLOITS


Exploit-db.com

id description date
No known exploits

POC Github

Url
No known exploits

Other Nist (github, ...)

Url
No known exploits


CAPEC


Common Attack Pattern Enumerations and Classifications

id description severity
No entry