Security Resilience

CVE-2026-32810

LPE in Halloy ≤ 2026.4

Public PoCLPE
Published
20 March 2026
Modified
23 March 2026
Patch / advisory
CVSS Score v4 4.8
Click a component to see what it means
Raw vectorCVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0014 3th percentile
Risk Priority 25 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-32810 is a medium-severity Incorrect Permission Assignment for Critical Resource (CWE-732) vulnerability in Halloy Halloy. Its CVSS base score is 4.8 (Medium).

Operationally, ranked at the 3th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-6 (Least Privilege) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Halloy is an IRC application written in Rust. In versions on \*nix and macOS prior to commit f180e41061db393acf65bc99f5c5e7397586d9cb, halloy creates its config directory and files using default umask permissions, which typically results in `0644` on files and `0755` on directories.…

more

This allows any local user on the system to read plaintext credentials stored in `config.toml` or referenced `password_file` paths. Commit f180e41061db393acf65bc99f5c5e7397586d9cb patches the issue.

CWE(s)

Related Threats

CVEs Like This One

CVE-2026-32733Same product: Halloy Halloy
CVE-2025-43243Shared CWE-732
CVE-2025-52873Shared CWE-732
CVE-2024-28745Shared CWE-732
CVE-2025-30708Shared CWE-732
CVE-2023-1516Shared CWE-732
CVE-2024-28163Shared CWE-732
CVE-2025-40572Shared CWE-732
CVE-2026-14208Shared CWE-732
CVE-2025-21564Shared CWE-732

Affected Assets

halloy
halloy
≤ 2026.4

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Enforces the access control policy that defines permissions on resources, thereby stopping incorrect assignments from remaining exploitable.

Directly requires assignment of only the minimum necessary permissions, preventing overly broad grants on critical resources.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

blocks

A.5.15 directly requires determining access needs, defining and communicating an access control policy, implementing rules that map rights/restrictions to entities (including consistency with classification), and considering need-to-know, privileged restrictions, segregation, formal authorization, and dynamic factors — which squarely stops most incorrect permission assignments from being exploitable; the bounded remainder is misconfigurations that violate the policy itself.

blocks

A.5.18 directly governs the provisioning, review, adjustment and revocation of logical access rights (including for critical resources) according to business needs, policy, SoD and risk, which stops most unintended actors from reading/modifying via incorrect permissions; the bounded remainder is incorrect permission assignments that are not access-right decisions at all (e.g. filesystem umask, ACL syntax errors).

blocks

A.8.2 directly controls the allocation, review, expiry, and use of privileged rights (including least-privilege, temporary grants, no generic IDs, and higher authentication), which stops most unintended read/modify cases named by CWE-732; the bounded remainder is non-privileged incorrect permission assignments (e.g. on files or objects that never require privilege).

blocks

Requiring explicit configuration of access controls and permissions for files, applications and services counters the assignment of overly permissive default or incorrect file-system rights.

blocks

A.8.32's formal change process (impact assessment, authorization, testing per 8.29, documentation, and enforcement across the SDLC) prevents most incorrect permission assignments on critical resources by catching them before or during implementation; the bounded remainder is ad-hoc/emergency changes or post-deployment permission drift outside the managed process.

blocks

A.8.4 strictly controls read/write access to source code and associated critical resources per roles/business needs (with audit and change-control integration), directly preventing most unintended read/modify cases in CWE-732; the bounded remainder is misconfigured permissions on non-source-code critical resources (e.g. configs, keys, or runtime artifacts) outside the clause's explicit scope.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-732, a class-level weakness. Rules are authored against its narrower children: CWE-276, CWE-277, CWE-281.

References