{"id":86554,"date":"2022-10-04T10:04:57","date_gmt":"2022-10-04T10:04:57","guid":{"rendered":"https:\/\/harchi90.com\/linux-6-1-feature-would-have-caught-all-memcpy-based-buffer-overflows-of-recent-years\/"},"modified":"2022-10-04T10:04:57","modified_gmt":"2022-10-04T10:04:57","slug":"linux-6-1-feature-would-have-caught-all-memcpy-based-buffer-overflows-of-recent-years","status":"publish","type":"post","link":"https:\/\/harchi90.com\/linux-6-1-feature-would-have-caught-all-memcpy-based-buffer-overflows-of-recent-years\/","title":{"rendered":"Linux 6.1 Feature Would Have Caught All memcpy Based Buffer Overflows Of Recent Years"},"content":{"rendered":"
\n
<\/div>\n

A kernel hardening security improvement on the way for Linux 6.1 is the ability to provide warning of possible memcpy() based overflows. Right now this is only a warning but it’s work towards being able to address “trivially detectable” buffer overflow conditions within the kernel and in the future may be able to block such overflows from happening.<\/p>\n

The addition that’s been in the works for over one year by Google engineer Kees Cook provides a run-time warning for cross-field memcpy() when the kernel is built with CONFIG_FORTIFY_SOURCE<\/em> enabled. The feature provides run-time checking of dynamic memcpy() and memmove() lengths and will issue a warning when a write would exceed the size of the target struct member.<\/p>\n

Kees Cook noted with the patch:<\/p>\n

“This would have caught all of the memcpy()-based buffer overflows in the last 3 years, specifically covering all the cases where the destination buffer size is known at compile time.”<\/p><\/blockquote>\n

The Linux “BleedingTooth” woes as the set of zero-click vulnerabilities within the Linux Bluetooth subsystem and leading to remote code execution is one example of something that could have been prevented by this work.<\/p>\n

<\/p>\n

This fortification feature has made it through linux-next an entire cycle but there are still known cases of false positives. Until those false positives are properly resolved, this feature only provides a warning over such possible overflows but will not block them – it’s possible once matured that such blocking will happen as a good defense against memcpy-based buffer overflows within the Linux kernel. The hope as well is even with the warning mode that this feature can be used for finding remaining issues within the kernel code where array sizes and struct members need to be fixed up, an ongoing focus in recent years.<\/p>\n

More details within the kernel hardening pull request targeting the newly-opened Linux 6.1 merge window.<\/p>\n<\/div>\n

.<\/p>\n","protected":false},"excerpt":{"rendered":"

A kernel hardening security improvement on the way for Linux 6.1 is the ability to provide warning of possible memcpy() based overflows. Right now this is only a warning but it’s work towards being able to address “trivially detectable” buffer overflow conditions within the kernel and in the future may be able to block such …<\/p>\n

Linux 6.1 Feature Would Have Caught All memcpy Based Buffer Overflows Of Recent Years<\/span> Read More »<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[4],"tags":[1111,1110,1108,1107,1114,1112,1109,1113,1106,1117,1115,1116],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":106316,"url":"https:\/\/harchi90.com\/linux-6-1-rc2-released-its-unusually-large\/","url_meta":{"origin":86554,"position":0},"title":"Linux 6.1-rc2 Released: It’s “Unusually Large”","date":"October 24, 2022","format":false,"excerpt":"We Need Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work\u2026","rel":"","context":"In "Technology"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":106307,"url":"https:\/\/harchi90.com\/amd-per-thread-cpu-microcode-loading-fix-submitted-for-linux-6-1-rc2\/","url_meta":{"origin":86554,"position":1},"title":"AMD Per-Thread CPU Microcode Loading Fix Submitted For Linux 6.1-rc2","date":"October 24, 2022","format":false,"excerpt":"A set of \"x86\/urgent\" patches were sent out this morning for pulling into the Linux kernel ahead of today's 6.1-rc2 release. This x86\/urgent pull request has a few fixes affecting the Linux kernel x86\/x86_64 CPU code. There are some topology fixes, various compiler handling checks cleared up, an Intel perf\u2026","rel":"","context":"In "Technology"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":106026,"url":"https:\/\/harchi90.com\/the-linux-kernel-may-finally-phase-out-intel-i486-cpu-support\/","url_meta":{"origin":86554,"position":2},"title":"The Linux Kernel May Finally Phase Out Intel i486 CPU Support","date":"October 24, 2022","format":false,"excerpt":"Linus Torvalds has backed the idea of \u200b\u200bpossibly removing Intel 486 (i486) processor support from the Linux kernel. After the Linux kernel dropped i386 support a decade ago, i486 has been the minimum x86 processor support for the mainline Linux kernel. This latest attempt to kill off i486 support ultimately\u2026","rel":"","context":"In "Technology"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":100512,"url":"https:\/\/harchi90.com\/proton-7-0-5-rc-gets-more-windows-games-running-on-linux\/","url_meta":{"origin":86554,"position":3},"title":"Proton 7.0-5 RC Gets More Windows Games Running On Linux","date":"October 18, 2022","format":false,"excerpt":"Valve is preparing to roll-out Proton 7.0-5 as the newest version of this Wine-derived software that powers Steam Play for enjoying Windows games on Linux. For facilitating some testing prior to the formal Proton 7.0-5, a release candidate was published today. Proton 7.0-5 is now available from Valve's \"release-candidate\" branch\u2026","rel":"","context":"In "Technology"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":99572,"url":"https:\/\/harchi90.com\/linux-6-1-rc1-released-with-rust-now-in-the-kernel-mglru-added-new-hardware-support\/","url_meta":{"origin":86554,"position":4},"title":"Linux 6.1-rc1 Released With Rust Now In The Kernel, MGLRU Added, New Hardware Support","date":"October 17, 2022","format":false,"excerpt":"We Need Your Support: Did you know that the hundreds of articles written on Phoronix each month are mostly authored by one individual working long hours? Phoronix.com doesn't have a whole news room with unlimited resources and relies upon people reading our content without blocking ads and alternatively by people\u2026","rel":"","context":"In "Technology"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":101365,"url":"https:\/\/harchi90.com\/microsoft-promotes-its-open-source-terminal-to-the-default-for-windows-11-cli-apps\/","url_meta":{"origin":86554,"position":5},"title":"Microsoft Promotes Its Open-Source Terminal To The Default For Windows 11 CLI Apps","date":"October 19, 2022","format":false,"excerpt":"As some interesting open-source news out of Microsoft today, their open-source Windows Terminal that has been in development the past few years and providing many modern features is now the default beginning with Windows 11 22H2. Assuming you are using Windows and have no other default preference set for the\u2026","rel":"","context":"In "Technology"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"fifu_image_url":"https:\/\/www.phoronix.net\/image.php?id=2022&image=linux_memcpy_warning","_links":{"self":[{"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/posts\/86554"}],"collection":[{"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/comments?post=86554"}],"version-history":[{"count":0,"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/posts\/86554\/revisions"}],"wp:attachment":[{"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/media?parent=86554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/categories?post=86554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/harchi90.com\/wp-json\/wp\/v2\/tags?post=86554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}