Security-Portal.cz je internetový portál zaměřený na počítačovou bezpečnost, hacking, anonymitu, počítačové sítě, programování, šifrování, exploity, Linux a BSD systémy. Provozuje spoustu zajímavých služeb a podporuje příznivce v zajímavých projektech.

Kategorie

Critical Update: CrushFTP Zero-Day Flaw Exploited in Targeted Attacks

The Hacker News - 20 Duben, 2024 - 07:18
Users of the CrushFTP enterprise file transfer software are being urged to update to the latest version following the discovery of a security flaw that has come under targeted exploitation in the wild. "CrushFTP v11 versions below 11.1 have a vulnerability where users can escape their VFS and download system files," CrushFTP said in an advisory released Friday.Newsroomhttp://www.blogger.com/profile/[email protected]
Kategorie: Hacking & Security

Akira Ransomware Gang Targets Linux Servers, Extorts $42 Million

LinuxSecurity.com - 19 Duben, 2024 - 19:19
The Akira ransomware group has extorted approximately $42 million from over 250 victims since January 1, 2024. The group initially focused on Windows systems but later shifted its attention to Linux servers, mainly targeting VMware ESXi virtual machines. The ransomware leverages different methods for initial access to target networks, such as exploiting known flaws in Cisco appliances, spear phishing, and abusing VPN services lacking multi-factor authentication protections. It also utilizes various tools for setting up persistence, privilege escalation, and lateral movement within networks.
Kategorie: Hacking & Security

Chasing business and partnerships, Apple goes APAC

Computerworld.com [Hacking News] - 19 Duben, 2024 - 17:45

While politicians who should know better waste time worrying about green bubbles, Apple continues to explore opportunities in global markets as its traditional ones become increasingly stagnant

Apple is also seeking ways to become less exposed to America’s growing politically driven tension against China, a nation that has been a strong partner for Cupertino — and therefore, also for US soft power’s success.

Following his visit to China in March, Apple CEO Tim Cook spent a week in Indonesia, Vietnam, and Singapore. The week was no idle executive jolly, nor should it be seen as an opportunity to purchase some new carbon offsets to justify use of the executive jet. Apple’s boss was there to do business — with a few splendid social media moments to add a little extra shine. 

Preparing the ground in Vietnam

During a two-day visit to Vietnam, Cook announced plans to increase spending on manufacturing suppliers there. Luxshare, Foxconn, Compal, and GoerTek already employ 150,000 people in Vietnam, while Apple and third parties support another 50,000 jobs. “From cooperating with local suppliers, to supporting clean water projects and educational opportunities, we are committed to continuing to strengthen connections in Vietnam,” Cook said in a statement.

The current thinking is that Apple sees Vietnam as a hub for Mac, AirPod production.

Nurturing talent in Indonesia

Cook’s tour then stopped in Indonesia, where Apple’s leader met President Joko Widodo to discuss potential investments. Cook even spoke at a news conference, during which he confirmed discussions about manufacturing and characterized the investment opportunity there as “endless.”

Apple doesn’t really have a strong manufacturing connection with Indonesia, but is making significant investments in people there. During Cook’s visit, the company announced its fourth developer academy in Bali. “We’ve seen many times over that a line of code can change the world — and in Indonesia, we’re investing in the creativity and skills of people determined to prove it,” Cook said in a statement

Expanding corporate staff in Singapore

Finally, Cook stopped in Singapore, where he visited Apple stores and the company’s new Developer Center. Apple had big news here too, announcing a $250 million investment to extend its existing campus in Ang Mo Kio. That campus is believed to act as a regional hub for corporate operations across the region. Apple first opened up in Singapore in 1981 when it was making the Apple II systems.

Feet on the ground

Apple’s connection with the region is nothing new. It has worked with suppliers and manufacturers across the Asia-Pacific region for years and Cook led those teams. While he was Apple’s Chief Operating Office, he was the leading architect of the company’s globalized, highly efficient supply chain. (He might have engaged in similar negotiations before Apple, when he led procurement at Compaq.)

Staying in the arena

Today, as Apple battles stormy regulatory seas, Cook seems to be leaning deep into his experience to guide the company through. That means meeting national leaders at the highest level in countries in which he sees signs of future opportunity. It builds on Cook’s track record — Apple’s work in India means that nation is accelerating to become a top three market for the company, and the company’s investments across the region should help it build its presence across adjacent national economies.

After all, as Cook once said, “The sidelines are not where you want to live your life. The world needs you in the arena,” and keeping that place in that arena is precisely what Apple needs to do. It’s also important to note that it’s about this time of year the company finalizes production deals with suppliers across the region.

Given the strategic importance of those arrangements, particularly during such interesting times, who better to sign the final commitment than the CEO? After all, we know new iPhones, Macs, iPads, and Vision family products are coming. They just won’t necessarily be made in China.

Please follow me on Mastodon, or join me in the AppleHolic’s bar & grill and Apple Discussions groups on MeWe.

Apple, Manufacturing Industry, Vendors and Providers
Kategorie: Hacking & Security

BlackTech Targets Tech, Research, and Gov Sectors New 'Deuterbear' Tool

The Hacker News - 19 Duben, 2024 - 15:44
Technology, research, and government sectors in the Asia-Pacific region have been targeted by a threat actor called BlackTech as part of a recent cyber attack wave. The intrusions pave the way for an updated version of modular backdoor dubbed Waterbear as well as its enhanced successor referred to as Deuterbear. Cybersecurity firm Trend Micro is tracking the
Kategorie: Hacking & Security

BlackTech Targets Tech, Research, and Gov Sectors New 'Deuterbear' Tool

The Hacker News - 19 Duben, 2024 - 15:44
Technology, research, and government sectors in the Asia-Pacific region have been targeted by a threat actor called BlackTech as part of a recent cyber attack wave. The intrusions pave the way for an updated version of modular backdoor dubbed Waterbear as well as its enhanced successor referred to as Deuterbear. Cybersecurity firm Trend Micro is tracking the Newsroomhttp://www.blogger.com/profile/[email protected]
Kategorie: Hacking & Security

Microsoft reminder: Support for Office 2016 and 2019 ends next year

Computerworld.com [Hacking News] - 19 Duben, 2024 - 14:21

Microsoft is reminding customers that support for its Office 2016 and Office 2019 suites and related productivity servers will end on Oct. 14, 2025. 

Microsoft issued the reminder this week that applications in the two Office suites — including versions of Excel, Outlook, PowerPoint, Word, and others — will no longer receive security fixes, bug fixes, and technical updates after the support date passes. 

That’s also true for Exchange Server 2016 and 2019, as well as Skype for Business Server 2015 and 2019, Microsoft said in a blog post Monday (Oct. 14, 2025 also happens to be the same date for Windows 10 support to end.)

Using these products after the end of support  leaves  business users vulnerable to “potential security threats, productivity losses, and compliance issues,” said Mariana Prudencio, senior product marketing manager at Microsoft. 

Not surprisingly, the company is pushing customers to cloud-based options. Microsoft recommends customers update to cloud-hosted versions of the software such as Microsoft 365 E3. Another option for Office 2016 and 2019 users is the Office Long-Term Servicing Channel, Microsoft said, which extends support into 2026.

Those that want to continue running Exchange Server on-premises are advised to prepare to migrate to the upcoming Exchange Server slated to arrive in 2025 prior to the end of support date. Microsoft recommends customers move to Exchange Server 2019 to ease this transition.

Businesses should be particularly wary of the looming end of support for Exchange servers, said Jack Gold, founder and principal analyst at J. Gold Associates. 

A lack of security updates would expose them to “a lot of risk,” he said, “since a large portion of threats are targeted against email and email servers, and stolen identities pose a big risk here.” Businesses that continue to run Exchange on-prem tend to be smaller, so it might be more difficult or costly for them to migrate, said Gold. 

“The larger companies have mostly migrated to online already,” he said.

End of support for the Office suites, on the other hand, is less problematic, said Gold, particularly for small business users. While security updates are important, smaller firms tend to run third-party antivirus and other security tools that can mitigate many potential threats. 

Some smaller business will look to migrate to Microsoft’s cloud-based Office apps, but many will opt to remain on the outdated versions past the support date and update the software in line with upgrades of other equipment. 

“And it is still possible to buy a standalone Office suite if you’re not in need of back-end servers, as many smaller businesses don’t require, so you can update that way,” said Gold. 

Microsoft, Microsoft Office, Office Suites
Kategorie: Hacking & Security

Google consolidates AI teams into DeepMind to scale capacity

Computerworld.com [Hacking News] - 19 Duben, 2024 - 13:29

Aimed at accelerating progress in AI development and responsible AI deployment, Alphabet-owned Google is consolidating its teams responsible for building AI models across Google Research and Google DeepMind, CEO Sundar Pichai said Thursday in a note to its employees. All AI “work will now sit in Google DeepMind,” Pichai said in the note.

The restructuring will “scale our capacity to deliver capable AI for our users, partners and customers,” Pichai said. “This will simplify development by concentrating compute-intensive model building in one place and establishing single access points for PAs looking to take these models and build generative AI applications.”

The Google DeepMind team will be led by Demis Hassabis.

Google formed Google DeepMind a year ago by combining two research teams in the AI field — the Brain Team of Google Research, and DeepMind. This focused team, backed by the computational prowess of Google “will significantly accelerate our progress in AI,” Pichai had said in an April 2023 note. Gemini models were created by Google DeepMind.

Google Research is the research arm of Google, dedicated to AI and computer science to develop next-generation technologies that benefit Google products having key focus areas including AI/ML, Responsible Human-centric Technology, Science & Societal Impact, Computing Paradigms, and Algorithms and Optimization.

What’s new now?

Google is now consolidating all its AI units one to “simplify our structure and improve velocity and execution — such as bringing together the Brain team in Google Research with teams in DeepMind, which helped accelerate our Gemini models; unifying our ML infrastructure and ML developer teams to enable faster decisions, smarter compute allocation, and a better customer experience; and bringing our Search teams under one leader,” the note added.

The move, Pichai said, also gives Google Research a clear mandate to continue investing in three key areas that align with Google’s mission — computing systems, foundational ML and algorithms, and applied science and society.

“Consolidating all of Google’s AI teams, including Google Research and DeepMind, into one unit under Google DeepMind likely reflects a strategic move aimed at streamlining and optimizing AI development and deployment across the company,” said Pradeepta Mishra, an AI expert and co-founder of data privacy firm Data Safeguard.

Besides, Google is reaffirming its commitment to responsible AI deployment by ramping up its Responsible AI Team’s roles and accountability. Teams focusing on Responsible AI within the Google Research team will now move to Google DeepMind to be closer to ‘where the models are built and scaled’, said the note.

Similarly, “other responsibility teams” are moving into our central “Trust and Safety” team where the company is investing more in “AI testing and evaluations” to enhance product accuracy and responsiveness. “These shifts create clearer responsibility and accountability at every level as we build and deploy, and strengthen the feedback loop between models, products, and users,” Pichai added in the note.

Recognizing the potential of AI, Google is also formalizing collaboration between its AI divisions, software, and computing platforms. “So we are formalizing the collaboration between DSPA and P&E and bringing the teams together in a new PA called Platforms & Devices.”

Having a unified team across Platforms & Devices will help Google deliver higher-quality products and experiences for its users and partners, Pichai said. It will help us turbocharge the Android and Chrome ecosystems, and bring the best innovations to partners faster — as we did with Circle to Search with Samsung. And internally, it will also speed up decision-making.”

How it helps Google

Merging teams eliminates redundancy and fosters closer collaboration between researchers and developers. This could accelerate the development cycle for new AI products and features. All these moves, Pichai said in the note, “will help us work with greater focus and clarity towards our mission.”

“With one central unit, decision-making around resource allocation and project priorities becomes more efficient,” Mishra added. The AI landscape is fiercely competitive. Data Safeguard’s Mishra said this consolidation could help Google “stay ahead of the curve by accelerating innovation.”

“By integrating research and development under one roof, Google might create more unified and impactful AI products across its platforms (Search, Assistant, etc.). Streamlined operations could lead to better resource utilization and potentially cost savings,” said Mishra.

Google
Kategorie: Hacking & Security

How Attackers Can Own a Business Without Touching the Endpoint

The Hacker News - 19 Duben, 2024 - 13:08
Attackers are increasingly making use of “networkless” attack techniques targeting cloud apps and identities. Here’s how attackers can (and are) compromising organizations – without ever needing to touch the endpoint or conventional networked systems and services.  Before getting into the details of the attack techniques being used, let’s discuss why
Kategorie: Hacking & Security

How Attackers Can Own a Business Without Touching the Endpoint

The Hacker News - 19 Duben, 2024 - 13:08
Attackers are increasingly making use of “networkless” attack techniques targeting cloud apps and identities. Here’s how attackers can (and are) compromising organizations – without ever needing to touch the endpoint or conventional networked systems and services.  Before getting into the details of the attack techniques being used, let’s discuss why The Hacker Newshttp://www.blogger.com/profile/[email protected]
Kategorie: Hacking & Security

Akira Ransomware Gang Extorts $42 Million; Now Targets Linux Servers

The Hacker News - 19 Duben, 2024 - 13:01
Threat actors behind the Akira ransomware group have extorted approximately $42 million in illicit proceeds after breaching the networks of more than 250 victims as of January 1, 2024. "Since March 2023, Akira ransomware has impacted a wide range of businesses and critical infrastructure entities in North America, Europe, and Australia," cybersecurity agencies from the Netherlands and the U.S.,
Kategorie: Hacking & Security

Akira Ransomware Gang Extorts $42 Million; Now Targets Linux Servers

The Hacker News - 19 Duben, 2024 - 13:01
Threat actors behind the Akira ransomware group have extorted approximately $42 million in illicit proceeds after breaching the networks of more than 250 victims as of January 1, 2024. "Since March 2023, Akira ransomware has impacted a wide range of businesses and critical infrastructure entities in North America, Europe, and Australia," cybersecurity agencies from the Netherlands and the U.S., Newsroomhttp://www.blogger.com/profile/[email protected]
Kategorie: Hacking & Security

Linux Kernel 'Make-Me-Root' Flaw Threatens Popular Distros [Updated]

LinuxSecurity.com - 19 Duben, 2024 - 13:00
In the world of open-source software , security vulnerabilities can have widespread consequences. The recent publication of a Linux privilege-escalation proof-of-concept exploit has sent shockwaves through the Linux community, demanding the immediate attention of Linux admins, infosec professionals, internet security enthusiasts, and sysadmins.
Kategorie: Hacking & Security

Hackers Target Middle East Governments with Evasive "CR4T" Backdoor

The Hacker News - 19 Duben, 2024 - 08:16
Government entities in the Middle East have been targeted as part of a previously undocumented campaign to deliver a new backdoor dubbed CR4T. Russian cybersecurity company Kaspersky said it discovered the activity in February 2024, with evidence suggesting that it may have been active since at least a year prior. The campaign has been codenamed 
Kategorie: Hacking & Security

Hackers Target Middle East Governments with Evasive "CR4T" Backdoor

The Hacker News - 19 Duben, 2024 - 08:16
Government entities in the Middle East have been targeted as part of a previously undocumented campaign to deliver a new backdoor dubbed CR4T. Russian cybersecurity company Kaspersky said it discovered the activity in February 2024, with evidence suggesting that it may have been active since at least a year prior. The campaign has been codenamed Newsroomhttp://www.blogger.com/profile/[email protected]
Kategorie: Hacking & Security

Linus Torvalds Addresses Malicious Developers, Hardware Errors and More at Open Source Summit

LinuxSecurity.com - 18 Duben, 2024 - 21:49
At The Linux Foundation's Open Source Summit North America , Linus Torvalds, the creator of Linux, discussed various topics related to Linux development and the challenges the open-source community faces. Torvalds addressed hardware errors, malicious developers, and the hype surrounding Artificial Intelligence (AI).
Kategorie: Hacking & Security

Zoom offers AI-based updates to its Workplace collaboration space

Computerworld.com [Hacking News] - 18 Duben, 2024 - 21:38

Online meeting platform Zoom this week announced updates to its meeting collaboration space Workplace, adding AI-powered capabilities that include a previously released “assistant” that offers post-meeting summaries and the ability to compose chats and email drafts. 

Available through Zoom’s desktop app, the Workplace collaboration platform includes the use of its Zoom AI Companion, which it released last September. 

The AI Companion, enabled in the toolbar, uses OpenAI’s ChatGPT generative AI (genAI) features to perform tasks such as presenting a summary of a meeting, identifying action items, and prompting users to share next steps with key meeting members.

The company’s new Zoom Phone capabilities also offer post-call summaries, voice mail prioritization, and task extraction, among other features. 

In January, Zoom launched a mixed reality app that works with Apple’s Vision Pro headset to offer users a 3D representation of meeting participants along with three dimensional representations of media and design files.  For example, an animator or game designer could collaborate and share the latest character model via Zoom’s 3D object sharing capabilities.

Zoom’s Workplace collaboration app offers features such as a combined meetings and calendar view on one tab, along with a new “agenda” view for meeting participants. 

Users of  Zoom’s desktop app will notice the Workplace name throughout the app, the company said.

Workplace now offers what the company referred to as a “simplified navigation bar” at the top to make it easier for users to organize and find the tabs used most often. Users also can drag and drop tabs into their preferred order.

Workplace also offers a choice of new color themes and to opt for Zoom’s classic dark or light themes in a desktop’s app settings. The toolbar can also be customized by dragging and dropping items (including from the “More” menu) into place.

Finally, Workplace offers a multi-speaker view that will highlight people who are actively speaking in a meeting with more than five participants.

Another feature Zoom said will be available “soon” is the Ask AI Companion, a chatbot that will complete routine user tasks, such as creating meeting preparation materials with relevant content such as meeting summaries and chat threads, drafting agendas, and brainstorming ideas. 

“Ask AI Companion will be available throughout Zoom Workplace, so your AI-powered digital assistant is always at your fingertips, helping to elevate your performance and free up your schedule,” Zoom said in a blog post.

Collaboration Software, Generative AI, Productivity Software, Zoom Video Communications
Kategorie: Hacking & Security

Report: Microsoft-OpenAI ownership might get conditional OK from EU regulators

Computerworld.com [Hacking News] - 18 Duben, 2024 - 19:24

Microsoft’s $13 billion investment in OpenAI might not trigger EU antitrust restrictions since it is unlikely to be viewed as an “acquisition” in the legal sense in that jurisdiction.

report Wednesday by Reuters said this means Microsoft would likely avoid more formal investigation procedures and potential regulatory stumbling blocks as a result of its investment in the generative AI LLM provider.

Reached for comment, a European Commission spokesperson said that for a transaction to be “notifiable” to EC as a merger, it has to represent a change in control of the affected company “on a lasting basis.”

The spokesperson did not rule out a more formal and rigorous regulatory approach and said its investigation into the Microsoft-OpenAI deal is ongoing.

“While this transaction has not been formally notified, the Commission has been following very closely the situation of control over OpenAI already before the recent events involving its management, including Microsoft’s role on the OpenAI board and the investment agreements between Microsoft and OpenAI,” the spokesperson said.

The EC has yet to conclude, however, that the relationship between the two companies rises to the level of a “change of control” as a result of Microsoft’s investments.

Reuters’ report on the matter notes that UK and US antitrust regulators are also still in the preliminary stages of approval for the deal, with both the UK’s Competition and Markets Authority and the US Department of Justice and FTC thought to be considering their next steps in terms of formal reviews and probes.

Under EU law, a “concentration,” which would be subject to antitrust review, can take place when the change of control in one company is accomplished. This, according to the Consolidated Jurisdictional Notice, can be done by acquiring “sole control” of a company, in the sense of the controlling entity being able to exercise decisive influence over the other.

Sole control can also, however, be found to exist on a purely legal or factual basis, reflecting the myriad of board, stockholder and voting rights arrangements available to corporations doing business in the EU. A majority of voting rights, for example, could provide effective sole control, while a minority shareholder who is likely to succeed in achieving majorities at shareholders’ meetings could be found to be in de facto control.

UK and EU regulators had warned Microsoft in January that its investments in OpenAI could be subject to review despite the company’s insistence that its position on the board is non-voting and therefore that it had no ownership of OpenAI. 

Microsoft declined to comment.

Generative AI, Government, Microsoft, Regulation
Kategorie: Hacking & Security

Apple wants to improve the carbon offset market

Computerworld.com [Hacking News] - 18 Duben, 2024 - 18:53

Apple has published its annual environmental report detailing its progress towards becoming completely carbon neutral by 2030. While critics will, of course, condemn the report as “greenwash,” it’s hard to identity many other big firms working quite as hard to be so transparent across the impact of their business.

In the report’s introduction, Lisa Jackson, Apple’s vice president for environment, policy, and social initiatives, confirms that Apple is working in multiple directions to achieve its 2030 target.

“The proof of Apple’s commitment to climate action is in our progress: We’ve slashed emissions by more than half, all while serving more users than ever before,” said Jackson. “More hard work is ahead of us, and we’re focused on harnessing the power of innovation and collaboration to maximize our impact.”

Energy from sun and wind

To get there, the company is making deep investments in wind and solar power, new recycling, and materials process technology, and seeking to build sustainability right inside its product designs. It means climate action is on the agenda at every product design meeting, and means the packaging it uses is constantly being optimized to reduce the cost of freight.

It’s important to understand the scope Apple has in this.

The company is already carbon neutral across its own business operations, But in the last few years, it has been working with a rapidly growing number of its own suppliers to achieve the same goal in product manufacturing. More than 320 Apple suppliers have committed to using renewable energy, the company says, while more than 20% of the materials used in Apple products came from recycled sources. Its recently introduced MacBook Air is made with over 50% recycled material.

Recycling for the rest of us

Apple seems to agree that climate justice is also social justice

That’s why it matters that the company wants to use 100% recycled rare earth materials in its products. The iPhone 15 range uses 100% recycled cobalt in smartphone batteries. These valuable materials are often described as “conflict minerals,” because they come from active war zones and are often mined at gunpoint by forced labor — including kids. I suppose that Just as Find My iPhone makes stealing Apple’s phones less attractive, dramatic reductions in demand for such minerals might well make even forced labor less profitable. 

Apple wants carbon offset transparency

The company has lots of reasons to take pride in much of what it has achieved to mitigate the consequences of running its business, but not every process or use can be avoided or reduced. To make up for this, Apple makes big use of carbon credits.

A lot of people don’t have much faith in carbon credits as a route to environmental sustainability, which Apple seems to recognize. Not only does it call its use of these an “interim solution,” but stresses that its priority is to reduce emissions rather than rely on that kind of mitigation. 

To me, this means Apple’s reliance on carbon credits is the weakest link in the Apple 2030 story. But the fact the company sees it as an interim solution and its investment of over $200 million in high quality offset projects such as those in Africa’s Chyulu Hills or in Guizhou, China show tangible recognition of this. 

Apple also gains some brownie points for transparency on its use of carbon offsets because it has published an extensive white paper explaining its approach in a great deal more depth. This includes some key recommendations to perhaps improve the quality of such projects on an industry-wide basis. 

We need standards of trust

Apple wants more independent transparency of carbon offset projects, calls for more coordination and collaboration around them, and better national and international policies to support rapid scale up of carbon removal.

“We believe that a market gap still exists for a centralized transparent process to review individual carbon projects against agreed-upon standards,” the Apple white paper says. That’s as close as you can get to conceding that many of the carbon credit schemes being run and relied upon by big companies now might not actually be making a difference. 

But what is at least somewhat reassuring is Apple’s stated willingness to work to improve the quality of carbon offsets, and the urgency with which it seems to see these goals. “We recognize that the current carbon markets aren’t equipped to deal with the scale and integrity of impact needed to achieve a 1.5℃ pathway and remove tens of billions of tons of carbon by 2050,” the white paper states. 

“We intend to work to improve the quality of these markets. We’re also aiming to build a pipeline of projects that meet the highest-quality standards that can scale to meet the growing demand for nature-based removals. And we’ll continue to progress our goal of building much-needed solutions for high-quality engineered carbon removals to complement these efforts.”

Our planet is in crisis

Overall, this year’s Apple environmental report shows a company that has moved far beyond lip service to try to tackle the big challenge all of us share today. “Our planet is in crisis, and without urgent action on climate change, we won’t be able to keep global warming to 1.5℃, and avoid the worst climate change impacts,” Apple said.

Please follow me on Mastodon, or join me in the AppleHolic’s bar & grill and Apple Discussions groups on MeWe.

Apple, Green IT, iOS, Technology Industry, Vendors and Providers
Kategorie: Hacking & Security

The Windows Registry Adventure #2: A brief history of the feature

Project Zero - 18 Duben, 2024 - 18:46
@import url(https://themes.googleusercontent.com/fonts/css?kit=lhDjYqiy3mZ0x6ROQEUoUw);ul.lst-kix_isoepzyy3bf4-8{list-style-type:none}ul.lst-kix_isoepzyy3bf4-7{list-style-type:none}ul.lst-kix_isoepzyy3bf4-6{list-style-type:none}ul.lst-kix_isoepzyy3bf4-5{list-style-type:none}ul.lst-kix_isoepzyy3bf4-4{list-style-type:none}ul.lst-kix_isoepzyy3bf4-3{list-style-type:none}ul.lst-kix_isoepzyy3bf4-2{list-style-type:none}ul.lst-kix_isoepzyy3bf4-1{list-style-type:none}.lst-kix_qqcc7cub1y3f-1>li:before{content:"\0025cb "}ul.lst-kix_isoepzyy3bf4-0{list-style-type:none}.lst-kix_qqcc7cub1y3f-0>li:before{content:"\0025cf "}.lst-kix_qqcc7cub1y3f-5>li:before{content:"\0025a0 "}.lst-kix_qqcc7cub1y3f-3>li:before{content:"\0025cf "}.lst-kix_qqcc7cub1y3f-7>li:before{content:"\0025cb "}.lst-kix_qqcc7cub1y3f-2>li:before{content:"\0025a0 "}.lst-kix_qqcc7cub1y3f-6>li:before{content:"\0025cf "}.lst-kix_qqcc7cub1y3f-4>li:before{content:"\0025cb "}.lst-kix_isoepzyy3bf4-8>li:before{content:"\0025a0 "}ul.lst-kix_9jktwi63hg68-8{list-style-type:none}ul.lst-kix_9jktwi63hg68-7{list-style-type:none}.lst-kix_isoepzyy3bf4-6>li:before{content:"\0025cf "}.lst-kix_isoepzyy3bf4-7>li:before{content:"\0025cb "}.lst-kix_isoepzyy3bf4-5>li:before{content:"\0025a0 "}.lst-kix_isoepzyy3bf4-4>li:before{content:"\0025cb "}.lst-kix_9jktwi63hg68-6>li:before{content:"\0025cf "}.lst-kix_qqcc7cub1y3f-8>li:before{content:"\0025a0 "}.lst-kix_9jktwi63hg68-7>li:before{content:"\0025cb "}.lst-kix_isoepzyy3bf4-1>li:before{content:"\0025cb "}.lst-kix_isoepzyy3bf4-0>li:before{content:"\0025cf "}.lst-kix_isoepzyy3bf4-2>li:before{content:"\0025a0 "}.lst-kix_isoepzyy3bf4-3>li:before{content:"\0025cf "}.lst-kix_9jktwi63hg68-8>li:before{content:"\0025a0 "}ul.lst-kix_9jktwi63hg68-2{list-style-type:none}ul.lst-kix_9jktwi63hg68-1{list-style-type:none}ul.lst-kix_9jktwi63hg68-0{list-style-type:none}ul.lst-kix_9jktwi63hg68-6{list-style-type:none}ul.lst-kix_9jktwi63hg68-5{list-style-type:none}ul.lst-kix_9jktwi63hg68-4{list-style-type:none}ul.lst-kix_9jktwi63hg68-3{list-style-type:none}.lst-kix_9jktwi63hg68-5>li:before{content:"\0025a0 "}.lst-kix_9jktwi63hg68-4>li:before{content:"\0025cb "}.lst-kix_9jktwi63hg68-3>li:before{content:"\0025cf "}.lst-kix_9jktwi63hg68-2>li:before{content:"\0025a0 "}.lst-kix_9jktwi63hg68-1>li:before{content:"\0025cb "}.lst-kix_9jktwi63hg68-0>li:before{content:"\0025cf "}li.li-bullet-0:before{margin-left:-18pt;white-space:nowrap;display:inline-block;min-width:18pt}ul.lst-kix_qqcc7cub1y3f-6{list-style-type:none}ul.lst-kix_qqcc7cub1y3f-5{list-style-type:none}ul.lst-kix_qqcc7cub1y3f-8{list-style-type:none}ul.lst-kix_qqcc7cub1y3f-7{list-style-type:none}ul.lst-kix_qqcc7cub1y3f-0{list-style-type:none}ul.lst-kix_qqcc7cub1y3f-2{list-style-type:none}ul.lst-kix_qqcc7cub1y3f-1{list-style-type:none}ul.lst-kix_qqcc7cub1y3f-4{list-style-type:none}ul.lst-kix_qqcc7cub1y3f-3{list-style-type:none}ol{margin:0;padding:0}table td,table th{padding:0}.zwnMkNbCmE-c7{border-right-style:solid;padding:6pt 7pt 0pt 7pt;border-bottom-color:#9e9e9e;border-top-width:1pt;border-right-width:1pt;border-left-color:#9e9e9e;vertical-align:top;border-right-color:#9e9e9e;border-left-width:1pt;border-top-style:solid;background-color:#efefef;border-left-style:solid;border-bottom-width:1pt;width:570pt;border-top-color:#9e9e9e;border-bottom-style:solid}.zwnMkNbCmE-c12{border-right-style:solid;padding:7pt 7pt 7pt 7pt;border-bottom-color:#9e9e9e;border-top-width:1pt;border-right-width:1pt;border-left-color:#9e9e9e;vertical-align:top;border-right-color:#9e9e9e;border-left-width:1pt;border-top-style:solid;background-color:#efefef;border-left-style:solid;border-bottom-width:1pt;width:190pt;border-top-color:#9e9e9e;border-bottom-style:solid}.zwnMkNbCmE-c11{border-right-style:solid;padding:6pt 7pt 0pt 7pt;border-bottom-color:#9e9e9e;border-top-width:1pt;border-right-width:1pt;border-left-color:#9e9e9e;vertical-align:top;border-right-color:#9e9e9e;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:190pt;border-top-color:#9e9e9e;border-bottom-style:solid}.zwnMkNbCmE-c5{margin-left:36pt;padding-top:0pt;padding-left:0pt;padding-bottom:0pt;line-height:1.5;orphans:2;widows:2;text-align:left}.zwnMkNbCmE-c26{color:#999999;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.zwnMkNbCmE-c8{padding-top:0pt;padding-bottom:0pt;line-height:1.5;orphans:2;widows:2;text-align:left;height:11pt}.zwnMkNbCmE-c2{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.zwnMkNbCmE-c17{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:16pt;font-family:"Arial";font-style:normal}.zwnMkNbCmE-c1{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10pt;font-family:"Arial";font-style:normal}.zwnMkNbCmE-c13{padding-top:0pt;padding-bottom:0pt;line-height:1.5;orphans:2;widows:2;text-align:center}.zwnMkNbCmE-c21{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial"}.zwnMkNbCmE-c22{color:#000000;text-decoration:none;vertical-align:baseline;font-size:10pt;font-family:"Arial";font-style:normal}.zwnMkNbCmE-c23{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:left;height:11pt}.zwnMkNbCmE-c9{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:left;height:11pt}.zwnMkNbCmE-c16{padding-top:18pt;padding-bottom:6pt;line-height:1.5;page-break-after:avoid;text-align:left}.zwnMkNbCmE-c27{border-spacing:0;border-collapse:collapse;margin-right:auto}.zwnMkNbCmE-c20{text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;text-decoration:underline}.zwnMkNbCmE-c18{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:center}.zwnMkNbCmE-c10{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:left}.zwnMkNbCmE-c25{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:left}.zwnMkNbCmE-c24{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}.zwnMkNbCmE-c15{color:inherit;text-decoration:inherit}.zwnMkNbCmE-c14{orphans:2;widows:2}.zwnMkNbCmE-c6{padding:0;margin:0}.zwnMkNbCmE-c3{font-weight:400;font-family:Consolas,"Courier New"}.zwnMkNbCmE-c0{font-weight:700}.zwnMkNbCmE-c4{height:23pt}.zwnMkNbCmE-c19{font-style:italic}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left}

Posted by Mateusz Jurczyk, Google Project Zero

Before diving into the low-level security aspects of the registry, it is important to understand its role in the operating system and a bit of history behind it. In essence, the registry is a hierarchical database made of named "keys" and "values", used by Windows and applications to store a variety of settings and configuration data. It is represented by a tree structure, in which keys may have one or more sub-keys, and every subkey is associated with exactly one parent key. Furthermore, every key may also contain one or more values, which have a type (integer, string, binary blob etc.) and are used to store actual data in the registry. Every key can be uniquely identified by its name and the names of all of its ascendants separated by the special backslash character ('\'), and starting with the name of one of the top-level keys (HKEY_LOCAL_MACHINE, HKEY_USERS, etc.). For example, a full registry path may look like this: HKEY_CURRENT_USER\Software\Microsoft\Windows. At a high level, this closely resembles the structure of a file system, where the top-level key is equivalent to the root of a mounted disk partition (e.g. C:\), keys are equivalent to directories, and values are equivalent to files. One important distinction, however, is that keys are the only type of securable objects in the registry, and values play a much lesser role in the database than files do in the file system. Furthermore, specific subtrees of the registry are stored on disk in binary files called registry hives, and the hive mount points don't necessarily correspond one-to-one to the top-level keys (e.g. the C:\Windows\system32\config\SOFTWARE hive is mounted under HKEY_LOCAL_MACHINE\Software, a one-level nested key).

Fundamentally, there are only a few basic operations that can be performed in the registry. These operations are summarized in the table below:

Hives

Load hive

Unload hive

Flush hive to disk

Keys

Open key

Create key

Delete key

Rename key

Set/query key security

Set/query key flags

Enumerate subkeys

Notify on key change

Query key path

Query number of open subkeys

Close key handle

Values

Set value

Delete value

Enumerate values

Query value data

Before we dive into any of them in particular, let's first trace the registry's evolution and the path that led to its current state.

Windows 3.1

The registry was first introduced in Windows 3.1 released in 1992. It was designed as a centralized configuration store meant to address the many shortcomings of basic text configuration files from MS-DOS (e.g. config.sys) and the slightly more structured .INI files from very early versions of Windows. But the first registry was nothing like we know it today: there was only one top-level key (an equivalent of HKEY_CLASSES_ROOT) and only one hive (C:\windows\reg.dat) limited to 64 KB in size, formatted in a custom binary format represented by the magic bytes "SHCC3.10". There were no values (data was assigned directly to keys), and the registry was used solely for OLE/COM and file type registration. This is what the first Regedit.exe looked like when launched in advanced mode:

The first Registry Editor running on Windows 3.1

Despite its limitations, the Windows 3.1 registry was an important milestone, as it established long-lasting concepts like its hierarchical structure and paved the way for today's advanced registry features.

Windows NT 3.1, 3.5 and 3.51

One year later in 1993, a new version of Windows was released based on a completely refreshed and more robust kernel design: Windows NT 3.1. To this day, the original NT kernel continues to be the underpinning of all modern versions of Windows up to and including Windows 11 – and the same can be said for its registry implementation. The biggest functional registry changes found in Windows NT 3.x as compared to Windows 3.1 were:

  • Introducing many new top-level keys (HKLM, HKCU, HKU) and thus extending the scope of information intended to be stored in the registry.
  • Replacing the single reg.dat hive file with a number of separate hives (default, sam, security, software, system located in C:\winnt\system32\config).
  • Introducing named values with several possible data types.
  • Making registry keys securable.
  • Eliminating the 64 KB registry hive limit.

To accommodate these new features, Windows adopted a novel binary format called "regf", which was specifically designed to support the expanded functionality. The core principles behind the format remained unchanged across the NT 3.x version line, but it continued to internally evolve, as signified by the increasing version numbers encoded in the hive file headers. Specifically, pre-release builds of Windows NT 3.1 used regf v1.0, Windows NT 3.1 RTM used regf v1.1, and Windows NT 3.5 and 3.51 used regf v1.2.

Lastly, while Regedit.exe remained the simplistic "Registration Info Editor", a new utility, RegEdt32.exe, was added with far more options and unrestricted access to the system registry. Despite its dated appearance, the structure of the UI began to resemble the shape of the modern registry and the core concepts behind today's registry editor:

RegEdt32.exe running on Windows NT 3.1

Notably, Windows NT 3.1 was the first system whose parts of code are still used today in Windows 11. Based on this observation, we can now confidently claim that the registry code base is over 30 years old.

Windows 95

Not long after, in the summer of 1995, Windows 95 was officially released to the public. It quickly became a huge hit, mostly thanks to innovations in the user interface – it was the first version to feature a taskbar, the Start menu, and the general look and feel that we now associate with Windows. With regards to the registry internals, though, it wasn't particularly interesting. It continued the trend started by Windows NT 3.x of expanding the registry into an even more central part of the operating system, and borrowed many of the same high-level concepts. However, since it was based on a completely different kernel than NT, the underlying registry implementation differed, too. All of the registry data was typically stored in just two files: C:\WINDOWS\System.dat and C:\WINDOWS\User.dat. They were encoded in yet another binary format indicated by the "CREG" signature, which was more capable than the Win3.1 format, but inferior to WinNT's regf (e.g. it didn't support security descriptors). The same format was later inherited by subsequent systems from the 9x series, namely Windows 98 and Me, but its legacy ended there. According to my knowledge, the CREG format had minimal impact on the registry's development in the NT line, so a deeper discussion of its internals isn't necessary.

Arguably, the one thing that had the most lasting impact in Windows 95 related to registry was the complete redesign of Regedit.exe, both functionally and visually. It gained the ability to browse the entire registry tree, read existing values and create new ones, rename keys, and search for text strings within keys, values and data. At first glance, it looks almost identical to the modern Registry Editor, with the exception of a few missing options, such as loading custom hives or managing key security. Even the program icon has remained largely unchanged and to many power users, it is synonymous with the Windows registry up to this day:

Redesigned Regedit.exe running on Windows 95

Windows NT 4.0

The debut of Windows NT 4.0 in 1996 marked another important milestone for the registry, but this time mostly on the technical side. In terms of visuals, NT 4.0 adopted the same graphical interface as Windows 95, including the new and improved Regedit.exe. As a result of the Regedit addition, Windows NT 4.0 now included two competing registry editors: Regedit from Windows 95 and RegEdt32 from Windows NT 3.x. They shared some overlapping functionality (e.g. the ability to manually traverse the registry and inspect individual values), but each offered some unique features too: only Regedit was capable of searching for data in values, while only RegEdt32 supported managing the security of registry keys. I suspect that the presence of two different tools must have been confusing for users who wanted to modify the system's internal settings: not only did they have to understand the structure of the registry and how to navigate it, but also know which tool to use for a specific task. Both utilities made their way into Windows 2000, but they were finally merged in Windows XP into a single Regedit.exe program. RegEdt32.exe can still be found on modern versions of Windows in C:\Windows\system32 as a historical artifact, but all it currently does is just launch Regedit.exe and terminate.

As mentioned earlier, the really important changes in NT 4.0 happened under the hood. Between the release of NT 3.51 and NT 4.0, the kernel developers updated some internal aspects of the regf format to simplify it and make it more efficient. Furthermore, a new optimization called "fast leaves" was introduced, which added special four-byte hints to the subkey lists in order to speed up key lookups. These changes were substantial and not backwards-compatible, so the version had to be increased again, leading to regf v1.3. This is noteworthy because 1.3 is the earliest hive type that is considered a modern version and that is still supported by today's Windows 10 and 11, even though newer format versions up to 1.6 exist now too. It means that one can copy a hive file off of a Windows NT 4.0 system, load it in Regedit on Windows 11, examine and modify it, copy it back, and each of these steps will work without issue. What is more, the support is not just there for reading archival hives – in documented API functions such as RegSaveKeyExA, version 1.3 is represented by the REG_STANDARD_FORMAT enum, indicating that it is considered the "standard" even as of today. And indeed, there are some core system hives in Windows 11, such as UsrClass.dat mounted at HKEY_USERS\<SID>_Classes, that are still encoded in the regf v1.3 format. So in that sense, Windows NT 4.0 and 11, despite being released decades apart and representing vastly different technological eras, exhibit a fundamental connection.

Modern times

Based on the fact that both the regf hive format and the graphical interface of Regedit have essentially remained the same between 1996 and 2024, one could assume that the internal registry implementation hasn't changed that much, either. We can try to prove or disprove this hypothesis by performing a little experiment, measuring the volume of registry-related code in each consecutive version of Windows. To ensure a consistent methodology and make the survey security-relevant, we will focus on the kernel-mode part of the Configuration Manager, which largely constitutes a local attack surface. Such an analysis is technically feasible and even relatively easy to achieve, because:

  • The entirety of the kernel registry-related code is compiled into a single executable image: ntoskrnl.exe.
  • Debug symbols (PDB/DBG files) for the kernels of all NT-family systems were made publicly available by Microsoft, either via the Microsoft Symbol Server, symbol packages downloadable from the Microsoft website, or symbol files bundled with the system installation media.
  • The kernel code follows a consistent naming convention, where all function names related to the registry start with either "Hv" (standing for Hive), "Cm" (standing for Configuration Manager) or "Vr" (likely standing for Virtualized Registry), with a few minor exceptions.
  • There are some very good reverse-engineering tools available today, which can help us count the number of assembly instructions or even the number of decompiled C-like source code lines corresponding to the registry engine.

In my case, I used IDA Pro with Hex-Rays to decompile the entire kernel of each NT-line system, and then ran a post-processing script to extract the registry related functions. After counting the numbers of lines and plotting them on a diagram, here is what we get:

As we can see, there has been an enormous, steady growth of the code base, starting at around 10,000 lines of code in NT 4.0 and increasing tenfold to around 100,000 lines in Windows 11. It is important to reiterate that this only covers the kernel portions of the registry and ignores code found in user-mode libraries such as advapi32.dll, KernelBase.dll or ntdll.dll. Furthermore, I expect that the decompiled code is more dense than the original source code because it doesn't include any comments or whitespace. Taking all this into account, the total extent of the registry code managed by Microsoft is probably much bigger than the numbers shown above.

Going back to the kernel registry code, its expansion in time has been substantial, both in absolute and relative terms. But if these developments are invisible to the average user, what does all of the new code do? The changes can be divided into three major categories:

  • Optimizations: changes making the registry more efficient, e.g. introducing a "hash leaf" subkey index type to make key lookups even faster in regf v1.5, or adding a native system call to rename keys in-place without involving an expensive copy+delete operation on an entire subtree.
  • Backwards compatibility: changes meant to make legacy applications run seamlessly on modern systems, e.g. registry virtualization.
  • New features: changes adding new functionality to the registry or adapting it to new use cases. These are either made available via a new API (thus mainly relevant to software developers), or not documented at all and only used by Windows internally. Examples include support for values larger than 1 MB, registry callbacks, support for transactions, application hives, and differencing hives.

Interestingly, the biggest changes weren't occurring with any regularity, but rather were concentrated in just four versions of Windows: NT 3.1–4.0, XP, Vista and 10 Anniversary Update (1607). This is illustrated in the timeline below:

This is of course not an exhaustive list: it includes the features that I have found to be the most interesting during the security audit, but it is missing modifications related to incremental logging, improvements to how hive files are managed and mapped in memory, and many other optimizations, stability improvements and refactorings implemented by Microsoft throughout the years. But it goes to show that the registry is a highly complex part of the Windows kernel, and one with a lot of potential for deep, interesting bugs just waiting to be discovered.

In the next post, I will share a number of useful sources of information I have discovered while researching the registry. Some of them may be more obvious than others, but all of them have significantly helped me understand certain aspects of the technology or given me the necessary context that I was missing. Until next time!

Kategorie: Hacking & Security

The Windows Registry Adventure #1: Introduction and research results

Project Zero - 18 Duben, 2024 - 18:45
ul.lst-kix_c4pdvykpeuss-3{list-style-type:none}ul.lst-kix_c4pdvykpeuss-2{list-style-type:none}ul.lst-kix_c4pdvykpeuss-1{list-style-type:none}ul.lst-kix_c4pdvykpeuss-0{list-style-type:none}.lst-kix_2wnifzn4nxg9-1>li:before{content:"\0025cb "}ul.lst-kix_5uedwcx8bazf-3{list-style-type:none}ul.lst-kix_5uedwcx8bazf-4{list-style-type:none}.lst-kix_2wnifzn4nxg9-0>li:before{content:"\0025cf "}.lst-kix_2wnifzn4nxg9-2>li:before{content:"\0025a0 "}.lst-kix_4m34njm6c6og-6>li:before{content:"\0025cf "}ul.lst-kix_5uedwcx8bazf-5{list-style-type:none}ul.lst-kix_5uedwcx8bazf-6{list-style-type:none}.lst-kix_2wnifzn4nxg9-3>li:before{content:"\0025cf "}.lst-kix_4m34njm6c6og-7>li:before{content:"\0025cb "}ul.lst-kix_5uedwcx8bazf-7{list-style-type:none}ul.lst-kix_5uedwcx8bazf-8{list-style-type:none}.lst-kix_4m34njm6c6og-8>li:before{content:"\0025a0 "}ul.lst-kix_5uedwcx8bazf-0{list-style-type:none}ul.lst-kix_5uedwcx8bazf-1{list-style-type:none}ul.lst-kix_5uedwcx8bazf-2{list-style-type:none}.lst-kix_2wnifzn4nxg9-8>li:before{content:"\0025a0 "}.lst-kix_2wnifzn4nxg9-7>li:before{content:"\0025cb "}.lst-kix_2wnifzn4nxg9-5>li:before{content:"\0025a0 "}.lst-kix_2wnifzn4nxg9-4>li:before{content:"\0025cb "}.lst-kix_2wnifzn4nxg9-6>li:before{content:"\0025cf "}.lst-kix_cyvdtdmfjjuy-6>li:before{content:"\0025cf "}ul.lst-kix_cyvdtdmfjjuy-8{list-style-type:none}.lst-kix_4rhx73br1i2v-0>li:before{content:"\0025cf "}.lst-kix_5uedwcx8bazf-1>li:before{content:"\0025cb "}.lst-kix_cyvdtdmfjjuy-5>li:before{content:"\0025a0 "}.lst-kix_cyvdtdmfjjuy-7>li:before{content:"\0025cb "}.lst-kix_5uedwcx8bazf-0>li:before{content:"\0025cf "}.lst-kix_5uedwcx8bazf-2>li:before{content:"\0025a0 "}.lst-kix_cyvdtdmfjjuy-4>li:before{content:"\0025cb "}.lst-kix_cyvdtdmfjjuy-8>li:before{content:"\0025a0 "}.lst-kix_4rhx73br1i2v-2>li:before{content:"\0025a0 "}.lst-kix_5uedwcx8bazf-3>li:before{content:"\0025cf "}.lst-kix_4rhx73br1i2v-3>li:before{content:"\0025cf "}ul.lst-kix_cyvdtdmfjjuy-0{list-style-type:none}ul.lst-kix_cyvdtdmfjjuy-1{list-style-type:none}ul.lst-kix_cyvdtdmfjjuy-2{list-style-type:none}ul.lst-kix_cyvdtdmfjjuy-3{list-style-type:none}ul.lst-kix_cyvdtdmfjjuy-4{list-style-type:none}ul.lst-kix_cyvdtdmfjjuy-5{list-style-type:none}ul.lst-kix_cyvdtdmfjjuy-6{list-style-type:none}.lst-kix_4rhx73br1i2v-1>li:before{content:"\0025cb "}ul.lst-kix_cyvdtdmfjjuy-7{list-style-type:none}ul.lst-kix_4rhx73br1i2v-0{list-style-type:none}.lst-kix_4rhx73br1i2v-7>li:before{content:"\0025cb "}.lst-kix_4rhx73br1i2v-8>li:before{content:"\0025a0 "}ul.lst-kix_4rhx73br1i2v-2{list-style-type:none}.lst-kix_5uedwcx8bazf-8>li:before{content:"\0025a0 "}ul.lst-kix_4rhx73br1i2v-1{list-style-type:none}.lst-kix_5uedwcx8bazf-7>li:before{content:"\0025cb "}.lst-kix_4rhx73br1i2v-6>li:before{content:"\0025cf "}.lst-kix_4rhx73br1i2v-4>li:before{content:"\0025cb "}ul.lst-kix_4rhx73br1i2v-8{list-style-type:none}.lst-kix_5uedwcx8bazf-5>li:before{content:"\0025a0 "}ul.lst-kix_4rhx73br1i2v-7{list-style-type:none}.lst-kix_5uedwcx8bazf-4>li:before{content:"\0025cb "}.lst-kix_5uedwcx8bazf-6>li:before{content:"\0025cf "}ul.lst-kix_4rhx73br1i2v-4{list-style-type:none}ul.lst-kix_4rhx73br1i2v-3{list-style-type:none}.lst-kix_4rhx73br1i2v-5>li:before{content:"\0025a0 "}ul.lst-kix_4rhx73br1i2v-6{list-style-type:none}ul.lst-kix_4rhx73br1i2v-5{list-style-type:none}.lst-kix_4m34njm6c6og-5>li:before{content:"\0025a0 "}.lst-kix_4m34njm6c6og-4>li:before{content:"\0025cb "}ul.lst-kix_2wnifzn4nxg9-0{list-style-type:none}.lst-kix_4m34njm6c6og-3>li:before{content:"\0025cf "}ul.lst-kix_2wnifzn4nxg9-2{list-style-type:none}ul.lst-kix_2wnifzn4nxg9-1{list-style-type:none}ul.lst-kix_2wnifzn4nxg9-4{list-style-type:none}.lst-kix_4m34njm6c6og-1>li:before{content:"\0025cb "}ul.lst-kix_2wnifzn4nxg9-3{list-style-type:none}ul.lst-kix_2wnifzn4nxg9-6{list-style-type:none}.lst-kix_4m34njm6c6og-0>li:before{content:"\0025cf "}.lst-kix_4m34njm6c6og-2>li:before{content:"\0025a0 "}ul.lst-kix_2wnifzn4nxg9-5{list-style-type:none}ul.lst-kix_2wnifzn4nxg9-8{list-style-type:none}ul.lst-kix_2wnifzn4nxg9-7{list-style-type:none}.lst-kix_c4pdvykpeuss-0>li:before{content:"\0025cf "}.lst-kix_c4pdvykpeuss-3>li:before{content:"\0025cf "}ul.lst-kix_4m34njm6c6og-0{list-style-type:none}ul.lst-kix_4m34njm6c6og-2{list-style-type:none}.lst-kix_c4pdvykpeuss-4>li:before{content:"\0025cb "}ul.lst-kix_4m34njm6c6og-1{list-style-type:none}ul.lst-kix_4m34njm6c6og-4{list-style-type:none}ul.lst-kix_4m34njm6c6og-3{list-style-type:none}ul.lst-kix_4m34njm6c6og-6{list-style-type:none}.lst-kix_c4pdvykpeuss-5>li:before{content:"\0025a0 "}ul.lst-kix_4m34njm6c6og-5{list-style-type:none}ul.lst-kix_4m34njm6c6og-8{list-style-type:none}ul.lst-kix_4m34njm6c6og-7{list-style-type:none}.lst-kix_c4pdvykpeuss-2>li:before{content:"\0025a0 "}.lst-kix_c4pdvykpeuss-1>li:before{content:"\0025cb "}.lst-kix_c4pdvykpeuss-6>li:before{content:"\0025cf "}.lst-kix_c4pdvykpeuss-8>li:before{content:"\0025a0 "}.lst-kix_cyvdtdmfjjuy-0>li:before{content:"\0025cf "}.lst-kix_c4pdvykpeuss-7>li:before{content:"\0025cb "}.lst-kix_cyvdtdmfjjuy-2>li:before{content:"\0025a0 "}.lst-kix_cyvdtdmfjjuy-1>li:before{content:"\0025cb "}.lst-kix_cyvdtdmfjjuy-3>li:before{content:"\0025cf "}li.li-bullet-0:before{margin-left:-18pt;white-space:nowrap;display:inline-block;min-width:18pt}ul.lst-kix_c4pdvykpeuss-7{list-style-type:none}ul.lst-kix_c4pdvykpeuss-6{list-style-type:none}ul.lst-kix_c4pdvykpeuss-5{list-style-type:none}ul.lst-kix_c4pdvykpeuss-4{list-style-type:none}ul.lst-kix_c4pdvykpeuss-8{list-style-type:none}ol{margin:0;padding:0}table td,table th{padding:0}.fhlpihoAED-c23{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:top;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:72.8pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c20{border-right-style:solid;padding:2pt 2pt 2pt 2pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:middle;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:72.8pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c0{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:top;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:78.8pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c10{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:top;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:75.8pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c6{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:top;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:326.2pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c21{border-right-style:solid;padding:2pt 2pt 2pt 2pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:middle;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:94.5pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c28{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:top;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:94.5pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c2{border-right-style:solid;padding:2pt 2pt 2pt 2pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:middle;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:78.8pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c14{border-right-style:solid;padding:2pt 2pt 2pt 2pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:middle;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:326.2pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c16{border-right-style:solid;padding:2pt 2pt 2pt 2pt;border-bottom-color:#cccccc;border-top-width:1pt;border-right-width:1pt;border-left-color:#cccccc;vertical-align:middle;border-right-color:#cccccc;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:75.8pt;border-top-color:#cccccc;border-bottom-style:solid}.fhlpihoAED-c7{margin-left:36pt;padding-top:0pt;padding-left:0pt;padding-bottom:0pt;line-height:1.5;orphans:2;widows:2;text-align:left}.fhlpihoAED-c4{padding-top:0pt;padding-bottom:0pt;line-height:1.5;orphans:2;widows:2;text-align:left;height:11pt}.fhlpihoAED-c9{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10pt;font-family:"Arial";font-style:normal}.fhlpihoAED-c26{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:16pt;font-family:"Arial";font-style:normal}.fhlpihoAED-c27{color:#999999;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.fhlpihoAED-c11{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.fhlpihoAED-c31{padding-top:18pt;padding-bottom:6pt;line-height:1.5;page-break-after:avoid;text-align:left}.fhlpihoAED-c12{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:left}.fhlpihoAED-c25{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:center}.fhlpihoAED-c19{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:right}.fhlpihoAED-c15{text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;text-decoration:underline}.fhlpihoAED-c34{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:left}.fhlpihoAED-c33{border-spacing:0;border-collapse:collapse;margin-right:auto}.fhlpihoAED-c3{padding-top:0pt;padding-bottom:0pt;line-height:1.5;text-align:center}.fhlpihoAED-c32{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}.fhlpihoAED-c13{orphans:2;widows:2;height:11pt}.fhlpihoAED-c22{orphans:2;widows:2}.fhlpihoAED-c5{color:inherit;text-decoration:inherit}.fhlpihoAED-c8{padding:0;margin:0}.fhlpihoAED-c17{font-size:10pt}.fhlpihoAED-c24{font-weight:700}.fhlpihoAED-c18{height:11pt}.fhlpihoAED-c1{height:15.8pt}.fhlpihoAED-c30{background-color:#d9d9d9}.fhlpihoAED-c29{height:63pt}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.5;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left}

Posted by Mateusz Jurczyk, Google Project Zero

In the 20-month period between May 2022 and December 2023, I thoroughly audited the Windows Registry in search of local privilege escalation bugs. It all started unexpectedly: I was in the process of developing a coverage-based Windows kernel fuzzer based on the Bochs x86 emulator (one of my favorite tools for security research: see Bochspwn, Bochspwn Reloaded, and my earlier font fuzzing infrastructure), and needed some binary formats to test it on. My first pick were PE files: they are very popular in the Windows environment, which makes it easy to create an initial corpus of input samples, and a basic fuzzing harness is equally easy to develop with just a single GetFileVersionInfoSizeW API call. The test was successful: even though I had previously fuzzed PE files in 2019, the new element of code coverage guidance allowed me to discover a completely new bug: issue #2281.

For my next target, I chose the Windows registry. That's because arbitrary registry hives can be loaded from disk without any special privileges via the RegLoadAppKey API (since Windows Vista). The hives use a binary format and are fully parsed in the kernel, making them a noteworthy local attack surface. Furthermore, I was also somewhat familiar with basic harnessing of the registry, having fuzzed it in 2016 together with James Forshaw. Once again, the code coverage support proved useful, leading to the discovery of issue #2299. But when I started to perform a root cause analysis of the bug, I realized that:

  • The hive binary format is not very well suited for trivial bitflipping-style fuzzing, because it is structurally simple, and random mutations are much more likely to render (parts of) the hive unusable than to trigger any interesting memory safety violations.
  • On the other hand, the registry has many properties that make it an attractive attack surface for further research, especially for manual review. It is 30+ years old, written in C, running in kernel space but highly accessible from user-mode, and it implements much more complex logic than I had previously imagined.

And that's how the story starts. Instead of further refining the fuzzer, I made a detour to reverse engineer the registry implementation in the Windows kernel (internally known as the Configuration Manager) and learn more about its inner workings. The more I learned, the more hooked I became, and before long, I was all-in on a journey to audit as much of the registry code as possible. This series of blog posts is meant to document what I've learned about the registry, including its basic functionality, advanced features, security properties, typical bug classes, case studies of specific vulnerabilities, and exploitation techniques.

While this blog is one of the first places to announce this effort, I did already give a talk titled "Exploring the Windows Registry as a powerful LPE attack surface" at Microsoft BlueHat Redmond in October 2023 (see slides and video recording). The upcoming blog posts will go into much deeper detail than the presentation, but if you're particularly curious and can't wait to find out more, feel free to check these resources as a starter. 🙂

Research results

In the course of the research, I filed 39 bug reports in the Project Zero bug tracker, which have been fixed by Microsoft as 44 CVEs. There are a few reasons for the discrepancy between these numbers:

  • Some single reports included information about multiple problems, e.g. issue #2375 was addressed by four CVEs,
  • Some groups of reports were fixed with a single patch, e.g. issues #2392 and #2408 as CVE-2023-23420,
  • One bug report was closed as WontFix and not addressed in a security bulletin at all (issue #2508).

All of the reports were submitted under the Project Zero 90-day disclosure deadline policy, and Microsoft successfully met the deadline in all cases. The average time from report to fix was 81 days.

Furthermore, between November 2023 and January 2024, I reported 20 issues that had low or unclear security impact, but I believed the vendor should nevertheless be made aware of them. They were sent without a disclosure deadline and weren't put on the PZ tracker; I have since published them on our team's GitHub. Upon assessment, Microsoft decided to fix 6 of them in a security bulletin in March 2024, while the other 14 were closed as WontFix with the option of being addressed in a future version of Windows.

This sums up to a total of 50 CVEs, classified by Microsoft as:

  • 39 × Windows Kernel Elevation of Privilege Vulnerability
  • 9 × Windows Kernel Information Disclosure Vulnerability
  • 1 × Windows Kernel Memory Information Disclosure Vulnerability
  • 1 × Windows Kernel Denial of Service Vulnerability

A full summary of the security-serviced bugs is shown below:

GPZ #

CVE

Title

Reported

Fixed

2295

CVE-2022-34707

Windows Kernel use-after-free due to refcount overflow in registry hive security descriptors

2022-May-11

2022-Aug-09

2297

CVE-2022-34708

Windows Kernel invalid read/write due to unchecked Blink cell index in root security descriptor

2022-May-17

2299

CVE-2022-35768

Windows Kernel multiple memory problems when handling incorrectly formatted security descriptors in registry hives

2022-May-20

2318

CVE-2022-37956

Windows Kernel integer overflows in registry subkey lists leading to memory corruption

2022-Jun-22

2022-Sep-13

2330

CVE-2022-37988

Windows Kernel registry use-after-free due to bad handling of failed reallocations under memory pressure

2022-Jul-8

2022-Oct-11

2332

CVE-2022-38037

Windows Kernel memory corruption due to type confusion of subkey index leaves in registry hives

2022-Jul-11

2341

CVE-2022-37990

Windows Kernel multiple memory corruption issues when operating on very long registry paths

2022-Aug-3

CVE-2022-38039

CVE-2022-38038

2344

CVE-2022-37991

Windows Kernel out-of-bounds reads and other issues when operating on long registry key and value names

2022-Aug-5

2359

CVE-2022-44683

Windows Kernel use-after-free due to bad handling of predefined keys in NtNotifyChangeMultipleKeys

2022-Sep-22

2022-Dec-13

2366

CVE-2023-21675

Windows Kernel memory corruption due to insufficient handling of predefined keys in registry virtualization

2022-Oct-6

2023-Jan-10

2369

CVE-2023-21747

Windows Kernel use-after-free due to dangling registry link node under paged pool memory pressure

2022-Oct-13

2389

CVE-2023-21748

Windows Kernel registry virtualization incompatible with transactions, leading to inconsistent hive state and memory corruption

2022-Nov-30

2375

Windows Kernel multiple issues in the key replication feature of registry virtualization

2022-Oct-25

CVE-2023-21772

CVE-2023-21773

CVE-2023-21774

2378

CVE-2023-21749

Windows Kernel registry SID table poisoning leading to bad locking and other issues

2022-Oct-31

CVE-2023-21776

2379

CVE-2023-21750

Windows Kernel allows deletion of keys in virtualizable hives with KEY_READ and KEY_SET_VALUE access rights

2022-Nov-2

2392

CVE-2023-23420

Windows Kernel multiple issues with subkeys of transactionally renamed registry keys

2022-Dec-7

2023-Mar-14

2408

Windows Kernel insufficient validation of new registry key names in transacted NtRenameKey

2023-Jan-13

2394

CVE-2023-23421

Windows Kernel multiple issues in the prepare/commit phase of a transactional registry key rename

2022-Dec-14

CVE-2023-23422

CVE-2023-23423

2410

CVE-2023-28248

Windows Kernel CmpCleanupLightWeightPrepare registry security descriptor refcount leak leading to UAF

2023-Jan-19

2023-Apr-11

2418

CVE-2023-28271

Windows Kernel disclosure of kernel pointers and uninitialized memory through registry KTM transaction log files

2023-Jan-31

2419

CVE-2023-28272

Windows Kernel out-of-bounds reads when operating on invalid registry paths in CmpDoReDoCreateKey/CmpDoReOpenTransKey

2023-Feb-2

CVE-2023-28293

2433

CVE-2023-32019

Windows Kernel KTM registry transactions may have non-atomic outcomes

2023-Mar-7

2023-Jun-13

2445

CVE-2023-35356

Windows Kernel arbitrary read by accessing predefined keys through differencing hives

2023-Apr-19

2023-Jul-11

2452

Windows Kernel CmDeleteLayeredKey may delete predefined tombstone keys, leading to security descriptor UAF

2023-May-10

2446

CVE-2023-35357

Windows Kernel may reference unbacked layered keys through registry virtualization

2023-Apr-20

2447

CVE-2023-35358

Windows Kernel may reference rolled-back transacted keys through differencing hives

2023-Apr-27

2449

CVE-2023-35382

Windows Kernel renaming layered keys doesn't reference count security descriptors, leading to UAF

2023-May-2

2023-Aug-8

2454

CVE-2023-35386

Windows Kernel out-of-bounds reads due to an integer overflow in registry .LOG file parsing

2023-May-15

2456

CVE-2023-38154

Windows Kernel partial success of registry hive log recovery may lead to inconsistent state and memory corruption

2023-May-22

2457

CVE-2023-38139

Windows Kernel doesn't reset security cache during self-healing, leading to refcount overflow and UAF

2023-May-31

2023-Sep-12

2462

CVE-2023-38141

Windows Kernel passes user-mode pointers to registry callbacks, leading to race conditions and memory corruption

2023-Jun-26

2463

CVE-2023-38140

Windows Kernel paged pool memory disclosure in VrpPostEnumerateKey

2023-Jun-27

2464

CVE-2023-36803

Windows Kernel out-of-bounds reads and paged pool memory disclosure in VrpUpdateKeyInformation

2023-Jun-27

2466

CVE-2023-36576

Windows Kernel containerized registry escape through integer overflows in VrpBuildKeyPath and other weaknesses

2023-Jul-7

2023-Oct-10

2479

CVE-2023-36404

Windows Kernel time-of-check/time-of-use issue in verifying layered key security may lead to information disclosure from privileged registry keys

2023-Aug-10

2023-Nov-14

2480

CVE-2023-36403

Windows Kernel bad locking in registry virtualization leads to race conditions

2023-Aug-22

2492

CVE-2023-35633

Windows registry predefined keys may lead to confused deputy problems and local privilege escalation

2023-Oct-6

2023-Dec-12

2511

CVE-2024-26182

Windows Kernel subkey list use-after-free due to mishandling of partial success in CmpAddSubKeyEx

2023-Dec-13

2024-Mar-12

None (MSRC-84131)

CVE-2024-26174

Windows Kernel out-of-bounds read of key node security in CmpValidateHiveSecurityDescriptors when loading corrupted hives

2023-Nov-29

None (MSRC-84149)

CVE-2024-26176

Windows Kernel out-of-bounds read when validating symbolic links in CmpCheckValueList

2023-Nov-29

None (MSRC-84046)

CVE-2024-26173

Windows Kernel allows the creation of stable subkeys under volatile keys via registry transactions

2023-Nov-30

None (MSRC-84228)

CVE-2024-26177

Windows Kernel unsafe behavior in CmpUndoDeleteKeyForTrans when transactionally re-creating registry keys

2023-Dec-1

None (MSRC-84237)

CVE-2024-26178

Windows Kernel security descriptor linked list confusion in CmpLightWeightPrepareSetSecDescUoW

2023-Dec-1

None (MSRC-84263)

CVE-2024-26181

Windows Kernel registry quota exhaustion may lead to permanent corruption of the SAM database

2023-Dec-11

Exploitability

Software bugs are typically only interesting to either the offensive/defensive sides of the security community if they have practical security implications. Unfortunately, it is impossible to give a blanket statement regarding the exploitability of all registry-related vulnerabilities due to their sheer diversity on a number of levels:

  • Affected platforms: Windows 10, Windows 11, various Windows Server versions (32/64-bit)
  • Attack targets: the kernel itself, drivers implementing registry callbacks, privileged user-mode applications/services
  • Entry points: direct registry operations, hive loading, transaction log recovery
  • End results: memory corruption, broken security guarantees, broken API contracts, memory/pointer disclosure, out-of-bounds reads, invalid/controlled cell index accesses
  • Root cause of issues: C-specific, logic errors, bad reference counting, locking problems
  • Nature of memory corruption: temporal (use-after-free), spatial (buffer overflows)
  • Types of corrupted memory: kernel pools, hive data
  • Exploitation time: instant, up to several hours

As we can see, there are multiple factors at play that determine how the bugs came to be and what state they leave the system in after being triggered. However, to get a better understanding of the impact of the findings, I have performed a cursory analysis of the exploitability of each bug, trying to classify it as either "easy", "moderate" or "hard" to exploit according to my current knowledge and experience (this is of course highly subjective). The proportions of these exploitability ratings are shown in the chart below:

The ratings were largely based on the following considerations:

  • Hive-based memory corruption is generally considered easy to exploit, while pool-based memory corruption is considered moderate/hard depending on the specifics of the bug.
  • Triggering OOM-type conditions in the hive space is easy, but completely exhausting the kernel pools is more difficult and intrusive.
  • Logic bugs are typically easier and more reliable to exploit than memory corruption.
  • The kernel itself is typically easier to attack than other user-mode processes (system services etc.).
  • Direct information disclosure (leaking kernel pointers / uninitialized memory via various channels) is usually straightforward to exploit.
  • However, random out-of-bounds reads, as well as read access to invalid/controlled cell indexes is generally hard to do anything useful with.

Overall, it seems that more than half of the findings can be feasibly exploited for information disclosure or local privilege escalation (rated easy or moderate). What is more, many of them exhibit registry-specific bug classes which can enable particularly unique exploitation primitives. For example, hive-based memory corruption can be effectively transformed into both a KASLR bypass and a fully reliable arbitrary read/write capability, making it possible to use a single bug to compromise the kernel with a data-only attack. To demonstrate this, I have successfully developed exploits for CVE-2022-34707 and CVE-2023-23420. The outcome of running one of them to elevate privileges to SYSTEM on Windows 11 is shown on the screenshot below:

Upcoming posts in this series will introduce you to the Windows registry as a system mechanism and as an attack surface, and will dive deeper into practical exploitation using hive memory corruption, out-of-bounds cell indexes and other amusing techniques. Stay tuned!

Kategorie: Hacking & Security
Syndikovat obsah