ArcaneOS - InFlux Technologies


Prepared by:

Halborn Logo

HALBORN

Last Updated 02/05/2026

Date of Engagement: October 8th, 2025 - November 18th, 2025

Summary

100% of all REPORTED Findings have been addressed

All findings

14

Critical

0

High

2

Medium

3

Low

9

Informational

0


1. Introduction

InFlux Technologies engaged Halborn to conduct a security assessment of the ArcaneOS system. Halborn was provided access to the GitHub repository and the associated internal documentation in order to conduct security testing using a combination of automated testing and manual analysis to scan, detect, validate and report possible vulnerabilities.

A comprehensive security assessment of the system identified multiple classes of vulnerabilities affecting the platform’s reliability, confidentiality, and integrity across the kernel, application, and infrastructure layers. Several findings were related to inadequate privilege separation, unsafe concurrency handling, weak cryptographic practices, insecure communication patterns, and architectural decisions that increase operational and attack surface risk.

At the kernel and low-level system layer, unsafe thread management and race conditions created conditions that could lead to Use-After-Free scenarios, memory corruption, and undefined behavior. The system employs a Unified Kernel Image (UKI), in which the kernel, initrd, and command line are bundled and cryptographically signed, providing strong protection against pre-boot tampering of these components. In addition, ArcaneOS leverages dm-verity to ensure runtime integrity of the filesystem, preventing unauthorized modification of disk contents after boot. While Secure Boot and PCR7 contribute to a trusted boot baseline, the overall boot and runtime integrity model relies on the combination of signed UKIs and dm-verity rather than PCR measurements alone. The assessment also noted that the hardware platform lacks mitigations against certain physical memory-extraction attacks, and that Trusted Execution Environments (TEEs) are not currently used to protect sensitive runtime secrets.

At the application layer, several architectural weaknesses were identified that increased the system’s attack surface. These included components running with elevated privileges, token-generation mechanisms with limited entropy designed for manual use, unsafe deserialization paths that could lead to denial-of-service conditions, and improper file-write synchronization resulting in potential configuration corruption or service instability. Information-disclosure issues—such as verbose error handling, exposure of internal secrets, and leakage of network topology—could further assist an attacker in chaining attacks.

Web-facing components exhibited additional risks, including CORS misconfigurations, insecure cookie attributes, archive-extraction logic vulnerable to Zip Slip-style path traversal, and anti-debugging mechanisms that do not provide strong security guarantees. Collectively, these issues could enable privilege escalation, denial of service, or unintended disclosure of internal system details to both local and remote adversaries.

Mitigations should focus on strengthening defenses across all layers of the stack. Recommended actions include enforcing strict least-privilege execution, improving concurrency safety, hardening token and cryptographic handling within their intended threat model, validating all external inputs, securing cookie and CORS configurations, and continuing to rely on signed UKIs and dm-verity for boot-time and runtime integrity. Where the threat model requires protection against advanced physical or runtime attacks, the optional adoption of TEEs may further reduce risk. Implementing these measures would materially improve the platform’s resilience while preserving its existing secure-by-design boot architecture.

2. Overall Recommendations

Although the use of PCR7 (Secure Boot) provided a baseline level of protection, it did not guarantee the integrity of the initrd. This introduced a single point of failure in which an attacker could compromise the boot partition and disable downstream security controls—such as watchdog mechanisms, privilege separation, and data separation—before those controls were even loaded. Furthermore, without a Trusted Execution Environment (TEE), the system remained vulnerable to runtime memory-extraction attacks.

To achieve a robust security posture, the engineering effort was required to shift toward preventative cryptographic enforcement, including extended PCR policies and the adoption of TEEs.

2.1 Technical Recommendations

    1. Extend TPM Sealing Policy

      The reliance on PCR7 alone was insufficient to protect the system against physical attacks at rest, as it did not include measurements of the initial RAM disk (initrd).

      • Action: The TPM sealing policy was to be extended to include at least PCR9 (to measure and secure the initrd) and, ideally, PCR11 (to cover Unified Kernel Image components).

      • Benefit: This ensured that if an attacker modified the initrd—for example, to inject a shell or extract encryption keys—the TPM would refuse to unseal the disk-encryption key, thereby keeping the data volume inaccessible.

    2. Re-engineer the Update Process for PCR Compliance

      Implementing the strict PCR sealing described above introduced additional complexity into the update cycle, as any kernel or initrd modification altered the corresponding measurements and would otherwise break the seal.

      • Action: The fluxos updater logic was to be modified to support pre-calculated sealing. During an update, the system was required to compute the future hash of the new initrd and kernel, and seal the disk key to these new measurements prior to rebooting.

      • Benefit: This approach preserved the seamless automatic-update experience without requiring user intervention, while simultaneously closing the security gap in the boot process. This behavior was necessary for achieving a properly secure boot chain.

    3. Mitigation of Runtime Memory Attacks

      It was acknowledged that standard Intel/AMD architectures, without dedicated security extensions, were unable to protect against physical RAM extraction (cold-boot attacks) or bus-sniffing attacks while the system was running.

      • Action: If resistance to sophisticated physical attacks during runtime was required, the hardware scope had to be expanded to include support for Trusted Execution Environments (TEEs), such as AWS Nitro Enclaves or Intel SGX/TDX (noting that SGX had a history of significant vulnerabilities and was generally not recommended).

      • Benefit: This ensured that keys and other sensitive in-memory data remained encrypted even in scenarios where the physical host hardware was compromised.

    4. Enforce the Principle of Least Privilege

      The application layer currently executed critical components—such as the web server—with root privileges, increasing the impact of any potential exploitation.

      • Action: The application architecture was to be refactored so that the frontend, web server, and parsers operated under an unprivileged user account. Privileged operations were to be delegated through D-Bus, polkit, or narrowly scoped sudo allow-lists (the latter being the least recommended).

      • Benefit: This approach reduced the blast radius of any application-level compromise (for example, exploitation of the Zip Slip vulnerability), preventing such issues from escalating into a full system takeover.


3. RISK METHODOLOGY

Halborn assesses the severity of findings using either the Common Vulnerability Scoring System (CVSS) framework or the Impact/Likelihood Risk scale, depending on the engagement. CVSS is an industry standard framework for communicating characteristics and severity of vulnerabilities in software. Details can be found in the CVSS Specification Document published by F.I.R.S.T.
Vulnerabilities or issues observed by Halborn scored on the Impact/Likelihood Risk scale are measured by the LIKELIHOOD of a security incident and the IMPACT should an incident occur. This framework works for communicating the characteristics and impacts of technology vulnerabilities. The quantitative model ensures repeatable and accurate measurement while enabling users to see the underlying vulnerability characteristics that were used to generate the Risk scores. For every vulnerability, a risk level will be calculated on a scale of 5 to 1 with 5 being the highest likelihood or impact.
RISK SCALE - LIKELIHOOD
  • 5 - Almost certain an incident will occur.
  • 4 - High probability of an incident occurring.
  • 3 - Potential of a security incident in the long term.
  • 2 - Low probability of an incident occurring.
  • 1 - Very unlikely issue will cause an incident.
RISK SCALE - IMPACT
  • 5 - May cause devastating and unrecoverable impact or loss.
  • 4 - May cause a significant level of impact or loss.
  • 3 - May cause a partial impact or loss to many.
  • 2 - May cause temporary impact or loss.
  • 1 - May cause minimal or un-noticeable impact.
The risk level is then calculated using a sum of these two values, creating a value of 10 to 1 with 10 being the highest level of security risk.
Critical
High
Medium
Low
Informational
  • 10 - CRITICAL
  • 9 - 8 - HIGH
  • 7 - 6 - MEDIUM
  • 5 - 4 - LOW
  • 3 - 1 - VERY LOW AND INFORMATIONAL

4. SCOPE

Remediation Commit ID:
  • 762a11d
  • dbe28e8
  • c2b5ca6
  • 0f10f94
  • 61461bc
  • b1ad1bd
  • NA
  • df58d2f
Out-of-Scope: New features/implementations after the remediation commit IDs.

5. Assessment Summary & Findings Overview

Critical

0

High

2

Medium

3

Low

9

Informational

0

Security analysisRisk levelRemediation Date
Linux Kernel Module UAFHighSolved
Data race condition involving memory corruptionHighRisk Accepted - 01/12/2026
Key extraction on first bootMediumRisk Accepted - 12/15/2025
File corruption from race conditionMediumSolved - 12/16/2025
Hardcoded credentials and tokensMediumRisk Accepted - 01/12/2026
Weak API security configuration LowSolved - 12/15/2025
Cleartext transmission of metadataLowSolved - 12/15/2025
Weak cookie security attributeLowSolved - 12/16/2025
DoS due to deserialization of attacker-controlled dataLowSolved - 12/16/2025
Info leak on exception in runtime-proxyLowSolved - 12/15/2025
Infringement of least privilege principleLowSolved - 01/12/2026
Weak Token GenerationLowRisk Accepted - 12/15/2025
Mitigated arbitrary file write using Zip Slip LowSolved - 12/16/2025
Antidebug bypassLowRisk Accepted - 01/12/2026

6. Findings & Tech Details

6.1 Linux Kernel Module UAF

//

High

Description
Proof of Concept
Score
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H(7.8)
Recommendation
Remediation Comment

6.2 Data race condition involving memory corruption

//

High

Description
Proof of Concept
Score
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:H(7.7)
Recommendation
Remediation Comment

6.3 Key extraction on first boot

//

Medium

Description
Proof of Concept
Score
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N(5.6)
Recommendation
Remediation Comment

6.4 File corruption from race condition

//

Medium

Description
Proof of Concept
Score
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L(5.2)
Recommendation
Remediation Comment
Remediation Hash

6.5 Hardcoded credentials and tokens

//

Medium

Description
Proof of Concept
Score
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N(4.7)
Recommendation
Remediation Comment

6.6 Weak API security configuration

//

Low

Description
Proof of Concept
Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N(3.7)
Recommendation
Remediation Comment
Remediation Hash

6.7 Cleartext transmission of metadata

//

Low

Description
Proof of Concept
Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N(3.1)
Recommendation
Remediation Comment
Remediation Hash

6.8 Weak cookie security attribute

//

Low

Description
Proof of Concept
Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N(3.1)
Recommendation
Remediation Comment
Remediation Hash

6.9 DoS due to deserialization of attacker-controlled data

//

Low

Description
Proof of Concept
Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L(3.1)
Recommendation
Remediation Comment
Remediation Hash

6.10 Info leak on exception in runtime-proxy

//

Low

Description
Proof of Concept
Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N(3.1)
Recommendation
Remediation Comment
Remediation Hash

6.11 Infringement of least privilege principle

//

Low

Description
Proof of Concept
Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N(3.1)
Recommendation
Remediation Comment
Remediation Hash

6.12 Weak Token Generation

//

Low

Description
Proof of Concept
Score
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N(2.8)
Recommendation
Remediation Comment

6.13 Mitigated arbitrary file write using Zip Slip

//

Low

Description
Proof of Concept
Score
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N(2.8)
Recommendation
Remediation Comment
Remediation Hash

6.14 Antidebug bypass

//

Low

Description
Proof of Concept
Score
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N(2.5)
Recommendation
Remediation Comment

Halborn strongly recommends conducting a follow-up assessment of the project either within six months or immediately following any material changes to the codebase, whichever comes first. This approach is crucial for maintaining the project’s integrity and addressing potential vulnerabilities introduced by code modifications.