Loading...
Skip to main content

CVE-2023-28638 — Vulnerability in Snappier — CVE Details

HIGH

Snappier vulnerable to buffer overrun due to improper restriction of operations within the bounds of a memory buffer

Published March 27, 2023Updated September 10, 2026Source: osv

Summary

### Impact This is a buffer overrun vulnerability that can affect any user of Snappier 1.1.0. In this release, much of the code was rewritten to use byte references rather than pointers to pinned buffers. This change generally improves performance and reduces workload on the garbage collector. However, when the garbage collector performs compaction and rearranges memory, it must update any byte references on the stack to refer to the updated location. The .NET garbage collector can only update these byte references if they still point within the buffer or to a point one byte past the end of the buffer. If they point outside this area, the buffer itself may be moved while the byte reference stays the same. There are several places in 1.1.0 where byte references very briefly point outside the valid areas of buffers. These are at locations in the code being used for buffer range checks. While the invalid references are never dereferenced directly, if a GC compaction were to occur during the brief window when they are on the stack then it could invalidate the buffer range check and allow other operations to overrun the buffer. This should be very difficult for an attacker to trigger intentionally. It would require a repetitive bulk attack with the hope that a GC compaction would occur at precisely the right moment during one of the requests. However, one of the range checks with this problem is a check based on input data in the decompression buffer, meaning malformed input data could be used to increase the chance of success. Note that any resulting buffer overrun is likely to cause access to protected memory, which will then cause an exception and the process to be terminated. Therefore, the most likely result of an attack is a denial of service. ### Patches This is patched in release 1.1.1. ### Workarounds Pinning any buffers to a fixed location before using them for compression or decompression should mitigate some, but not all, of these cases. At least one temporary decompression buffer is internal to the library and never pinned.

Advisory Timeline

  • First published March 27, 2023 (1295 days ago).
  • Last revised September 10, 2026 — 1262 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

NuGet
Update Snappier to 1.1.1 or later
dotnet add package Snappier --version 1.1.1

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: nuget (1).

PackageEcosystemAffectedFixed In
Snappier
nuget
1.1.01.1.1

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 7.0 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
High

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H

Frequently Asked Questions

What is CVE-2023-28638?
Snappier vulnerable to buffer overrun due to improper restriction of operations within the bounds of a memory buffer This vulnerability has been assigned a severity rating of HIGH (CVSS score: 7.0/10).
How do I check if my project is affected by CVE-2023-28638?
CVE-2023-28638 affects Snappier. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2023-28638 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
7.0

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-838x-pcvx-6p5w

Related CVEs

  • CVE-2026-106112
    HIGH

    ImageSharp: ICC LUT16 output channel count can write beyond Vector4

  • CVE-2026-106115
    HIGH

    ImageSharp: TIFF CCITT T6 encoder writes beyond an undersized output buffer

  • CVE-2026-44302
    HIGH

    Snappier has an infinite loop during SnappyStream decompression with malformed framed input

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies