Scans code for missing error handling or feedback mechanisms.
Missing Security-Relevant Feedback for Unexecuted Operations in Hardware Interface
This vulnerability occurs when a hardware interface discards operations without providing any security-relevant feedback, such as error notifications or logs. This silence prevents the timely…
What is CWE-1429?
Real-world CVEs caused by CWE-1429
-
Open source silicon root of trust (RoT) product does not immediately report when an integrity check fails for memory requests, causing the product to accept and continue processing data [REF-1468]
Angreiferpfad Schritt für Schritt
- 1
This code creates an interrupt handler. If the interrupt's priority is lower than the currently active one, the interrupt is discarded without any feedback, perhaps due to resource constraints.
- 2
The omission of feedback for the dropped lower-priority interrupt can cause developers to misinterpret the state of the system, leading to incorrect assumptions and potential system failures, such as missed sensor readings. Attackers might leverage this lack of visibility to induce conditions that lead to timing side-channels. For example, an attacker could intentionally flood the system with high-priority interrupts, forcing the system to discard lower-priority interrupts consistently. If these discarded interrupts correspond to processes executing critical security functions (e.g., cryptographic key handling), an attacker might measure system timing variations to infer when and how those functions are executing. This creates a timing side channel that could be used to extract sensitive information. Moreover, since these lower-priority interrupts are not reported, the system remains unaware that critical tasks such as sensor data collection or maintenance routines, are being starved of execution. Over time, this can lead to functional failures or watchdog time resets in real-time systems. One way to address this problem could be to use structured logging to provide visibility into discarded interrupts. This allows administrators, developers, or other authorized entities to track missed interrupts and optimize the system.
- 3
Consider a SoC design with these component IPs: IP 1. Execution Core IP 2 SoC Fabric (NoC, tile etc. ) IP 3 Memory Controller External/ internal memory. The Core executes operations that trigger transactions that traverse the HW fabric links to read/write to the final memory module. There can be unexpected errors in each link. For adding reliability and redundance, features like ECCs are used in these transactions. Error correction capabilities have to define how many error bits can be detected and which errors can be corrected, and which are uncorrectable errors. In design, often the severity level and response on different errors is allowed to be configured by system firmware modules like BIOS.
- 4
For system security, if an uncorrectable error occurs but is not reported to the execution core and handled before the core attempts to consume the data that is read/written through the corrupted transactions, then this could enable silent data corruption (SDC) attacks. In the case of confidential compute technologies where system firmware is not a trusted component, error handling controls can be misconfigured to trigger this weakness and attack the assets protected by confidential compute.
Vulnerable C
This code creates an interrupt handler. If the interrupt's priority is lower than the currently active one, the interrupt is discarded without any feedback, perhaps due to resource constraints.
void interrupt_handler(int irq) {
```
if (irq_priority[irq] < current_priority) {
return;
}
process_interrupt(irq);
} Secure C
The omission of feedback for the dropped lower-priority interrupt can cause developers to misinterpret the state of the system, leading to incorrect assumptions and potential system failures, such as missed sensor readings. Attackers might leverage this lack of visibility to induce conditions that lead to timing side-channels. For example, an attacker could intentionally flood the system with high-priority interrupts, forcing the system to discard lower-priority interrupts consistently. If these discarded interrupts correspond to processes executing critical security functions (e.g., cryptographic key handling), an attacker might measure system timing variations to infer when and how those functions are executing. This creates a timing side channel that could be used to extract sensitive information. Moreover, since these lower-priority interrupts are not reported, the system remains unaware that critical tasks such as sensor data collection or maintenance routines, are being starved of execution. Over time, this can lead to functional failures or watchdog time resets in real-time systems. One way to address this problem could be to use structured logging to provide visibility into discarded interrupts. This allows administrators, developers, or other authorized entities to track missed interrupts and optimize the system.
// Priority threshold for active interrupts
int current_priority = 3;
// Simulated priority levels for different IRQs
int irq_priority[5] = {1, 2, 3, 4, 5};
void process_interrupt(int irq) {
```
printf("Processing interrupt %d\n", irq);
}
void interrupt_handler(int irq) {
if (irq_priority[irq] < current_priority) {
// Log the dropped interrupt using structured feedback
fprintf(stderr, "Warning: Interrupt %d dropped (Priority: %d < Current: %d)\n",
irq, irq_priority[irq], current_priority);
exit(EXIT_FAILURE); // Exit with failure status to indicate a critical issue.
}
process_interrupt(irq);
} How to prevent CWE-1429
- Architecture and Design Incorporate logging and feedback mechanisms during the design phase to ensure proper handling of discarded operations.
- Implementation Developers should ensure that every critical operation includes proper logging or error feedback mechanisms.
How to detect CWE-1429
Experts manually inspect the code for unhandled operations.
Plexicus erkennt CWE-1429 automatisch und öffnet in unter 60 Sekunden einen Fix-PR.
Codex Remedium scannt jeden Commit, identifiziert genau diese Schwachstelle und liefert einen reviewer-ready Pull Request mit dem Patch. Keine Tickets. Keine Hand-offs.
Frequently asked questions
Was ist CWE-1429?
This vulnerability occurs when a hardware interface discards operations without providing any security-relevant feedback, such as error notifications or logs. This silence prevents the timely detection of critical failures or active attacks, leaving systems vulnerable to undetected compromise.
Wie gravierend ist CWE-1429?
MITRE hat für diese Schwachstelle keine Exploit-Wahrscheinlichkeit veröffentlicht. Behandle sie als mittlere Auswirkung, bis dein Threat Model anderes belegt.
Welche Sprachen oder Plattformen sind von CWE-1429 betroffen?
MITRE lists the following affected platforms: C, C++, Verilog, Hardware Description Language, ARM, x86, Embedded, Security Hardware.
Wie kann ich CWE-1429 verhindern?
Incorporate logging and feedback mechanisms during the design phase to ensure proper handling of discarded operations. Developers should ensure that every critical operation includes proper logging or error feedback mechanisms.
Wie erkennt und behebt Plexicus CWE-1429?
Die SAST-Engine von Plexicus erkennt die Datenfluss-Signatur von CWE-1429 bei jedem Commit. Bei einem Treffer öffnet unser Codex-Remedium-Agent einen Fix-PR mit korrigiertem Code, Tests und einer einzeiligen Zusammenfassung für den Reviewer.
Wo erfahre ich mehr über CWE-1429?
MITRE veröffentlicht die kanonische Definition unter https://cwe.mitre.org/data/definitions/1429.html. Für ergänzende Hinweise kannst du auch die OWASP- und NIST-Dokumentation heranziehen.
Weaknesses related to CWE-1429
Omission of Security-relevant Information
This vulnerability occurs when an application fails to capture or present crucial security-related details, such as the origin of a…
Insufficient Logging
This weakness occurs when an application fails to properly record important security events or captures them with insufficient detail,…
Missing Report of Error Condition
This vulnerability occurs when a system fails to properly signal that an error has happened. Instead of returning a clear error code,…
Schluss mit dem Bezahlen pro Entwickler.
Schließ den Kreislauf.
Plexicus ist die KI-native ASPM, die scannt, filtert, fixt, pentestet und erklärt — autonom. Unbegrenzte Entwickler, unbegrenzte Repos, Fair-Use-KI-Aktionen. Echter kostenloser Tarif, €269/mo jährlich, wenn du bereit bist.