T09 · Insecure Skill Coding Practices
- Location
SKILL.md:286- Finding
Kickstart Example Creates a Predictable Plaintext Root Credential
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 286
Vulnerability Type: Hardcoded predictable privileged credential
Risk Level: HighComplete Code Snippet:
kickstart # Root password rootpw --plaintext passwordTechnical Analysis
The supplied Kickstart configuration sets the root password to the literal value
passwordand explicitly stores it in plaintext. If a user copies this example, every image produced from it will have the same publicly documented root credential.In addition to creating a predictable privileged credential, the plaintext value can remain visible in the Kickstart file, source control, build logs, build artifacts, or installation media. The surrounding documentation does not require the password to be replaced before building an image.
This is an insecure image configuration rather than evidence that the package itself accesses an existing credential.
Attack Path
- An administrator copies the documented Kickstart example.
- The administrator builds and deploys an image without replacing or disabling the example root password.
- The deployed system permits root authentication through a console, SSH configuration, recovery environment, or another authentication service.
- An attacker uses the username
rootand the documented passwordpassword. - If authentication is permitted, the attacker obtains full administrative access to the affected system.
Impact Assessment
Successful exploitation grants root privileges on every deployed host built from the unchanged configuration. Root access permits reading or modifying all local data, changing security settings, installing persistent software, extracting locally available credentials, and using the compromised host to attack connected systems.
The affected scope depends on how many images were generated from the example and whether direct root authentication is reachable. The credential's publi ...[truncated 87 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the example with
rootpw --lockwhen direct root authentication is unnecessary. - If a root password is required, use
rootpw --iscryptedwith a unique, strongly salted password hash. - Inject the hash from a protected build-time secret rather than committing it to the Kickstart file.
- Add an unprivileged administrative account and grant narrowly controlled
sudoaccess. - Disable remote root login in SSH and other remotely accessible authentication services.
- Clearly identify all credential values as nonfunctional placeholders and make image validation fail if a known example credential remains.
- Scan generated images and build artifacts for default credentials before release.
- Rotate credentials and rebuild any image previously created from the unchanged example.
- Replace the example with
