FKIE_CVE-2026-74729

Vulnerability from fkie_nvd - Published: 2026-08-22 16:16 - Updated: 2026-10-15 11:17
Severity
Summary
In the Linux kernel, the following vulnerability has been resolved: soc: aspeed: lpc-snoop: Fix usercopy overflow in snoop_file_read put_fifo_with_discard() acts as both producer and consumer on the kfifo: it calls kfifo_skip() (advances out) and kfifo_put() (advances in) from the IRQ handler without synchronizing with snoop_file_read(), which also consumes via kfifo_to_user(). On SMP systems this concurrent access can leave (in - out) larger than the ring buffer, so __kfifo_to_user()'s clamp to (in - out) is ineffective and kfifo_copy_to_user() can attempt a copy_to_user() past the kmalloc-2k backing store: usercopy: Kernel memory exposure attempt detected from SLUB object 'kmalloc-2k' (offset 0, size 2049)! kernel BUG at mm/usercopy.c! Call trace: usercopy_abort __check_heap_object __check_object_size kfifo_copy_to_user __kfifo_to_user snoop_file_read vfs_read Serialize kfifo access with a per-channel spinlock shared between the IRQ handler (producer) and the file reader (consumer). Annotate @fifo with __guarded_by(&lock) and opt the driver into context analysis so the compiler enforces that all fifo access holds the lock.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/soc/aspeed/Makefile",
            "drivers/soc/aspeed/aspeed-lpc-snoop.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "868c478abce858135db3eb65548a577e4b6747ac",
              "status": "affected",
              "version": "3772e5da445420543b25825ac2b5971f3743f6e8",
              "versionType": "git"
            },
            {
              "lessThan": "131ab677b03349a5ae48da8722ec7075b37ec66e",
              "status": "affected",
              "version": "3772e5da445420543b25825ac2b5971f3743f6e8",
              "versionType": "git"
            },
            {
              "lessThan": "1acef6d85bfd98bd9dfe1f08bffa397a4dda8a6f",
              "status": "affected",
              "version": "3772e5da445420543b25825ac2b5971f3743f6e8",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/soc/aspeed/Makefile",
            "drivers/soc/aspeed/aspeed-lpc-snoop.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.19"
            },
            {
              "lessThan": "4.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.57",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsoc: aspeed: lpc-snoop: Fix usercopy overflow in snoop_file_read\n\nput_fifo_with_discard() acts as both producer and consumer on the kfifo:\nit calls kfifo_skip() (advances out) and kfifo_put() (advances in) from\nthe IRQ handler without synchronizing with snoop_file_read(), which also\nconsumes via kfifo_to_user(). On SMP systems this concurrent access can\nleave (in - out) larger than the ring buffer, so __kfifo_to_user()\u0027s clamp\nto (in - out) is ineffective and kfifo_copy_to_user() can attempt a\ncopy_to_user() past the kmalloc-2k backing store:\n\n  usercopy: Kernel memory exposure attempt detected from SLUB object\n  \u0027kmalloc-2k\u0027 (offset 0, size 2049)!\n  kernel BUG at mm/usercopy.c!\n  Call trace:\n   usercopy_abort\n   __check_heap_object\n   __check_object_size\n   kfifo_copy_to_user\n   __kfifo_to_user\n   snoop_file_read\n   vfs_read\n\nSerialize kfifo access with a per-channel spinlock shared between the\nIRQ handler (producer) and the file reader (consumer).  Annotate @fifo\nwith __guarded_by(\u0026lock) and opt the driver into context analysis so the\ncompiler enforces that all fifo access holds the lock."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nsoc: aspeed: lpc-snoop: Correcci\u00f3n de desbordamiento de usercopy en snoop_file_read\n\nput_fifo_with_discard() act\u00faa como productor y consumidor en el kfifo: llama a kfifo_skip() (avanza hacia afuera) y kfifo_put() (avanza hacia adentro) desde el gestor IRQ sin sincronizarse con snoop_file_read(), que tambi\u00e9n consume a trav\u00e9s de kfifo_to_user(). En sistemas SMP, este acceso concurrente puede dejar (in - out) mayor que el b\u00fafer de anillo, por lo que la limitaci\u00f3n de __kfifo_to_user() a (in - out) es ineficaz y kfifo_copy_to_user() puede intentar un copy_to_user() m\u00e1s all\u00e1 del almacenamiento de respaldo kmalloc-2k:\n\n  usercopy: Intento de exposici\u00f3n de memoria del kernel detectado desde el objeto SLUB \u0027kmalloc-2k\u0027 (desplazamiento 0, tama\u00f1o 2049)!\n  BUG del kernel en mm/usercopy.c!\n  Traza de llamada:\n   usercopy_abort\n   __check_heap_object\n   __check_object_size\n   kfifo_copy_to_user\n   __kfifo_to_user\n   snoop_file_read\n   vfs_read\n\nSerializar el acceso al kfifo con un spinlock por canal compartido entre el gestor IRQ (productor) y el lector de archivos (consumidor). Anotar @fifo con __guarded_by(\u0026lock) y optar por incluir el controlador en el an\u00e1lisis de contexto para que el compilador imponga que todo acceso al fifo mantenga el bloqueo."
    }
  ],
  "id": "CVE-2026-74729",
  "lastModified": "2026-10-15T11:17:49.137",
  "metrics": {},
  "published": "2026-08-22T16:16:48.033",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/131ab677b03349a5ae48da8722ec7075b37ec66e"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/1acef6d85bfd98bd9dfe1f08bffa397a4dda8a6f"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/868c478abce858135db3eb65548a577e4b6747ac"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Received"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.