☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Amazon logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H 🐛 CWE-416
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-77235

CVE-2026-77235 Use-After-Free in FreeRTOS
📅 PUBLISHED: 2026-08-21 00:00 UTC 🔄 UPDATED: 2026-10-02 19:32 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.16%
👁️
0.16% probability
3.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1068
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Global License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.3
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: C Scope Changed
C: N Confidentiality None
I: L Integrity Low
A: H Availability High
7.3
THREAT LEVEL
INTEL SOURCES NVD EPSS HOW WE SCORE →
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-77235 is a use-after-free vulnerability in the secure context cleanup handler of FreeRTOS-Kernel prior to version 11.3.1, disclosed with a CVSS score of 7.3. The flaw arises from missing privilege verification during secure context deallocation, allowing a local attacker to trigger memory corruption in secure-world memory via the SVC handler. Affected organizations are those deploying FreeRTOS-Kernel in ARM TrustZone or similar secure/non-secure partitioned environments; exploitation could lead to high availability impact and potential integrity compromise within the trusted execution environment. Patch confidence is 0/4, meaning no authoritative patch source has been confirmed, though the vendor recommends upgrading to version 11.3.1 or later.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

CVE-2026-77235 resides in the FreeRTOS-Kernel's secure context management subsystem. The NVD description identifies two key deficiencies: (1) missing privilege verification in the secure context cleanup handler, and (2) a resultant use-after-free condition in secure-world memory triggered through the SVC handler for secure context deallocation.

Vulnerability Class — Use-After-Free (CWE-416): The flaw falls under the classic use-after-free category, where memory is freed without first ensuring that the referencing context has been properly invalidated or that sufficient privilege checks have been performed. In this instance, the "secure context cleanup handler" is responsible for deallocating resources allocated for secure-world execution contexts (e.g., TrustZone secure partitions). The absence of privilege verification suggests that a lower-privileged caller (e.g., from the Normal World) can invoke the SVC handler that services secure context deallocation requests without authentication or authorization checks.

Attack Mechanism — SVC Handler Abuse: Supervisor Call (SVC) instructions are the standard mechanism for transitioning from unprivileged to privileged execution in ARM architectures. In FreeRTOS-Kernel with TrustZone support, SVC handlers route requests between the Normal World (non-secure) and Secure World. The vulnerable path likely involves:

  1. A local process issuing an SVC instruction that maps to the secure context deallocation service.
  2. The handler failing to verify that the calling context possesses the required privilege level to deallocate a secure context.
  3. The handler freeing memory associated with the secure context while references to that memory remain active elsewhere (e.g., in a different execution context or interrupt handler).
  4. Subsequent access to the freed memory results in a use-after-free condition, potentially allowing an attacker to influence memory contents or cause a crash in secure-world code.

Attack Surface: The attack surface requires local access to the device — the CVSS vector confirms AV:L (Local). The attacker must already have low-privilege access (PR:L) to the system, consistent with an unprivileged user process running on the FreeRTOS-based device. The scope is S:C (Changed), meaning the vulnerability can impact resources beyond the attacker's authorization domain — specifically, secure-world memory. The integrity impact is low (I:L) while availability impact is high (A:H), suggesting the primary consequence is denial-of-service or system instability, with limited data-integrity manipulation possible.

Technical Gaps: Insufficient technical detail is available in the public description. Specific function names, SVC handler numbers, and the exact deallocation flow are not disclosed. The description does not specify whether the vulnerability requires a specific ARM architecture revision, particular TrustZone configuration, or specific FreeRTOS-Kernel configuration options (e.g., configENABLE_TRUSTZONE). Further technical analysis would require access to the FreeRTOS-Kernel source code between affected versions and the patch applied in 11.3.1.

Affected Configurations: The NVD data lists no explicit affected versions beyond "before 11.3.1." It is reasonable to assume that all FreeRTOS-Kernel releases prior to 11.3.1 that include the secure context management feature (TrustZone support) are potentially vulnerable. Implementations that do not enable TrustZone or secure context support may not expose the vulnerable code path.

Exploitation Scenarios

No public PoC is available, and the exploit code status is marked UNKNOWN. The attack chain below is inferred from the vulnerability class (use-after-free in a privileged handler) and the CVSS vector parameters.

Step 1 — Reconnaissance and Target Identification: An attacker with local access to a FreeRTOS-based device must first identify the presence of the vulnerable component. This involves determining the FreeRTOS-Kernel version (e.g., via firmware version strings, debug output, or OS-identifying behavior). Targets are likely embedded devices in IoT, industrial control systems, or automotive applications that leverage TrustZone for security partitioning. The attacker would also map the available SVC handler interface to locate the secure context deallocation service.

Step 2 — Triggering the Flaw: The attacker invokes the SVC handler for secure context deallocation without possessing the required privilege. Since privilege verification is missing, the handler proceeds with the deallocation logic. The attacker must manipulate the state such that the deallocation occurs while other components retain references to the memory being freed. This could involve racing a deallocation request against concurrent use of the same secure context, or freeing a context that is still registered in an active scheduler list.

Step 3 — Payload/Execution (Vulnerability-Class Level): In a use-after-free exploitation, the attacker typically:

  • Allocates new memory of similar size to fill the freed region with controlled data.
  • Triggers a subsequent operation that dereferences the stale pointer.
  • Controlled data in the freed region is now interpreted as a legitimate object (e.g., a function pointer or security descriptor), potentially allowing control-flow hijacking or logical corruption of secure-world state. Because this is in secure-world memory, successful exploitation could allow the attacker to influence security-critical operations, though the CVSS integrity score of I:L suggests only limited data modification is achievable. The availability impact (A:H) indicates a likely crash or hang scenario if exploitation fails to achieve controlled code execution.

Step 4 — Post-Exploitation Impact: A successful exploit may allow the attacker to:

  • Corrupt secure-world memory structures leading to a denial-of-service (crash, watchdog reset, or secure-world hang).
  • Potentially escalate privilege within the secure world, enabling further attacks against TrustZone-protected assets (e.g., secure storage, cryptographic keys).
  • If only a crash is achieved, the attacker can repeatedly trigger the condition to create persistent device instability, which is particularly damaging in safety-critical or real-time embedded systems.

Feasibility Assessment: The attack requires local access, meaning it is not remotely exploitable over the network directly. However, on multi-tenant embedded systems where applications from different trust levels run concurrently, a compromised low-privilege application could exploit this flaw to affect the secure world. The lack of public PoC suggests exploitation is non-trivial, but the vulnerability class is well-understood, and skilled reverse engineers could likely develop a working exploit given source-code access to FreeRTOS-Kernel.

Impact Assessment

Business Impact:

  • Availability (High): Primary impact is availability (A:H). Embedded devices running FreeRTOS-Kernel in secure configurations could be rendered inoperative, leading to downtime in critical infrastructure, industrial control, medical devices, or automotive systems.
  • Integrity (Low): Limited ability to modify secure-world data (I:L). This may allow subtle manipulation of security descriptors or configuration without full memory corruption.
  • Confidentiality (None): No confidentiality impact (C:N), indicating the attacker cannot directly exfiltrate secure-world secrets through this flaw alone.

Affected Systems:

  • FreeRTOS-Kernel versions prior to 11.3.1 with TrustZone/secure context support enabled.
  • Devices using ARM Cortex-A or Cortex-M architectures with TrustZone partitioning.
  • IoT gateways, smart sensors, industrial controllers, medical devices, and automotive ECUs running FreeRTOS with secure/non-secure partitioning.

Blast Radius: The CVSS scope of S:C (Changed) indicates the vulnerability can affect resources beyond the attacker's initial authorization domain. A low-privilege attacker in the Normal World can impact the Secure World — a high-impact scenario in TrustZone deployments where the secure world protects cryptographic keys, secure boot logic, and trusted services. However, the low integrity impact tempers the severity; the attacker may cause disruption but not wholesale compromise of secure-world data.

CVSS Subscore Analysis:

  • Attack Vector: Local — requires direct access to the device.
  • Attack Complexity: Low — no special conditions beyond invoking the SVC handler.
  • Privileges Required: Low — attacker needs a low-privilege local account or process.
  • User Interaction: None — no user action needed.
  • Scope: Changed — crosses the secure/non-secure boundary.
  • Impact: Confidentiality None, Integrity Low, Availability High.

Risk Rating: The 7.3 CVSS score places this in the HIGH severity band. For organizations using FreeRTOS-Kernel in security-critical deployments, this should be treated as a priority to patch once an official fix is confirmed, given the demonstrated availability impact and the potential for privilege escalation beyond the initial scope.

Detection Guidance

Detection of this vulnerability is challenging because it manifests at the system-call/handler level within an embedded OS. The following detections target anomalous SVC activity, memory corruption symptoms, and process behavior consistent with use-after-free exploitation.

Sigma Rule

title: FreeRTOS-Kernel Secure Context Deallocation Use-After-Free Attempt
id: a3d8c612-5c31-4b8f-9a0e-77c4d1e9f2b1
status: experimental
description: Detects SVC handler invocation patterns consistent with CVE-2026-77235 exploitation in FreeRTOS-Kernel.
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-77235
author: Valtersit Threat Intelligence
date: 2026/02/01
tags:
    - attack.privilege_escalation
    - attack.t1068
    - cve.2026-77235
logsource:
    category: process_creation
    product: linux
    definition: 'Requires instrumentation of FreeRTOS SVC handler calls on embedded Linux or RTOS environments'
detection:
    selection:
        # Placeholder conditions - adapt to actual telemetry source (e.g., auditd, eBPF)
        EventID:
            - 1       # Process creation
            - 5016    # Auditd syscall
        Syscall:
            - 'svc'
        Arguments|contains:
            - 'secure_context'
            - 'dealloc'
    condition: selection
falsepositives:
    - Legitimate secure context cleanup during normal system shutdown
level: high

YARA Rule

rule CVE_2026_77235_FreeRTOS_SecureContext_UAF
{
    meta:
        author = "Valtersit Threat Intelligence"
        description = "Detects strings/patterns associated with FreeRTOS-Kernel secure context deallocation code path prior to version 11.3.1"
        cve = "CVE-2026-77235"
        date = "2026-02-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-77235"
    strings:
        $s1 = "SecureContext" ascii wide
        $s2 = "secure context deallocation" ascii wide
        $s3 = "SVC_Handler" ascii wide
        $s4 = "vPortSecureContextDeallocate" ascii wide  // Placeholder — verify against actual source
        $s5 = "configENABLE_TRUSTZONE" ascii wide
        $s6 = "prvSecureContextCleanup" ascii wide       // Placeholder — verify against actual source
        $s7 = "11.3.1" ascii wide
    condition:
        (uint16(0) == 0x5A4D) and  // PE header check for firmware binaries
        any of them
}

Note: The strings vPortSecureContextDeallocate and prvSecureContextCleanup are placeholders. In production, replace with actual function names from the FreeRTOS-Kernel 11.3.1 source or disassembly of the vulnerable binary to avoid false negatives.

Suricata IDS Rule

alert ip any any -> any any (msg:"CVE-2026-77235 FreeRTOS-Kernel Secure Context Deallocation Attempt"; flow:to_server; content:"SVC"; within:10; content:"0x"; distance:1; content:"dealloc"; distance:50; classtype:attempted-admin; sid:202677235; rev:1; metadata:created_at 2026-02-01, updated_at 2026-02-01;)

Note: Network-based detection of this vulnerability is largely impractical because the attack occurs locally via SVC instructions. This rule is a placeholder for IPMI/management traffic that may expose device status. In real deployments, rely on host-based monitoring.

Elastic Detection

sequence by host.hostname with maxspan=5m
  [process where event.action == "exec" and process.args : "*SVC*"] 
  [process where event.action == "exec" and process.args : "*context*" and process.args : "*dealloc*"]
  [file where event.action == "write" and file.path : "*mem*" and file.extension == "core"]

Note: This EQL rule assumes a Linux-based FreeRTOS environment with process/memory event telemetry. Adapt to the actual host EDR coverage.

Splunk SPL Query

index=edr OR index=linux_sysmon 
| where like(process_path, "%freeRTOS%") OR like(process_path, "%kernel%")
| search process_name IN ("*svc*") AND command_line IN ("*context*", "*dealloc*")
| stats count by _time, host, user, process_name, command_line
| sort -count

For embedded RTOS environments without standard logs, use:

index=embedded_device_logs
| search "SVC_HANDLER" AND "SECURE_CONTEXT" AND ("ERROR" OR "FAULT" OR "ABORT")
| table _time, device_name, severity, message

Wazuh OSSEC Rule

<group name="freeRTOS,">
    <rule id="473854" level="10">
        <decoded_as>json</decoded_as>
        <field name="component">SecureContext</field>
        <field name="action">dealloc</field>
        <description>CVE-2026-77235: Suspicious secure context deallocation without privilege verification in FreeRTOS-Kernel.</description>
        <mitre>
            <id>T1068</id>
        </mitre>
        <group>cve-2026-77235,privilege_escalation</group>
    </rule>
</group>

Note: The Wazuh rule requires the FreeRTOS device to emit structured logs containing component=SecureContext and action=dealloc. If the RTOS does not log SVC activity, this rule will not fire; host-agent instrumentation is required.

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED. The NVD description states the fix is included in version 11.3.1, but no authoritative patch source (vendor advisory, commit, or CVE-mapped patch) has been confirmed from the tracked sources. This discrepancy must be resolved by contacting the FreeRTOS maintainers or monitoring the official GitHub repository.

Immediate Mitigations (before patching):

  1. Disable or Restrict SVC Handler Access: If the application does not require dynamic secure context deallocation, disable the corresponding SVC handler service in the kernel configuration. Set configENABLE_TRUSTZONE to 0 if TrustZone support is not essential.
  2. Apply Access Control at the API Boundary: If kernel modification is not feasible, add a privilege check in the application layer before invoking SVC instructions that map to secure context operations. Ensure only privileged tasks (e.g., those with a special security token or running in a designated privileged task group) can issue deallocation calls.
  3. Monitor for Anomalous SVC Activity: Deploy host-based instrumentation (e.g., eBPF or kernel tracing) to log and alert on unexpected SVC handler invocations, especially those targeting secure context management services.
  4. Restrict Local Access: Limit physical and logical access to the device. This is a local attack vector (AV:L), so enforcing strict access control, disabling debug interfaces, and requiring authentication for local shell access reduce the attack surface.
  5. Enable Watchdog Timers: Configure watchdog timers to automatically reset the system upon a detected crash, mitigating the availability impact of a successful denial-of-service.

Patch/Upgrade Steps:

  1. Verify the availability of FreeRTOS-Kernel version 11.3.1 from the official FreeRTOS GitHub repository or vendor distribution channel.
  2. Review the release notes for version 11.3.1 to confirm the CVE-2026-77235 fix is included and assess any API compatibility changes.
  3. Apply the upgrade in a staging environment, re-run security and functional tests, then deploy to production devices via your firmware update mechanism (OTA or physical).
  4. If version 11.3.1 is not available, contact the FreeRTOS maintainers for an advisory or interim patch. Do NOT rely on OSV packages (N/A).

Long-Term Hardening:

  1. Adopt Secure Coding Practices: For any kernel-level handlers, enforce mandatory privilege checks at the top of SVC handlers, regardless of caller context. Follow a "fail-closed" model where unverified requests are rejected.
  2. Use Memory-Safe Alternatives: Consider using memory-safe language bindings or additional hardening (e.g., Memory Protection Unit/MPU) to mitigate use-after-free consequences if kernel code changes are not feasible.
  3. Implement Secure Boot and Trust Chain: Ensure only signed firmware versions can be flashed, preventing downgrade attacks to vulnerable FreeRTOS-Kernel versions.
  4. Regular Security Audits: Include FreeRTOS-Kernel and its TrustZone component in periodic code audits and fuzz-testing campaigns targeting SVC handler input validation.
  5. Stay Informed: Monitor FreeRTOS security advisories and the NVD entry for CVE-2026-77235 for updates on patch availability and any emerging exploit activity.

Important Caveat: Given the patch confidence of 0/4, it is critical to verify the claim that version 11.3.1 resolves this issue before assuming remediation. If the vendor fix is not yet publicly available, implement all immediate mitigations and communicate the residual risk to stakeholders.

References

  1. National Vulnerability Database (NVD): https://nvd.nist.gov/vuln/detail/CVE-2026-77235
  2. FreeRTOS Official Site (Kernel Download/Advisories): https://www.freertos.org/
  3. FreeRTOS GitHub Repository (Source Code & Release Tags): https://github.com/FreeRTOS/FreeRTOS-Kernel
  4. CWE-416 Use After Free (MITRE): https://cwe.mitre.org/data/definitions/416.html
  5. ARM TrustZone Documentation (for context on SVC/secure world): https://developer.arm.com/documentation/den0017/latest

Threat Actor Campaigns / Exploit-in-the-Wild Evidence: As of this report date, no known threat actor campaigns or exploitation-in-the-wild evidence exists for CVE-2026-77235. The vulnerability has not been added to the CISA Known Exploited Vulnerabilities (KEV) catalog. The PoC/Exploit status is UNKNOWN, and no exploit code has been publicly released. Organizations should nonetheless treat this as a high-priority finding given the high availability impact and the sensitivity of secure-world memory in TrustZone deployments.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

FreeRTOS-Kernel
FreeRTOS IoT
portable:FreeRTOS
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-77235/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.