Summary
A path traversal vulnerability in Quasar IconGenie allows crafted profile values to direct generated image content outside the intended Quasar project directory. A developer who runs an untrusted profile may cause files to be created or overwritten anywhere their account can write, including shell startup files, build scripts, or executable configuration.
A path traversal vulnerability in Quasar IconGenie allows crafted profile values to direct generated image content outside the intended Quasar project directory. A developer who runs an untrusted profile may cause files to be created or overwritten anywhere their account can write, including shell startup files, build scripts, or executable configuration.
Affected context
The issue occurs when the IconGenie command-line tool processes user-supplied profile data during image generation. It is relevant when profile-provided folder and name values are joined with the application directory without constraining the final resolved path, while validation checks only that those values are non-empty strings.
The issue occurs when the IconGenie command-line tool processes user-supplied profile data during image generation. It is relevant when profile-provided folder and name values are joined with the application directory without constraining the final resolved path, while validation checks only that those values are non-empty strings.
Exploit preconditions
- Attack surface: Local command-line tooling used during Quasar development or asset generation
- Required access: Ability to provide or modify a profile consumed by the developer
- Trigger point: Execution of
icongenie generate --profile - Why exploitation is possible: Profile paths are combined with the project directory without enforcing that the resolved destination remains within the intended directory
- Attack surface: Local command-line tooling used during Quasar development or asset generation
- Required access: Ability to provide or modify a profile consumed by the developer
- Trigger point: Execution of
icongenie generate --profile - Why exploitation is possible: Profile paths are combined with the project directory without enforcing that the resolved destination remains within the intended directory
Why this happens
The underlying bug is insufficient path validation for attacker-influenced filesystem destinations. The application accepts non-empty folder and name strings, joins them with a trusted base directory, and does not verify that the normalized result remains below that directory. This behavior maps primarily to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, with CWE-73: External Control of File Name or Path also describing the externally controlled destination.
The underlying bug is insufficient path validation for attacker-influenced filesystem destinations. The application accepts non-empty folder and name strings, joins them with a trusted base directory, and does not verify that the normalized result remains below that directory. This behavior maps primarily to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, with CWE-73: External Control of File Name or Path also describing the externally controlled destination.
Potential impact
- Arbitrary files may be created or overwritten within the invoking user's writable locations
- Shell startup files could be modified and execute unintended commands in later sessions
- Build scripts or project configuration could be altered
- Generated content could introduce code or supply-chain changes into a project
- Developer credentials or other user-owned data may be exposed indirectly
- Arbitrary files may be created or overwritten within the invoking user's writable locations
- Shell startup files could be modified and execute unintended commands in later sessions
- Build scripts or project configuration could be altered
- Generated content could introduce code or supply-chain changes into a project
- Developer credentials or other user-owned data may be exposed indirectly
General mitigation guidance
Mitigation should focus on enforcing filesystem destination boundaries and reducing trust in profile-controlled paths.
Common defensive patterns include:
- Resolve candidate paths against a trusted project root and reject any result outside that root
- Prefer fixed, application-controlled output directories over arbitrary profile paths
- Validate path components as structured names rather than accepting unrestricted path strings
- Use allowlists for permitted folders, filenames, and file extensions
- Avoid overwriting existing files unless an explicit, separately controlled policy allows it
- Run generation workflows with least-privilege accounts and isolated workspaces
- Treat profiles from repositories, archives, or external contributors as untrusted input
Mitigation should focus on enforcing filesystem destination boundaries and reducing trust in profile-controlled paths.
Common defensive patterns include:
- Resolve candidate paths against a trusted project root and reject any result outside that root
- Prefer fixed, application-controlled output directories over arbitrary profile paths
- Validate path components as structured names rather than accepting unrestricted path strings
- Use allowlists for permitted folders, filenames, and file extensions
- Avoid overwriting existing files unless an explicit, separately controlled policy allows it
- Run generation workflows with least-privilege accounts and isolated workspaces
- Treat profiles from repositories, archives, or external contributors as untrusted input
How teams detect issues like this
Organizations can detect this class of issue through:
- Static analysis rules for path joins involving user-controlled folder or filename values
- Code review checks requiring canonicalization followed by containment validation
- Tests using parent-directory segments, absolute paths, symbolic links, and platform-specific path formats
- CI policies that flag writes outside declared workspace or artifact directories
- Runtime monitoring for unexpected file creation or modification outside the project root
Automated security review tools may help identify unsafe path construction, but filesystem-boundary tests should also verify actual behavior across supported platforms.
Organizations can detect this class of issue through:
- Static analysis rules for path joins involving user-controlled folder or filename values
- Code review checks requiring canonicalization followed by containment validation
- Tests using parent-directory segments, absolute paths, symbolic links, and platform-specific path formats
- CI policies that flag writes outside declared workspace or artifact directories
- Runtime monitoring for unexpected file creation or modification outside the project root
Automated security review tools may help identify unsafe path construction, but filesystem-boundary tests should also verify actual behavior across supported platforms.

