Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
Arbitrary overwrite of any file writable by the build process justifies I:H over NVD's I:L; no confidentiality impact; A:L for potential disruption of build artifacts.
Primary rating from Vendor (certcc).
CVSS VectorVendor: certcc
Lifecycle Timeline
4DescriptionCVE.org
A vulnerability in the zipx.Unzip extraction routine of Develar's app-builder allows an attacker to overwrite arbitrary files on macOS APFS by exploiting a Unicode Normalization Collision combined with symlink following behavior. APFS treats certain Unicode equivalent filenames as identical (e.g., ß ↔ ss), while app builder performs no canonical normalization before validating or writing paths. As a result, a crafted ZIP archive containing: • a symlink entry named ss pointing to a target file, and • a regular file named ß containing attacker controlled data, will cause the second write to follow the symlink and overwrite the target file.
AnalysisAI
Arbitrary file overwrite in Develar app-builder (all versions ≤ 4.2.0 on macOS) allows an unauthenticated remote attacker to escape the ZIP extraction directory by exploiting APFS Unicode case-folding combined with symlink following in the zipx.Unzip routine. A crafted archive containing a symlink entry ss pointing to an external victim file and a subsequent regular-file entry ß causes the builder to follow the symlink - because APFS folds ß to ss - overwriting the target with attacker-controlled content. SSVC rates the attack automatable with no confirmed exploitation; no public exploit code has been identified at time of analysis, though CERT/CC advisory VU#293714 and ENISA EUVD-2026-50423 confirm coordinated disclosure.
Technical ContextAI
The flaw resides in app-builder's zipx.Unzip extraction routine (CPE: cpe:2.3:a:develar:app-builder:*:*:*:*:*:*:*:*), a Go package used as the extraction engine in the Develar Electron application packaging toolchain. The root cause is CWE-22 (Path Traversal): the routine performs no Unicode canonical normalization before validating or writing extracted paths. Apple APFS and HFS+ implement full Unicode case folding at the filesystem layer, treating ß and ss as the same directory entry. When zipx.Unzip materializes a symlink entry (ss → external victim path), then subsequently opens the regular-file entry ß for writing without the O_NOFOLLOW flag, the kernel resolves ß to the pre-existing ss directory entry and follows the symlink to the external target. The fix introduced in PR #163 addresses both vectors: symlink entries whose resolved target escapes the output directory are rejected outright, and all regular-file writes are opened with O_NOFOLLOW, consistent with mitigations in node-tar and bsdtar.
RemediationAI
Apply the upstream fix from GitHub PR #163 (https://github.com/develar/app-builder/pull/163), which rejects symlink entries whose resolved target escapes the extraction output directory and enforces O_NOFOLLOW on all regular-file writes. A specific patched release version number is not confirmed in the available data - the PR changeset labels it a 'patch' release for app-builder-bin but no tagged version above 4.2.0 appears in the provided sources; monitor the repository and the CERT/CC advisory at https://www.kb.cert.org/vuls/id/293714 for a confirmed release. As an immediate compensating control, restrict ZIP archives processed by app-builder to trusted, integrity-verified origins (e.g., hash-checked or code-signed artifacts), which raises attacker cost without eliminating the flaw. Running app-builder under a least-privilege account with minimal filesystem write permissions on macOS CI runners limits the blast radius of a successful exploit, though this does not prevent exploitation of files writable by that account. Migrating macOS CI workloads to Linux runners entirely eliminates exposure for the duration before a patch is available.
More in App Builder
View allThe App Builder - Create Native Android & iOS Apps On The Flight plugin for WordPress is vulnerable to privilege escalat
The App Builder - Create Native Android & iOS Apps On The Flight plugin for WordPress is vulnerable to limited SQL Injec
URL Redirection to Untrusted Site ('Open Redirect') vulnerability in Appcheap.Io App Builder.8.7. Rated medium severity
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-50423
GHSA-m52r-27c6-4q88