CVE-2026-63934

iio: gyro: itg3200: fix i2c read into the wrong stack location

State
Published
Severity
Not scored
Published
Jul 19, 2026
Updated
Jul 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

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

iio: gyro: itg3200: fix i2c read into the wrong stack location

itg3200_read_all_channels() takes `__be16 *buf' as a parameter and fills the i2c_msg destination as `(char *)&buf'. Since `buf' is the parameter (a pointer), `&buf' is the address of the local pointer slot on the stack of itg3200_read_all_channels(), not the address of the caller's scan buffer. The (char *) cast hides the type mismatch.

i2c_transfer() therefore writes ITG3200_SCAN_ELEMENTS * sizeof(s16) = 8 bytes into the parameter's stack slot, which is discarded when the function returns. The caller's scan buffer in itg3200_trigger_handler() is never written to, so iio_push_to_buffers_with_timestamp() pushes uninitialised stack contents to userspace via /dev/iio:deviceX every scan -- both a functional bug (no actual gyroscope or temperature data is delivered through the triggered buffer) and an information leak.

The non-buffered read_raw() path is unaffected: it goes through itg3200_read_reg_s16() which uses `&out' on a local s16 value, where that is correct.

Drop the spurious `&' so the i2c read writes into the caller's buffer.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 9dbf091da080508e9f632d307f357beb79a0766b to before 90e809376b0f0d1ddec2eec954aecdd2a5b40b0eAffected
  • 9dbf091da080508e9f632d307f357beb79a0766b to before 8654b5e2617819ff4f7c78071dfd0275e971a9b6Affected
  • 9dbf091da080508e9f632d307f357beb79a0766b to before b64dd5f3b38911054cbcc570df617e3e8e75e562Affected
  • 9dbf091da080508e9f632d307f357beb79a0766b to before 31bbd4b87dd6701fa10e03ba7f6268e49e178d16Affected
  • 9dbf091da080508e9f632d307f357beb79a0766b to before 63203bd072b613c18c237b906b1c9d2dc4527337Affected
  • 9dbf091da080508e9f632d307f357beb79a0766b to before 15a0b3f33ffb6c78b3de6f69b026ceb09b973dd1Affected
  • 9dbf091da080508e9f632d307f357beb79a0766b to before cfc3283859cfdeacadf80d5e6880bdf871ffeaa6Affected
  • 9dbf091da080508e9f632d307f357beb79a0766b to before 6bdc3023d62ed5c7d591f0eb27a5adb37fb892aeAffected
LinuxLinux
  • 3.9Affected
  • before 3.9Not affected
  • 5.10.259 through 5.10.*Not affected
  • 5.15.210 through 5.15.*Not affected
  • 6.1.176 through 6.1.*Not affected
  • 6.6.143 through 6.6.*Not affected
  • 6.12.93 through 6.12.*Not affected
  • 6.18.35 through 6.18.*Not affected
  • 7.0.12 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.