Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Error’d: You Talkin’ to Me?

      September 20, 2025

      The Psychology Of Trust In AI: A Guide To Measuring And Designing For User Confidence

      September 20, 2025

      This week in AI updates: OpenAI Codex updates, Claude integration in Xcode 26, and more (September 19, 2025)

      September 20, 2025

      Report: The major factors driving employee disengagement in 2025

      September 20, 2025

      DistroWatch Weekly, Issue 1140

      September 21, 2025

      Distribution Release: DietPi 9.17

      September 21, 2025

      Development Release: Zorin OS 18 Beta

      September 19, 2025

      Distribution Release: IPFire 2.29 Core 197

      September 19, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      @ts-ignore is almost always the worst option

      September 22, 2025
      Recent

      @ts-ignore is almost always the worst option

      September 22, 2025

      MutativeJS v1.3.0 is out with massive performance gains

      September 22, 2025

      Student Performance Prediction System using Python Machine Learning (ML)

      September 21, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      DistroWatch Weekly, Issue 1140

      September 21, 2025
      Recent

      DistroWatch Weekly, Issue 1140

      September 21, 2025

      Distribution Release: DietPi 9.17

      September 21, 2025

      Hyprland Made Easy: Preconfigured Beautiful Distros

      September 20, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Security»Common Vulnerabilities and Exposures (CVEs)»CVE-2025-37786 – Linux Kernel DSA Net Use-After-Free Vulnerability

    CVE-2025-37786 – Linux Kernel DSA Net Use-After-Free Vulnerability

    May 1, 2025

    CVE ID : CVE-2025-37786

    Published : May 1, 2025, 2:15 p.m. | 1 hour, 10 minutes ago

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

    net: dsa: free routing table on probe failure

    If complete = true in dsa_tree_setup(), it means that we are the last
    switch of the tree which is successfully probing, and we should be
    setting up all switches from our probe path.

    After “complete” becomes true, dsa_tree_setup_cpu_ports() or any
    subsequent function may fail. If that happens, the entire tree setup is
    in limbo: the first N-1 switches have successfully finished probing
    (doing nothing but having allocated persistent memory in the tree’s
    dst->ports, and maybe dst->rtable), and switch N failed to probe, ending
    the tree setup process before anything is tangible from the user’s PoV.

    If switch N fails to probe, its memory (ports) will be freed and removed
    from dst->ports. However, the dst->rtable elements pointing to its ports,
    as created by dsa_link_touch(), will remain there, and will lead to
    use-after-free if dereferenced.

    If dsa_tree_setup_switches() returns -EPROBE_DEFER, which is entirely
    possible because that is where ds->ops->setup() is, we get a kasan
    report like this:

    ==================================================================
    BUG: KASAN: slab-use-after-free in mv88e6xxx_setup_upstream_port+0x240/0x568
    Read of size 8 at addr ffff000004f56020 by task kworker/u8:3/42

    Call trace:
    __asan_report_load8_noabort+0x20/0x30
    mv88e6xxx_setup_upstream_port+0x240/0x568
    mv88e6xxx_setup+0xebc/0x1eb0
    dsa_register_switch+0x1af4/0x2ae0
    mv88e6xxx_register_switch+0x1b8/0x2a8
    mv88e6xxx_probe+0xc4c/0xf60
    mdio_probe+0x78/0xb8
    really_probe+0x2b8/0x5a8
    __driver_probe_device+0x164/0x298
    driver_probe_device+0x78/0x258
    __device_attach_driver+0x274/0x350

    Allocated by task 42:
    __kasan_kmalloc+0x84/0xa0
    __kmalloc_cache_noprof+0x298/0x490
    dsa_switch_touch_ports+0x174/0x3d8
    dsa_register_switch+0x800/0x2ae0
    mv88e6xxx_register_switch+0x1b8/0x2a8
    mv88e6xxx_probe+0xc4c/0xf60
    mdio_probe+0x78/0xb8
    really_probe+0x2b8/0x5a8
    __driver_probe_device+0x164/0x298
    driver_probe_device+0x78/0x258
    __device_attach_driver+0x274/0x350

    Freed by task 42:
    __kasan_slab_free+0x48/0x68
    kfree+0x138/0x418
    dsa_register_switch+0x2694/0x2ae0
    mv88e6xxx_register_switch+0x1b8/0x2a8
    mv88e6xxx_probe+0xc4c/0xf60
    mdio_probe+0x78/0xb8
    really_probe+0x2b8/0x5a8
    __driver_probe_device+0x164/0x298
    driver_probe_device+0x78/0x258
    __device_attach_driver+0x274/0x350

    The simplest way to fix the bug is to delete the routing table in its
    entirety. dsa_tree_setup_routing_table() has no problem in regenerating
    it even if we deleted links between ports other than those of switch N,
    because dsa_link_touch() first checks whether the port pair already
    exists in dst->rtable, allocating if not.

    The deletion of the routing table in its entirety already exists in
    dsa_tree_teardown(), so refactor that into a function that can also be
    called from the tree setup error path.

    In my analysis of the commit to blame, it is the one which added
    dsa_link elements to dst->rtable. Prior to that, each switch had its own
    ds->rtable which is freed when the switch fails to probe. But the tree
    is potentially persistent memory.

    Severity: 0.0 | NA

    Visit the link for more details, such as CVSS details, affected products, timeline, and more…

    Source: Read More

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleCVE-2025-37783 – Linux Kernel drm/msm Error Pointer Dereference Vulnerability
    Next Article CVE-2025-37782 – Linux HFS slub Out-of-Bounds Write

    Related Posts

    Development

    Cursor AI Code Editor Flaw Enables Silent Code Execution via Malicious Repositories

    September 14, 2025
    Development

    Introducing HybridPetya: Petya/NotPetya copycat with UEFI Secure Boot bypass

    September 14, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    CVE-2025-53132 – Windows Win32K GRFX Race Condition Privilege Escalation

    Common Vulnerabilities and Exposures (CVEs)

    Opera 120 brings built-in translation and smarter split screen

    Operating Systems

    CVE-2025-40597 – D-Link SMA100 Series Heap-based Buffer Overflow Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    How to Use a Foreign Key in Django

    Development

    Highlights

    CVE-2025-43577 – Adobe Acrobat Reader Use After Free Vulnerability

    June 10, 2025

    CVE ID : CVE-2025-43577

    Published : June 10, 2025, 7:15 p.m. | 2 hours, 33 minutes ago

    Description : Acrobat Reader versions 24.001.30235, 20.005.30763, 25.001.20521 and earlier are affected by a Use After Free vulnerability that could result in arbitrary code execution in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file.

    Severity: 7.8 | HIGH

    Visit the link for more details, such as CVSS details, affected products, timeline, and more…

    CVE-2025-24054 Under Active Attack—Steals NTLM Credentials on File Download

    April 18, 2025

    Critical RCE Flaws in MICI NetFax Server Unpatched, Vendor Refuses Fix

    June 1, 2025

    CVE-2025-6910 – PHPGurukul Student Record System SQL Injection Vulnerability

    June 30, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.