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

      Full-Stack Techies vs Toptal: Which Is Better for React.js Outsourcing?

      July 3, 2025

      The AI productivity paradox in software engineering: Balancing efficiency and human skill retention

      July 2, 2025

      The impact of gray work on software development

      July 2, 2025

      CSS Intelligence: Speculating On The Future Of A Smarter Language

      July 2, 2025

      Your Roku has secret menus and screens – here’s how to unlock them

      July 3, 2025

      Add Paramount+, STARZ, and more to your Prime Video account for $0.99 a month – here’s how

      July 3, 2025

      My new favorite keychain accessory gives me 2TB of SSD storage instantly

      July 3, 2025

      HP’s latest OmniBook finally sold me on the 2-in-1 form factor (and it’s on sale)

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

      Simplifying Stream Handling with Laravel’s resource Method

      July 3, 2025
      Recent

      Simplifying Stream Handling with Laravel’s resource Method

      July 3, 2025

      Intelligent Parsing and Formatting of Names in PHP Applications

      July 3, 2025

      This Week in Laravel: Cursor Rules, Nightwatch Review, and Race Conditions

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

      Microsoft confirms Windows 11 KB5060829 issues, but you can safely ignore it

      July 3, 2025
      Recent

      Microsoft confirms Windows 11 KB5060829 issues, but you can safely ignore it

      July 3, 2025

      Hash Calculator – calculates around 50 cryptographic hashes of strings and files

      July 3, 2025

      Rilasciato Thunderbird 140 ESR: Un’attenzione alle esigenze aziendali

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

    Security

    Apache Tomcat and Camel Vulnerabilities Actively Exploited in The Wild

    July 3, 2025
    Security

    Grafana releases critical security update for Image Renderer plugin

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

    Pixel 7a battery problems? Google might fix it for free – here’s how to check

    News & Updates

    CVE-2025-47657 – Productive Minds Productive Commerce SQL Injection

    Common Vulnerabilities and Exposures (CVEs)

    10+ Best Free Invoice Templates for Freelance Designers & Developers

    Learning Resources

    CVE-2025-2492: Critical ASUS Router Vulnerability Requires Immediate Firmware Update

    Security

    Highlights

    CVE-2022-50219 – Linux Kernel BPF Use After Free Vulnerability

    June 18, 2025

    CVE ID : CVE-2022-50219

    Published : June 18, 2025, 11:15 a.m. | 3 hours, 16 minutes ago

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

    bpf: Fix KASAN use-after-free Read in compute_effective_progs

    Syzbot found a Use After Free bug in compute_effective_progs().
    The reproducer creates a number of BPF links, and causes a fault
    injected alloc to fail, while calling bpf_link_detach on them.
    Link detach triggers the link to be freed by bpf_link_free(),
    which calls __cgroup_bpf_detach() and update_effective_progs().
    If the memory allocation in this function fails, the function restores
    the pointer to the bpf_cgroup_link on the cgroup list, but the memory
    gets freed just after it returns. After this, every subsequent call to
    update_effective_progs() causes this already deallocated pointer to be
    dereferenced in prog_list_length(), and triggers KASAN UAF error.

    To fix this issue don’t preserve the pointer to the prog or link in the
    list, but remove it and replace it with a dummy prog without shrinking
    the table. The subsequent call to __cgroup_bpf_detach() or
    __cgroup_bpf_detach() will correct it.

    Severity: 0.0 | NA

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

    South of Midnight review and Metacritic roundup — Here’s what critics are saying about this Xbox folktale adventure

    April 3, 2025

    CVE-2025-46534 – DanielRiera Image Style Hover DOM-Based Cross-site Scripting Vulnerability

    April 24, 2025

    Srain is a modern IRC client written in GTK

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

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