5.5 CVE-2021-47319

Enriched by CISA Patch
 

In the Linux kernel, the following vulnerability has been resolved: virtio-blk: Fix memory leak among suspend/resume procedure The vblk->vqs should be freed before we call init_vqs() in virtblk_restore().
https://nvd.nist.gov/vuln/detail/CVE-2021-47319

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. a common term for not releasing memory;however, the same term is also used for "disclosure ofsensitive information from memory," so use of this termis discouraged. 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. Use tools that are integrated duringcompilation to insert runtime error-checking mechanismsrelated to memory safety errors, such as AddressSanitizer(ASan) for C/C++ [REF-1518] or valgrind [REF-480]. 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. Consider using the Boehm-Demers-Weiser garbage collector (bdwgc), which can help avoid leaks. 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
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < 381bde79d11e596002edfd914e6714291826967a [affected]
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < 102d6bc6475ab09bab579c18704e6cf8d898e93c [affected]
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < 863da837964c80c72e368a4f748c30d25daa1815 [affected]
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < 600942d2fd49b90e44857d20c774b20d16f3130f [affected]
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < 04c6e60b884cb5e94ff32af46867fb41d5848358 [affected]
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < cd24da0db9f75ca11eaf6060f0ccb90e2f3be3b0 [affected]
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < ca2b8ae93a6da9839dc7f9eb9199b18aa03c3dae [affected]
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < 29a2f4a3214aa14d61cc9737c9f886dae9dbb710 [affected]
  • 6a27b656fc0210e976db362e1368c56db05c8f08 < b71ba22e7c6c6b279c66f53ee7818709774efa1f [affected]
Linux Linux
  • 3.17 [affected]
  • < 3.17 [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.134 ≤ 5.4.* [unaffected]
  • 5.10.52 ≤ 5.10.* [unaffected]
  • 5.12.19 ≤ 5.12.* [unaffected]
  • 5.13.4 ≤ 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.134
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.5 < 5.10.52
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.11 < 5.12.19
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* >= 5.13 < 5.13.4


REMEDIATION


Patch

Url
https://git.kernel.org/stable/c/04c6e60b884cb5e94ff32af46867fb41d5848358
https://git.kernel.org/stable/c/102d6bc6475ab09bab579c18704e6cf8d898e93c
https://git.kernel.org/stable/c/29a2f4a3214aa14d61cc9737c9f886dae9dbb710
https://git.kernel.org/stable/c/381bde79d11e596002edfd914e6714291826967a
https://git.kernel.org/stable/c/600942d2fd49b90e44857d20c774b20d16f3130f
https://git.kernel.org/stable/c/863da837964c80c72e368a4f748c30d25daa1815
https://git.kernel.org/stable/c/b71ba22e7c6c6b279c66f53ee7818709774efa1f
https://git.kernel.org/stable/c/ca2b8ae93a6da9839dc7f9eb9199b18aa03c3dae
https://git.kernel.org/stable/c/cd24da0db9f75ca11eaf6060f0ccb90e2f3be3b0
https://git.kernel.org/stable/c/04c6e60b884cb5e94ff32af46867fb41d5848358
https://git.kernel.org/stable/c/102d6bc6475ab09bab579c18704e6cf8d898e93c
https://git.kernel.org/stable/c/29a2f4a3214aa14d61cc9737c9f886dae9dbb710
https://git.kernel.org/stable/c/381bde79d11e596002edfd914e6714291826967a
https://git.kernel.org/stable/c/600942d2fd49b90e44857d20c774b20d16f3130f
https://git.kernel.org/stable/c/863da837964c80c72e368a4f748c30d25daa1815
https://git.kernel.org/stable/c/b71ba22e7c6c6b279c66f53ee7818709774efa1f
https://git.kernel.org/stable/c/ca2b8ae93a6da9839dc7f9eb9199b18aa03c3dae
https://git.kernel.org/stable/c/cd24da0db9f75ca11eaf6060f0ccb90e2f3be3b0


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