<?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>Container — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/container/</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, 06 Apr 2026 15:17:10 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/container/feed.xml" rel="self" type="application/rss+xml"/><item><title>Distribution Toolkit Authentication Redirection Vulnerability (CVE-2026-33540)</title><link>https://feed.craftedsignal.io/briefs/2026-04-distribution-auth-redirect/</link><pubDate>Mon, 06 Apr 2026 15:17:10 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-distribution-auth-redirect/</guid><description>A vulnerability in the distribution toolkit prior to 3.1.0 allows a malicious upstream registry or man-in-the-middle attacker to redirect authentication requests, potentially exposing upstream credentials.</description><content:encoded><![CDATA[<p>The distribution toolkit, used for managing container content, is vulnerable to an authentication redirection attack in versions prior to 3.1.0 when operating in pull-through cache mode. The vulnerability, identified as CVE-2026-33540, stems from the toolkit&rsquo;s method of discovering token authentication endpoints. It parses WWW-Authenticate challenges from upstream registries without properly validating the realm URL against the upstream registry host. This allows an attacker controlling the upstream registry or positioned as a Man-in-the-Middle to redirect authentication requests to an attacker-controlled realm URL. This results in distribution sending the configured upstream credentials via basic authentication to the malicious URL. Organizations using affected versions of the distribution toolkit are vulnerable to credential compromise if the toolkit interacts with a malicious or compromised upstream registry. Upgrading to version 3.1.0 or later resolves this vulnerability.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains control of or MitM position to an upstream registry server used by the distribution toolkit.</li>
<li>Distribution toolkit attempts to pull an image from the upstream registry.</li>
<li>Attacker&rsquo;s registry responds with a WWW-Authenticate header, specifying a Bearer authentication scheme and an attacker-controlled realm URL.</li>
<li>The distribution toolkit, vulnerable to CVE-2026-33540, parses the WWW-Authenticate header but fails to validate the realm URL against the legitimate upstream registry.</li>
<li>The distribution toolkit initiates a basic authentication request to the attacker-controlled realm URL, sending the configured upstream credentials (username and password).</li>
<li>The attacker captures the credentials sent via basic authentication.</li>
<li>Attacker uses the compromised credentials to gain unauthorized access to the legitimate upstream registry.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-33540 allows an attacker to steal credentials used by the distribution toolkit to authenticate to an upstream registry. This can lead to unauthorized access to container images stored in the upstream registry, potentially resulting in supply chain attacks, data breaches, or the deployment of malicious container images. The severity of the impact depends on the permissions associated with the compromised credentials and the sensitivity of the data stored in the upstream registry.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the distribution toolkit to version 3.1.0 or later to remediate CVE-2026-33540.</li>
<li>Implement network monitoring to detect basic authentication attempts originating from the distribution toolkit to unusual or unexpected destinations (see rule: &ldquo;Detect Basic Authentication to Non-Standard Ports&rdquo;).</li>
<li>Monitor network traffic for connections to unusual or suspicious realm URLs returned in WWW-Authenticate headers from container registries (see rule: &ldquo;Detect Authentication Redirection&rdquo;).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>CVE-2026-33540</category><category>authentication</category><category>redirection</category><category>container</category></item><item><title>SSH Authorized Key File Modification Inside a Container</title><link>https://feed.craftedsignal.io/briefs/2026-04-ssh-authorized-keys-modification-inside-a-container/</link><pubDate>Thu, 02 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-ssh-authorized-keys-modification-inside-a-container/</guid><description>The rule detects the creation or modification of an authorized_keys file inside a container, a technique used by adversaries to maintain persistence on a victim host by adding their own public key(s) to enable unauthorized SSH access for lateral movement or privilege escalation.</description><content:encoded><![CDATA[<p>This detection focuses on identifying malicious actors who modify SSH authorized_keys files inside containers to gain unauthorized access. SSH authorized keys are used for public key authentication, and modification of these files allows attackers to maintain persistence or move laterally within a containerized environment. The rule specifically looks for file creation and modification events of authorized_keys files within Linux-based containers. Introduced as part of the Defend for Containers integration in Elastic Stack version 9.3.0, this detection is crucial because unauthorized SSH access can lead to significant compromise within cloud environments and containerized workloads. Defenders need to be aware of unexpected SSH key modifications as indicators of compromise inside containerized environments.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a container, possibly through a software vulnerability or misconfiguration.</li>
<li>The attacker executes commands within the container to locate the SSH authorized_keys file (typically located at <code>/home/&lt;user&gt;/.ssh/authorized_keys</code> or <code>/root/.ssh/authorized_keys</code>).</li>
<li>The attacker modifies the authorized_keys file, adding their own SSH public key to the file using commands like <code>echo &quot;ssh-rsa AAAAB3Nz...&quot; &gt;&gt; /root/.ssh/authorized_keys</code>.</li>
<li>The attacker uses the newly added SSH key to authenticate and log into the container without needing a password.</li>
<li>The attacker uses the SSH session to execute further commands, potentially escalating privileges or moving laterally to other containers or systems.</li>
<li>The attacker maintains persistence by ensuring their SSH key remains in the authorized_keys file, allowing them to re-access the container at any time.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful modification of the authorized_keys file enables persistent, unauthorized SSH access to the compromised container. This can lead to lateral movement within the container environment, privilege escalation, data exfiltration, or further attacks on other systems. The rule aims to detect these modifications early, preventing significant damage. While the number of specific victims isn&rsquo;t stated, a successful attack targeting containers can affect critical cloud infrastructure and applications.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule to your SIEM to detect unauthorized modifications of SSH authorized_keys files within containers (rule: <code>SSH Authorized Key File Activity</code>).</li>
<li>Enable <code>Elastic Defend for Containers</code> integration (minimum version 9.3.0) to provide the necessary file event data for the Sigma rule to function correctly.</li>
<li>Investigate any alerts generated by the Sigma rule, focusing on the process and user context of the file modifications, as outlined in the rule&rsquo;s description (rule: <code>SSH Authorized Key File Activity</code>).</li>
<li>Implement stricter access controls and monitoring on SSH usage within containers to prevent similar incidents in the future, as recommended in the incident response section.</li>
<li>Create exceptions for known update processes or deployment scripts that regularly alter these files to reduce false positives, as suggested in the false positive analysis.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>container</category><category>persistence</category><category>lateral-movement</category><category>privilege-escalation</category><category>ssh</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>Curl or Wget Execution from Container Context</title><link>https://feed.craftedsignal.io/briefs/2024-01-curl-wget-container-execution/</link><pubDate>Tue, 23 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-curl-wget-container-execution/</guid><description>This rule detects the execution of curl or wget from within runc-backed containers on Linux systems monitored by Auditd Manager, indicating potential ingress tool transfer or data exfiltration by attackers who have compromised the container.</description><content:encoded><![CDATA[<p>This detection rule identifies instances of <code>curl</code> or <code>wget</code> being executed from within containers managed by <code>runc</code> on Linux systems. The rule leverages Auditd Manager to monitor system calls and flags processes running with the title <code>runc init</code> that then execute <code>curl</code> or <code>wget</code>. This activity is noteworthy because attackers often use these tools to download malicious payloads (stagers, scripts, implants) or to exfiltrate data after compromising a container. While these tools can be used legitimately within containers, their execution in the context of <code>runc init</code> suggests a higher risk of malicious activity. The rule focuses on narrowing the signal to the container runtime boundary where unexpected download clients are more worthy of review. The rule specifically leverages Auditd Manager for data collection.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a host system, possibly through exploiting a vulnerability in an application running outside the container (e.g., web application).</li>
<li>The attacker identifies a containerized application running on the compromised host.</li>
<li>The attacker exploits a vulnerability within the container, or abuses a privileged workload within the container, to gain elevated privileges or code execution within the container.</li>
<li>The attacker uses <code>curl</code> or <code>wget</code> to download additional tools or scripts into the container. These tools might include reverse shells, credential dumping tools, or data exfiltration utilities.</li>
<li>The attacker executes the downloaded tools to further compromise the container or the underlying host.</li>
<li>The attacker uses <code>curl</code> or <code>wget</code> to stage data for exfiltration to an external server. This may involve compressing and encoding data before transmission.</li>
<li>The attacker initiates the data exfiltration process using <code>curl</code> or <code>wget</code> to send the staged data to a remote server controlled by the attacker.</li>
<li>The attacker achieves their final objective, which could include data theft, system disruption, or further lateral movement within the network.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Compromised containers can lead to data breaches, service disruptions, and further attacks on internal systems. Successful exploitation could allow attackers to steal sensitive data, install malware, or pivot to other parts of the network, impacting confidentiality, integrity, and availability. The number of affected systems depends on the scope of the container deployment and the privileges granted to the compromised container.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Detect Curl or Wget Execution from Container Context</code> to your SIEM and tune for your environment.</li>
<li>Enable Auditd Manager with syscall coverage including <code>execve</code> to capture process execution and arguments within containers, as mentioned in the rule&rsquo;s setup instructions.</li>
<li>Correlate alerts from this rule with network logs to identify the destination IP addresses and domains contacted by the compromised container.</li>
<li>Baseline trusted images and exclude stable image digests or namespaces when noisy to reduce false positives, as suggested in the rule&rsquo;s false positives section.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>command-and-control</category><category>execution</category><category>container</category><category>auditd</category><category>linux</category></item><item><title>Potential Privilege Escalation in Container via Runc Init</title><link>https://feed.craftedsignal.io/briefs/2024-01-runc-privilege-escalation/</link><pubDate>Fri, 05 Jan 2024 14:22:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-runc-privilege-escalation/</guid><description>Detection of runc init child processes with root effective user and non-root login user ID, indicating potential container privilege escalation.</description><content:encoded><![CDATA[<p>This detection identifies a potential privilege escalation vulnerability within container environments utilizing <code>runc</code>, the low-level container runtime used by Docker and containerd. The rule focuses on audit events triggered by <code>runc init</code> child processes. Specifically, it flags instances where the effective user ID is root (0), while the login user ID is not root. This discrepancy can indicate malicious activity, such as exploiting credential separation or namespace transitions to gain unauthorized root privileges within the container or escape to the host. This is relevant for defenders because a compromised container can lead to host compromise, data exfiltration, or denial of service.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains initial access to a container with limited privileges.</li>
<li>The attacker exploits a vulnerability within the container to execute code as the <code>runc init</code> process.</li>
<li>The <code>runc init</code> process spawns a child process while retaining a non-root user ID in audit telemetry.</li>
<li>The child process is assigned an effective user ID of 0 (root), bypassing normal permission controls.</li>
<li>The attacker leverages the elevated privileges to modify sensitive files or execute commands as root within the container&rsquo;s namespace.</li>
<li>The attacker may then attempt to escape the container by exploiting kernel vulnerabilities or misconfigurations to gain access to the host system.</li>
<li>Upon gaining access to the host system, the attacker can install malware, steal sensitive data, or disrupt services.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful privilege escalation attack within a container environment can lead to complete compromise of the container and potentially the host system. This can result in data breaches, service disruptions, and unauthorized access to sensitive resources. The impact is significant because a single compromised container can become a launchpad for attacks against other containers or the underlying infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Potential Privilege Escalation via Runc Init&rdquo; to your SIEM to detect suspicious <code>runc init</code> process executions.</li>
<li>Enable Linux audit logging via the Auditd Manager integration, ensuring that <code>execve</code> and identity-related fields are captured.</li>
<li>Investigate any alerts generated by the Sigma rule by examining the full audit event details, including process ancestry, user IDs, and container metadata.</li>
<li>Review container configurations and security profiles to identify potential misconfigurations that could facilitate privilege escalation.</li>
<li>Implement network segmentation to limit the blast radius of a compromised container.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>container</category><category>privilege-escalation</category><category>linux</category></item><item><title>Nsenter to PID Namespace via Auditd</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-nsenter-pid-namespace/</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-03-nsenter-pid-namespace/</guid><description>This rule detects nsenter executions that target a PID with a namespace target flag, a common pattern used to attach to the host init namespace from a container or session and run with host context, potentially escalating privileges.</description><content:encoded><![CDATA[<p>This detection identifies instances where the <code>nsenter</code> command is used to enter a process namespace, specifically targeting a PID. This technique is often employed to attach to the host&rsquo;s init namespace from a container or session, effectively allowing the attacker to execute commands within the host&rsquo;s context. This behavior is concerning because it can be used to escalate privileges and gain unauthorized access to the underlying system. This is especially relevant in containerized environments where attackers may attempt to escape the container and access the host system. The rule leverages Auditd logs to identify these <code>nsenter</code> executions, focusing on those that include the <code>--target</code> or <code>-t</code> flags, which specify the target PID for namespace entry.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a container or a restricted session on a Linux host.</li>
<li>The attacker identifies a target PID, often the init process (PID 1), to enter its namespace.</li>
<li>The attacker executes the <code>nsenter</code> command with the <code>--target</code> or <code>-t</code> flag, specifying the target PID. Additional namespace flags like <code>--mount</code>, <code>--uts</code>, <code>--ipc</code>, <code>--net</code>, and <code>--user</code> may also be used.</li>
<li>Auditd logs the <code>nsenter</code> execution, capturing the process name, arguments, and other relevant metadata.</li>
<li>The detection rule identifies the <code>nsenter</code> execution based on the command name and the presence of the <code>--target</code> or <code>-t</code> flag.</li>
<li>The attacker, now within the target PID&rsquo;s namespace, executes commands with the privileges of that process. This may include reading sensitive files, modifying system configurations, or executing malicious code.</li>
<li>The attacker leverages the escalated privileges to further compromise the host system, potentially gaining root access or deploying malware.</li>
<li>The attacker establishes persistence mechanisms to maintain access to the compromised host, such as creating new systemd units or modifying existing ones.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can lead to complete compromise of the host system. Attackers can gain root privileges, access sensitive data, and deploy malware. In containerized environments, this can allow attackers to escape the container and access the underlying host, potentially affecting other containers running on the same host. The impact is especially significant in production environments where compromised hosts can disrupt critical services and expose sensitive data.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Auditd Manager integration on Linux hosts to collect process execution telemetry, as specified in the <a href="#setup">setup instructions</a>.</li>
<li>Implement the Sigma rule &ldquo;Nsenter to PID Namespace via Auditd&rdquo; to detect suspicious <code>nsenter</code> executions.</li>
<li>Tune the Sigma rule by excluding known false positives, such as legitimate <code>nsenter</code> executions by platform engineers or CNI/snap workflows, as mentioned in the <a href="#false-positive-analysis">false positives section</a>.</li>
<li>Investigate any detected <code>nsenter</code> executions by reviewing process arguments, parent processes, user identities, and host information, as outlined in the <a href="#triage-and-analysis">triage and analysis section</a>.</li>
<li>Isolate any compromised hosts, revoke credentials, inspect for persistence, and re-image if integrity cannot be proven, as recommended in the <a href="#response-and-remediation">response and remediation section</a>.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>privilege-escalation</category><category>linux</category><category>container</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>Unusual Process Connecting to Docker or Containerd Socket</title><link>https://feed.craftedsignal.io/briefs/2024-01-unusual-container-socket-connection/</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-unusual-container-socket-connection/</guid><description>An unusual process connecting to a container runtime Unix socket like Docker or Containerd can indicate an attacker attempting to bypass Kubernetes security measures for container manipulation.</description><content:encoded><![CDATA[<p>This threat involves unauthorized processes connecting directly to container runtime sockets (Docker or Containerd) on Linux systems. This bypasses Kubernetes API server restrictions, potentially allowing attackers to create, execute, or manipulate containers without proper authorization or logging. The risk lies in attackers circumventing RBAC, admission webhooks, and pod security standards. The attack can start when a compromised process attempts to connect to the Docker or Containerd socket, potentially leading to privilege escalation and lateral movement within the containerized environment. This attack is significant because it undermines core security controls within container orchestration platforms.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A malicious or compromised process gains initial access to the host system.</li>
<li>The process attempts to connect to the container runtime socket (e.g., <code>/var/run/docker.sock</code> or <code>/run/containerd/containerd.sock</code>).</li>
<li>The process bypasses the Kubernetes API server and associated security controls.</li>
<li>The attacker exploits the direct socket connection to create a new container.</li>
<li>The attacker gains access to sensitive data or resources within the container.</li>
<li>The attacker escalates privileges within the compromised container.</li>
<li>The attacker uses the compromised container to move laterally to other containers or hosts within the environment.</li>
<li>The attacker achieves their objective, such as data exfiltration or system compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to bypass Kubernetes security measures, create unauthorized containers, and potentially gain control over the entire cluster. The observed impact includes privilege escalation, lateral movement, and data exfiltration. The severity of this attack depends on the level of access granted to the compromised container and the sensitivity of the data and resources within the cluster.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Enable Auditd Manager to capture network and socket events, specifically monitoring for <code>connect</code> calls to Unix sockets as described in the <a href="https://docs.elastic.co/integrations/auditd_manager">Auditd Manager documentation</a>.</li>
<li>Deploy the Sigma rule &ldquo;Unusual Process Connecting to Docker or Containerd Socket&rdquo; to detect suspicious processes connecting to container runtime sockets, tuning <code>process.executable</code> and <code>user.name</code> for known legitimate processes.</li>
<li>Monitor file permissions on the socket paths (<code>/var/run/docker.sock</code>, <code>/run/docker.sock</code>, <code>/var/run/containerd/containerd.sock</code>, <code>/run/containerd/containerd.sock</code>) and restrict access to trusted groups only.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>container</category><category>privilege-escalation</category><category>lateral-movement</category><category>linux</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>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>Nsenter Execution with Target Flag Inside Container</title><link>https://feed.craftedsignal.io/briefs/2024-01-nsenter-container-escape/</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-nsenter-container-escape/</guid><description>The rule detects nsenter executions from inside a monitored Linux container that include a namespace target flag (-t or --target), which can be abused to escape container isolation.</description><content:encoded><![CDATA[<p>This detection identifies the execution of <code>nsenter</code> within a Linux container, specifically when the <code>-t</code> or <code>--target</code> flag is used. This flag indicates an attempt to enter another process or namespace context. Attackers can exploit this capability, especially when combined with privileged mounts, exposed PIDs, or shared namespaces, to escape the container and pivot to the host system. This activity can lead to privilege escalation and further compromise of the underlying infrastructure. The detection is relevant for environments using Elastic Defend for Containers.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a container, possibly through exploiting a vulnerability in a containerized application.</li>
<li>The attacker identifies a container with weak configurations, such as exposed PIDs, shared namespaces, or privileged mounts.</li>
<li>The attacker executes <code>nsenter</code> with the <code>-t</code> or <code>--target</code> flag, specifying a target PID or namespace.</li>
<li>The <code>nsenter</code> command joins the target namespace (mount, network, PID, user, or IPC) based on specified flags (<code>-m</code>, <code>-n</code>, <code>-p</code>, <code>-U</code>, or <code>-i</code>).</li>
<li>The attacker gains access to the host system&rsquo;s resources or processes due to the namespace sharing or privileged access.</li>
<li>The attacker escalates privileges on the host system, potentially gaining root access.</li>
<li>The attacker pivots to other containers or the host infrastructure, expanding their control.</li>
<li>The attacker achieves their final objective, such as data exfiltration, system disruption, or deploying malware on the host.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful container escape can allow an attacker to compromise the underlying host system. This can lead to the compromise of other containers running on the same host, as well as sensitive data stored on the host system. The impact can range from data breaches to complete infrastructure takeover. If the host is a node in a Kubernetes cluster, the attacker might be able to compromise the entire cluster.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Detect Nsenter Container Escape</code> to your SIEM and tune for your environment to detect suspicious <code>nsenter</code> executions within containers.</li>
<li>Review container configurations and enforce least privilege to prevent unauthorized namespace sharing and privileged mounts.</li>
<li>Monitor container logs for <code>nsenter</code> executions with target flags, as indicated by the log source <code>logs-cloud_defend.process*</code> and the query in this brief.</li>
<li>Restrict the use of hostPath volumes and other sensitive mounts within container deployments.</li>
<li>Reduce recurrence by avoiding host namespace sharing, restricting hostPath and sensitive mounts, and blocking unnecessary capabilities.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>container</category><category>privilege-escalation</category><category>linux</category></item><item><title>Kubeletctl Execution Inside Container Detected</title><link>https://feed.craftedsignal.io/briefs/2024-01-kubeletctl-container-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-container-execution/</guid><description>This rule detects the execution of kubeletctl inside a container, which can be used to enumerate the Kubelet API or other resources inside the container, potentially indicating lateral movement attempts within the pod.</description><content:encoded><![CDATA[<p>This rule detects the execution of <code>kubeletctl</code> inside a container. Kubeletctl is a command-line tool that interacts with the Kubelet API directly, making the often undocumented API more accessible. Attackers may use it to enumerate the Kubelet API or other resources within the container, potentially indicating lateral movement within the pod. The detection is based on the &ldquo;Defend for Containers&rdquo; integration (version 9.3.0 and later) within the Elastic stack. This activity is significant because <code>kubeletctl</code> can expose pod and node details, enabling actions that facilitate discovery and lateral movement from a compromised container.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to a container, possibly through a vulnerability in the containerized application or a misconfigured Kubernetes environment.</li>
<li>The attacker executes <code>kubeletctl</code> inside the compromised container. This could be facilitated by the tool being present in the container image or downloaded post-compromise.</li>
<li>The attacker uses <code>kubeletctl scan</code> to discover Kubelet endpoints within the Kubernetes cluster.</li>
<li>The attacker leverages <code>kubeletctl pods</code> or <code>kubeletctl runningpods</code> to enumerate running pods and their details.</li>
<li>The attacker uses the discovered pod information to identify potential targets for lateral movement.</li>
<li>The attacker attempts to use <code>kubeletctl exec</code> or <code>kubeletctl attach</code> to gain access to other pods within the cluster.</li>
<li>The attacker attempts to port forward using <code>kubeletctl portForward</code> to establish connections to services running in other pods.</li>
<li>Upon successful lateral movement, the attacker performs further reconnaissance or deploys malicious payloads to achieve their objectives, such as data exfiltration or denial-of-service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful execution of <code>kubeletctl</code> within a container can lead to the exposure of sensitive information about the Kubernetes cluster, including pod details and internal network configurations. This can enable attackers to move laterally within the cluster, potentially compromising other applications and data. The impact could range from data breaches and service disruptions to full cluster compromise depending on the attacker&rsquo;s objectives and the scope of the compromised container&rsquo;s access.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule to your SIEM to detect the execution of <code>kubeletctl</code> within containers based on process name and arguments.</li>
<li>Monitor container network activity for connections to node addresses on Kubelet ports (commonly 10250/10255) and investigate any suspicious patterns.</li>
<li>Implement network policies to restrict pod-to-node access to the Kubelet API.</li>
<li>Harden container images by removing unnecessary tools like <code>kubeletctl</code> and enforce least privilege principles.</li>
<li>Enable and review Kubernetes audit logs to identify the source of interactive sessions into containers, correlating with timestamps of <code>kubeletctl</code> execution.</li>
<li>Enforce Pod Security Standards to restrict privileged pods and limit node API exposure.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>container</category><category>kubeletctl</category><category>lateral-movement</category><category>execution</category></item><item><title>Gotenberg ExifTool Argument Injection via Metadata Values</title><link>https://feed.craftedsignal.io/briefs/2024-01-02-gotenberg-exiftool-injection/</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-02-gotenberg-exiftool-injection/</guid><description>Gotenberg version 8.30.1 and earlier is vulnerable to argument injection, where an unauthenticated attacker can inject arbitrary ExifTool pseudo-tags via newline characters in metadata values, leading to arbitrary file manipulation within the container filesystem.</description><content:encoded><![CDATA[<p>Gotenberg, a Docker-based solution for converting various document formats to PDF, is vulnerable to an argument injection flaw affecting versions 8.30.1 and earlier. This vulnerability stems from insufficient sanitization of metadata values passed to the ExifTool during PDF processing. Specifically, the application fails to properly sanitize newline characters within metadata values. By exploiting this flaw, an unauthenticated attacker can inject arbitrary ExifTool pseudo-tags, such as <code>-FileName</code>, <code>-Directory</code>, <code>-SymLink</code>, and <code>-HardLink</code>, allowing for unauthorized file manipulation, including renaming, moving, overwriting, and creating symbolic or hard links to files within the container&rsquo;s filesystem. The vulnerability is a bypass of an incomplete key sanitization fix introduced in version 8.30.1, highlighting the importance of thorough input validation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious PDF file or uses an existing PDF.</li>
<li>The attacker injects a newline character followed by an ExifTool pseudo-tag (e.g., <code>-FileName=/tmp/inject_proof</code>) into a metadata value (e.g., the &lsquo;Title&rsquo; field).</li>
<li>The attacker sends the PDF, along with the crafted metadata, to the Gotenberg <code>/forms/pdfengines/metadata/write</code> endpoint via a POST request.</li>
<li>Gotenberg&rsquo;s <code>WriteMetadata</code> function in <code>pkg/modules/exiftool/exiftool.go</code> processes the metadata.</li>
<li>The unsanitized metadata value is passed to <code>go-exiftool</code>&rsquo;s <code>SetString</code> function.</li>
<li><code>go-exiftool</code> writes the key-value pair to ExifTool&rsquo;s stdin using <code>fmt.Fprintln(e.stdin, &quot;-&quot;+k+&quot;=&quot;+str)</code>.</li>
<li>The newline character splits the ExifTool stdin line into two separate arguments, injecting the attacker&rsquo;s pseudo-tag.</li>
<li>ExifTool executes the injected command (e.g., moving the PDF to <code>/tmp/inject_proof</code>).</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an unauthenticated attacker to rename or move any PDF being processed to an arbitrary path within the container filesystem, which runs as root by default. This also enables overwriting arbitrary files (e.g., corrupting the <code>/etc/passwd</code> file), creating symlinks, and creating hard links. The container filesystem becomes fully exposed to arbitrary file manipulation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply value sanitization parallel to the existing key check in <code>WriteMetadata</code> as described in the advisory.</li>
<li>Implement detection rules to identify attempts to exploit the vulnerability by monitoring for suspicious characters in HTTP requests to the <code>/forms/pdfengines/metadata/write</code> endpoint using the provided Sigma rule.</li>
<li>Monitor for unexpected file modifications within the Gotenberg container, especially the creation or modification of symbolic links and hard links, using <code>file_event</code> log source.</li>
<li>Upgrade to a patched version of Gotenberg that addresses this vulnerability to prevent exploitation (CVE-2026-40281).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>argument-injection</category><category>vulnerability</category><category>container</category></item></channel></rss>