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-38166 – Linux Kernel BPF ktls Panic Vulnerability

    CVE-2025-38166 – Linux Kernel BPF ktls Panic Vulnerability

    July 3, 2025

    CVE ID : CVE-2025-38166

    Published : July 3, 2025, 9:15 a.m. | 2 hours, 14 minutes ago

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

    bpf: fix ktls panic with sockmap

    [ 2172.936997] ————[ cut here ]————
    [ 2172.936999] kernel BUG at lib/iov_iter.c:629!
    ……
    [ 2172.944996] PKRU: 55555554
    [ 2172.945155] Call Trace:
    [ 2172.945299]
    [ 2172.945428] ? die+0x36/0x90
    [ 2172.945601] ? do_trap+0xdd/0x100
    [ 2172.945795] ? iov_iter_revert+0x178/0x180
    [ 2172.946031] ? iov_iter_revert+0x178/0x180
    [ 2172.946267] ? do_error_trap+0x7d/0x110
    [ 2172.946499] ? iov_iter_revert+0x178/0x180
    [ 2172.946736] ? exc_invalid_op+0x50/0x70
    [ 2172.946961] ? iov_iter_revert+0x178/0x180
    [ 2172.947197] ? asm_exc_invalid_op+0x1a/0x20
    [ 2172.947446] ? iov_iter_revert+0x178/0x180
    [ 2172.947683] ? iov_iter_revert+0x5c/0x180
    [ 2172.947913] tls_sw_sendmsg_locked.isra.0+0x794/0x840
    [ 2172.948206] tls_sw_sendmsg+0x52/0x80
    [ 2172.948420] ? inet_sendmsg+0x1f/0x70
    [ 2172.948634] __sys_sendto+0x1cd/0x200
    [ 2172.948848] ? find_held_lock+0x2b/0x80
    [ 2172.949072] ? syscall_trace_enter+0x140/0x270
    [ 2172.949330] ? __lock_release.isra.0+0x5e/0x170
    [ 2172.949595] ? find_held_lock+0x2b/0x80
    [ 2172.949817] ? syscall_trace_enter+0x140/0x270
    [ 2172.950211] ? lockdep_hardirqs_on_prepare+0xda/0x190
    [ 2172.950632] ? ktime_get_coarse_real_ts64+0xc2/0xd0
    [ 2172.951036] __x64_sys_sendto+0x24/0x30
    [ 2172.951382] do_syscall_64+0x90/0x170
    ……

    After calling bpf_exec_tx_verdict(), the size of msg_pl->sg may increase,
    e.g., when the BPF program executes bpf_msg_push_data().

    If the BPF program sets cork_bytes and sg.size is smaller than cork_bytes,
    it will return -ENOSPC and attempt to roll back to the non-zero copy
    logic. However, during rollback, msg->msg_iter is reset, but since
    msg_pl->sg.size has been increased, subsequent executions will exceed the
    actual size of msg_iter.
    ”’
    iov_iter_revert(&msg->msg_iter, msg_pl->sg.size – orig_size);
    ”’

    The changes in this commit are based on the following considerations:

    1. When cork_bytes is set, rolling back to non-zero copy logic is
    pointless and can directly go to zero-copy logic.

    2. We can not calculate the correct number of bytes to revert msg_iter.

    Assume the original data is “abcdefgh” (8 bytes), and after 3 pushes
    by the BPF program, it becomes 11-byte data: “abc?de?fgh?”.
    Then, we set cork_bytes to 6, which means the first 6 bytes have been
    processed, and the remaining 5 bytes “?fgh?” will be cached until the
    length meets the cork_bytes requirement.

    However, some data in “?fgh?” is not within ‘sg->msg_iter’
    (but in msg_pl instead), especially the data “?” we pushed.

    So it doesn’t seem as simple as just reverting through an offset of
    msg_iter.

    3. For non-TLS sockets in tcp_bpf_sendmsg, when a “cork” situation occurs,
    the user-space send() doesn’t return an error, and the returned length is
    the same as the input length parameter, even if some data is cached.

    Additionally, I saw that the current non-zero-copy logic for handling
    corking is written as:
    ”’
    line 1177
    else if (ret != -EAGAIN) {
    if (ret == -ENOSPC)
    ret = 0;
    goto send_end;
    ”’

    So it’s ok to just return ‘copied’ without error when a “cork” situation
    occurs.

    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-38168 – “ARM-NI Linux Kernel Perf PMU Unregister Vulnerability”
    Next Article CVE-2025-38172 – “Linux EROFS UAF 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-3263 – Hugging Face Transformers ReDoS Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-5157 – H3C SecCenter SMP-E1114P02 Remote Path Traversal Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Mastodon Bans AI Scraping, Updates Terms to Block Model Training & Raise Age Limit

    Operating Systems

    DuckDB is an in-process SQL OLAP database management system

    Linux

    Highlights

    Development

    How to Create Models in Your Django Project

    April 25, 2025

    If you’re building something with Django, there’s one thing you can’t skip: creating models. Models…

    CVE-2025-5421 – Juzaweb CMS Plugin Editor Page Remote Improper Access Control Vulnerability

    June 1, 2025

    SafePay, DevMan Emerge as Major Ransomware Threats

    June 3, 2025

    Ubisoft’s delay of Assassin’s Creed Shadows worked out so well, the company is pushing back some of its biggest hitters — potentially as far as March 2028

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

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