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

      CodeSOD: A Unique Way to Primary Key

      July 22, 2025

      BrowserStack launches Figma plugin for detecting accessibility issues in design phase

      July 22, 2025

      Parasoft brings agentic AI to service virtualization in latest release

      July 22, 2025

      Node.js vs. Python for Backend: 7 Reasons C-Level Leaders Choose Node.js Talent

      July 21, 2025

      The best CRM software with email marketing in 2025: Expert tested and reviewed

      July 22, 2025

      This multi-port car charger can power 4 gadgets at once – and it’s surprisingly cheap

      July 22, 2025

      I’m a wearables editor and here are the 7 Pixel Watch 4 rumors I’m most curious about

      July 22, 2025

      8 ways I quickly leveled up my Linux skills – and you can too

      July 22, 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

      The Intersection of Agile and Accessibility – A Series on Designing for Everyone

      July 22, 2025
      Recent

      The Intersection of Agile and Accessibility – A Series on Designing for Everyone

      July 22, 2025

      Zero Trust & Cybersecurity Mesh: Your Org’s Survival Guide

      July 22, 2025

      Execute Ping Commands and Get Back Structured Data in PHP

      July 22, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      A Tomb Raider composer has been jailed — His legacy overshadowed by $75k+ in loan fraud

      July 22, 2025
      Recent

      A Tomb Raider composer has been jailed — His legacy overshadowed by $75k+ in loan fraud

      July 22, 2025

      “I don’t think I changed his mind” — NVIDIA CEO comments on H20 AI GPU sales resuming in China following a meeting with President Trump

      July 22, 2025

      Galaxy Z Fold 7 review: Six years later — Samsung finally cracks the foldable code

      July 22, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Security»Common Vulnerabilities and Exposures (CVEs)»CVE-2025-37988 – Apache Linux Kernel Mount Namespace Locking races

    CVE-2025-37988 – Apache Linux Kernel Mount Namespace Locking races

    May 20, 2025

    CVE ID : CVE-2025-37988

    Published : May 20, 2025, 6:15 p.m. | 34 minutes ago

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

    fix a couple of races in MNT_TREE_BENEATH handling by do_move_mount()

    Normally do_lock_mount(path, _) is locking a mountpoint pinned by
    *path and at the time when matching unlock_mount() unlocks that
    location it is still pinned by the same thing.

    Unfortunately, for ‘beneath’ case it’s no longer that simple –
    the object being locked is not the one *path points to. It’s the
    mountpoint of path->mnt. The thing is, without sufficient locking
    ->mnt_parent may change under us and none of the locks are held
    at that point. The rules are
    * mount_lock stabilizes m->mnt_parent for any mount m.
    * namespace_sem stabilizes m->mnt_parent, provided that
    m is mounted.
    * if either of the above holds and refcount of m is positive,
    we are guaranteed the same for refcount of m->mnt_parent.

    namespace_sem nests inside inode_lock(), so do_lock_mount() has
    to take inode_lock() before grabbing namespace_sem. It does
    recheck that path->mnt is still mounted in the same place after
    getting namespace_sem, and it does take care to pin the dentry.
    It is needed, since otherwise we might end up with racing mount –move
    (or umount) happening while we were getting locks; in that case
    dentry would no longer be a mountpoint and could’ve been evicted
    on memory pressure along with its inode – not something you want
    when grabbing lock on that inode.

    However, pinning a dentry is not enough – the matching mount is
    also pinned only by the fact that path->mnt is mounted on top it
    and at that point we are not holding any locks whatsoever, so
    the same kind of races could end up with all references to
    that mount gone just as we are about to enter inode_lock().
    If that happens, we are left with filesystem being shut down while
    we are holding a dentry reference on it; results are not pretty.

    What we need to do is grab both dentry and mount at the same time;
    that makes inode_lock() safe *and* avoids the problem with fs getting
    shut down under us. After taking namespace_sem we verify that
    path->mnt is still mounted (which stabilizes its ->mnt_parent) and
    check that it’s still mounted at the same place. From that point
    on to the matching namespace_unlock() we are guaranteed that
    mount/dentry pair we’d grabbed are also pinned by being the mountpoint
    of path->mnt, so we can quietly drop both the dentry reference (as
    the current code does) and mnt one – it’s OK to do under namespace_sem,
    since we are not dropping the final refs.

    That solves the problem on do_lock_mount() side; unlock_mount()
    also has one, since dentry is guaranteed to stay pinned only until
    the namespace_unlock(). That’s easy to fix – just have inode_unlock()
    done earlier, while it’s still pinned by mp->m_dentry.

    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-37983 – Linux kernel qibfs Dentry Leak
    Next Article CVE-2025-37987 – Linux PDS Core AdminQ Overflow/Stuck Condition Vulnerability

    Related Posts

    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-44658 – Netgear RAX30 PHP-FPM Misconfigured Extension Bypass Vulnerability

    July 22, 2025
    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-7393 – Drupal Mail Login Authentication Bypass

    July 22, 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-4021 – Code-projects Patient Record Management System SQL Injection Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Generate compliant content with Amazon Bedrock and ConstitutionalChain

    Machine Learning

    Grab this Xbox Series X before Walmart realizes Microsoft has increased the console’s price

    News & Updates

    Upgrading your Windows laptop? This affordable Dell model is my top pick for work

    News & Updates

    Highlights

    CVE-2025-5223 – CVE-2022-36462: Apache HTTP Server Remote Code Execution

    June 7, 2025

    CVE ID : CVE-2025-5223

    Published : June 7, 2025, 11:15 p.m. | 27 minutes ago

    Description : Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.

    Severity: 0.0 | NA

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

    Who needs a console when you can play Quake 2 with AI instead

    April 4, 2025

    I’ve sold on eBay for 25 years, and this new AI-powered listing tool is a game-changer

    April 9, 2025

    8 Venture Capital Firms Betting Big on Cybersecurity in 2025

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

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