{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2025-40222 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2025-40222 is a memory corruption vulnerability in Linux, published on 4 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2025-40222 and fix it if it is affected.\n\nWhat it is: CVE-2025-40222 is a memory corruption vulnerability in Linux, published on 4 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2025-40222 in the wild and no public exploit code.\n\nAffected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2025-40222/ (Markdown: https://insights.sbomify.com/CVE-2025-40222/index.md)","id":"CVE-2025-40222","markdown":"https://insights.sbomify.com/CVE-2025-40222/index.md","name":"CVE-2025-40222","record":{"aliases":["BELL-CVE-2025-40222","GHSA-h64m-pf7q-5f4g","ROOT-OS-UBUNTU-2204-CVE-2025-40222","ROOT-OS-UBUNTU-2404-CVE-2025-40222","UBUNTU-CVE-2025-40222"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel driver","requires_auth":"none","summary":"A memory corruption flaw in the Linux kernel sh-sci driver allows local attackers to trigger a system crash via invalid register access during serial port overrun handling.","user_interaction":"not_required","vuln_class":"memory_corruption"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\ntty: serial: sh-sci: fix RSCI FIFO overrun handling\n\nThe receive error handling code is shared between RSCI and all other\nSCIF port types, but the RSCI overrun_reg is specified as a memory\noffset, while for other SCIF types it is an enum value used to index\ninto the sci_port_params-\u003eregs array, as mentioned above the\nsci_serial_in() function.\n\nFor RSCI, the overrun_reg is CSR (0x48), causing the sci_getreg() call\ninside the sci_handle_fifo_overrun() function to index outside the\nbounds of the regs array, which currently has a size of 20, as specified\nby SCI_NR_REGS.\n\nBecause of this, we end up accessing memory outside of RSCI's\nrsci_port_params structure, which, when interpreted as a plat_sci_reg,\nhappens to have a non-zero size, causing the following WARN when\nsci_serial_in() is called, as the accidental size does not match the\nsupported register sizes.\n\nThe existence of the overrun_reg needs to be checked because\nSCIx_SH3_SCIF_REGTYPE has overrun_reg set to SCLSR, but SCLSR is not\npresent in the regs array.\n\nAvoid calling sci_getreg() for port types which don't use standard\nregister handling.\n\nUse the ops-\u003eread_reg() and ops-\u003ewrite_reg() functions to properly read\nand write registers for RSCI, and change the type of the status variable\nto accommodate the 32-bit CSR register.\n\nsci_getreg() and sci_serial_in() are also called with overrun_reg in the\nsci_mpxed_interrupt() interrupt handler, but that code path is not used\nfor RSCI, as it does not have a muxed interrupt.\n\n------------[ cut here ]------------\nInvalid register access\nWARNING: CPU: 0 PID: 0 at drivers/tty/serial/sh-sci.c:522 sci_serial_in+0x38/0xac\nModules linked in: renesas_usbhs at24 rzt2h_adc industrialio_adc sha256 cfg80211 bluetooth ecdh_generic ecc rfkill fuse drm backlight ipv6\nCPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.17.0-rc1+ #30 PREEMPT\nHardware name: Renesas RZ/T2H EVK Board based on r9a09g077m44 (DT)\npstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)\npc : sci_serial_in+0x38/0xac\nlr : sci_serial_in+0x38/0xac\nsp : ffff800080003e80\nx29: ffff800080003e80 x28: ffff800082195b80 x27: 000000000000000d\nx26: ffff8000821956d0 x25: 0000000000000000 x24: ffff800082195b80\nx23: ffff000180e0d800 x22: 0000000000000010 x21: 0000000000000000\nx20: 0000000000000010 x19: ffff000180e72000 x18: 000000000000000a\nx17: ffff8002bcee7000 x16: ffff800080000000 x15: 0720072007200720\nx14: 0720072007200720 x13: 0720072007200720 x12: 0720072007200720\nx11: 0000000000000058 x10: 0000000000000018 x9 : ffff8000821a6a48\nx8 : 0000000000057fa8 x7 : 0000000000000406 x6 : ffff8000821fea48\nx5 : ffff00033ef88408 x4 : ffff8002bcee7000 x3 : ffff800082195b80\nx2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff800082195b80\nCall trace:\n sci_serial_in+0x38/0xac (P)\n sci_handle_fifo_overrun.isra.0+0x70/0x134\n sci_er_interrupt+0x50/0x39c\n __handle_irq_event_percpu+0x48/0x140\n handle_irq_event+0x44/0xb0\n handle_fasteoi_irq+0xf4/0x1a0\n handle_irq_desc+0x34/0x58\n generic_handle_domain_irq+0x1c/0x28\n gic_handle_irq+0x4c/0x140\n call_on_irq_stack+0x30/0x48\n do_interrupt_handler+0x80/0x84\n el1_interrupt+0x34/0x68\n el1h_64_irq_handler+0x18/0x24\n el1h_64_irq+0x6c/0x70\n default_idle_call+0x28/0x58 (P)\n do_idle+0x1f8/0x250\n cpu_startup_entry+0x34/0x3c\n rest_init+0xd8/0xe0\n console_on_rootfs+0x0/0x6c\n __primary_switched+0x88/0x90\n---[ end trace 0000000000000000 ]---","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"tty: serial: sh-sci: fix RSCI FIFO overrun handling","id":"CVE-2025-40222","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"memory_corruption","year":"2025"},"n_packages":0,"n_references":2,"next":{"headline":"most: usb: Fix use-after-free in hdm_disconnect","id":"CVE-2025-40223"},"packages":[],"prev":{"headline":"media: pci: mg4b: fix uninitialized iio scan data","id":"CVE-2025-40221"},"products":["Linux"],"published":"2025-12-04","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-05-11","vendors":["Linux"]},"summary":"A memory corruption flaw in the Linux kernel sh-sci driver allows local attackers to trigger a system crash via invalid register access during serial port overrun handling.","url":"https://insights.sbomify.com/CVE-2025-40222/"}