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

      Elastic simplifies log analytics for SREs and developers with launch of Log Essentials

      August 7, 2025

      OpenAI launches GPT-5

      August 7, 2025

      Melissa brings its data quality solutions to Azure with new SSIS integration

      August 7, 2025

      Automating Design Systems: Tips And Resources For Getting Started

      August 6, 2025

      This $180 mini projector has no business being this good for the price

      August 7, 2025

      GPT-5 is finally here, and you can access it for free today – no subscription needed

      August 7, 2025

      Changing this Android setting instantly doubled my phone speed (Samsung and Google models included)

      August 7, 2025

      ChatGPT can now talk nerdy to you – plus more personalities and other upgrades beyond GPT-5

      August 7, 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

      Advanced Application Architecture through Laravel’s Service Container Management

      August 7, 2025
      Recent

      Advanced Application Architecture through Laravel’s Service Container Management

      August 7, 2025

      Switch Between Personas in Laravel With the MultiPersona Package

      August 7, 2025

      AI-Driven Smart Tagging and Metadata in AEM Assets

      August 7, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Bill Gates on AI’s Impact: ‘Be Curious, Read, and Use the Latest Tools’

      August 7, 2025
      Recent

      Bill Gates on AI’s Impact: ‘Be Curious, Read, and Use the Latest Tools’

      August 7, 2025

      Halo Infinite’s Fall Update: New Features and Modes to Revive the Game?

      August 7, 2025

      Forza Motorsport’s Future in Jeopardy: Fans Demand Clarity from Microsoft

      August 7, 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

    Microsoft to Pull Plug on Shared EWS Access in Hybrid Exchange by October

    August 7, 2025
    Development

    Google Confirms Salesforce Database Breach by ShinyHunters Group

    August 7, 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-1278 – GitLab IP Access Bypass Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-43579 – Adobe Acrobat Reader Information Exposure Security Feature Bypass

    Common Vulnerabilities and Exposures (CVEs)

    ThinkPRM: A Generative Process Reward Models for Scalable Reasoning Verification

    Machine Learning

    YouTube Expands 30-Second Non-Skippable Ads: Prepare for More Interruptions

    Security

    Highlights

    Driving Retail Loyalty with MongoDB and Cognigy Databases

    Driving Retail Loyalty with MongoDB and Cognigy

    April 10, 2025

    Retail is one of the fastest moving industries, often the very first to leverage cutting-edge…

    CVE-2025-44612 – Tinxy WiFi Lock Controller Remote Information Disclosure

    May 30, 2025

    Perficient Wins EX Impact Award for Diversity, Equity, Inclusion, and Belonging

    April 16, 2025

    A Brief Introduction to React

    May 1, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

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