CVE-2022-49078

Summary

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

lz4: fix LZ4_decompress_safe_partial read out of bound

When partialDecoding, it is EOF if we've either filled the output buffer or can't proceed with reading an offset for following match.

In some extreme corner cases when compressed data is suitably corrupted, UAF will occur. As reported by KASAN [1], LZ4_decompress_safe_partial may lead to read out of bound problem during decoding. lz4 upstream has fixed it [2] and this issue has been disscussed here [3] before.

current decompression routine was ported from lz4 v1.8.3, bumping lib/lz4 to v1.9.+ is certainly a huge work to be done later, so, we'd better fix it first.

[1] https://lore.kernel.org/all/000000000000830d1205cf7f0477@google.com/ [2] https://github.com/lz4/lz4/commit/c5d6f8a8be3927c0bec91bcc58667a6cfad244ad# [3] https://lore.kernel.org/all/CC666AE8-4CA4-4951-B6FB-A2EFDE3AC03B@fb.com/

Affected Software

VendorProductVersion RangeStatus
LinuxLinux2209fda323e2fd2a2d0885595fd5097717f8d2aa < 73953dfa9d50e5c9fe98ee13fd1d3427aa12a0a3affected
LinuxLinux2209fda323e2fd2a2d0885595fd5097717f8d2aa < 6adc01a7aa37445dafe8846faa0610a86029b253affected
LinuxLinux2209fda323e2fd2a2d0885595fd5097717f8d2aa < 9fb8bc6cfc58773ce95414e11c9ccc8fc6ac4927affected
LinuxLinux2209fda323e2fd2a2d0885595fd5097717f8d2aa < e64dbe97c05c769525cbca099ddbd22485630235affected
LinuxLinux2209fda323e2fd2a2d0885595fd5097717f8d2aa < 467d5e200ab4486b744fe1776154a43d1aa22d4baffected
LinuxLinux2209fda323e2fd2a2d0885595fd5097717f8d2aa < eafc0a02391b7b36617b36c97c4b5d6832cf5e24affected
LinuxLinux4.20affected
LinuxLinux0 < 4.20unaffected
LinuxLinux5.4.189 <= 5.4.*unaffected
LinuxLinux5.10.111 <= 5.10.*unaffected
LinuxLinux5.15.34 <= 5.15.*unaffected
LinuxLinux5.16.20 <= 5.16.*unaffected
LinuxLinux5.17.3 <= 5.17.*unaffected
LinuxLinux5.18 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: total

References