Within the final yr and a half, attackers have exploited at the least 5 vulnerabilities — together with 4 zero-days — in a delicate, kernel-level Home windows driver.
A collection of experiences revealed by Kaspersky’s Securelist this week lays out not only a handful of bugs, however a bigger, extra systemic concern within the present implementation of the Home windows Frequent Log File System (CLFS).
CLFS is a high-performance, general-purpose logging system obtainable for user- or kernel-mode software program purchasers. Its kernel entry makes it eminently helpful for hackers in search of low-level system privileges, and its performance-oriented design has left a collection of safety holes in its wake lately, which ransomware actors specifically have pounced on.
“Kernel drivers must be very cautious when dealing with information, as a result of if a vulnerability is found, attackers can exploit it and achieve system privileges,” Boris Larin, principal safety researcher at Kaspersky’s World Analysis and Evaluation Group, tells Darkish Studying. Sadly, “design selections in Home windows CLFS have made it almost unimaginable to securely parse these CLFS information, which led to the emergence of an enormous variety of related vulnerabilities.”
The Drawback With Home windows CLFS
Win32k-level zero-days aren’t solely unusual, Larin conceded in his analysis. Nonetheless, he wrote, “we had by no means seen so many CLFS driver exploits being utilized in lively assaults earlier than, after which abruptly there are such a lot of of them captured in only one yr. Is there one thing critically incorrect with the CLFS driver?”
Nothing specifically modified in regards to the CLFS driver this yr. Moderately, attackers appear to have simply now recognized what was incorrect with it this complete time: It leans too far left in that inescapable, everlasting steadiness between efficiency and safety.
“CLFS is maybe means too ‘optimized for efficiency,'” Larin wrote, detailing the entire numerous methods the motive force prioritizes it over safety. “It will be higher to have an affordable file format as a substitute of a dump of kernel constructions written to a file. All of the work with these kernel constructions (with pointers) occurs proper there within the blocks learn from disk. As a result of adjustments are made to the blocks and kernel constructions saved there, and people adjustments should be flushed to disk, the code parses the blocks again and again each time it must entry one thing.”
He added, “All this parsing is completed utilizing relative offsets, which might level to any location inside a block. If certainly one of these offsets turns into corrupted in reminiscence throughout execution, the results may be catastrophic. However maybe worst of all, offsets within the BLF file on disk may be manipulated in such a means that totally different constructions overlap, resulting in unexpected penalties.”
The sum of all of those design selections is efficient knowledge and occasion logging, but additionally loads of simply exploitable bugs. In 2023 alone there have been CVE-2022-24521, CVE-2022-37969, CVE-2023-23376, CVE-2023-28252 — all high-severity, 7.8-rated on the CVSS scale — used as zero-days, in addition to a fifth vulnerability that was patched earlier than any related malicious exercise was noticed within the wild. All of those had been leveraged by attackers, Kaspersky discovered — together with, for instance, the Nokoyawa ransomware group’s exploitation of CVE-2023-28252.
With out some form of redesign, CLFS could properly proceed to supply escalation alternatives for hackers. To organize for that, Larin suggests, “organizations ought to deal with implementing the perfect safety practices: all the time set up safety updates on time, set up safety merchandise on all endpoints, limit entry to their servers and pay big consideration to anti-virus detections coming from the servers, practice staff in order that they don’t turn out to be victims of spear-phishing.”