GHSA-5RC7-2JJ6-MP64
Vulnerability from github – Published: 2026-02-26 20:00 – Updated: 2026-02-26 20:00Impact
The Terraform Provider for Linode versions prior to v3.9.0 logged sensitive information including some passwords, StackScript content, object storage data, and NodeBalancer TLS keys in debug logs without redaction.
Important: Provider debug logging is not enabled by default.
This issue is exposed when debug/provider logs are explicitly enabled (for example in local troubleshooting, CI/CD jobs, or centralized log collection). If enabled, sensitive values may be written to logs and then retained, shared, or exported beyond the original execution environment.
Specifically: - Instance creation operations logged the full InstanceCreateOptions struct containing RootPass and StackScriptData - Instance disk creation logged InstanceDiskCreateOptions containing RootPass and StackscriptData - StackScript update operations logged the complete script content via StackscriptUpdateOptions.Script - Image share group member creation logged tokens in ImageShareGroupAddMemberOptions.Token - Object storage operations logged full PutObjectInput structures containing user data - NodeBalancer config create and update operations logged NodeBalancerConfigCreateOptions and NodeBalancerConfigUpdateOptions containing the SSLKey (TLS private key)
An authenticated user with access to provider debug logs (through log aggregation systems, CI/CD pipelines, or debug output) would thus be able to extract these sensitive credentials.
Patches
Update to version v3.9.0 or later, which sanitizes debug logs by logging only non-sensitive metadata such as labels, regions, and resource IDs while redacting credentials, tokens, keys, scripts, and other sensitive content.
Workarounds and Mitigations
- Disable Terraform/provider debug logging or set it to
WARNlevel or above - To disable the logging, you can unset
TF_LOG_PROVIDERandTF_LOGenvironment variables - Or you can set them to
WARNorERRORlevels to avoid sensitive information logged inINFOandDEBUGlevels. - See Terraform docs for details: https://developer.hashicorp.com/terraform/internals/debugging
- Restrict access to existing and historical logs
- Purge/retention-trim logs that may contain sensitive values
- Rotate potentially exposed secrets/credentials, including:
- Root passwords
- Image share group tokens
- TLS private keys/certificates used in NodeBalancer configs
- StackScript content/secrets if embedded
Credits
This issue was reported to Terraform by Hasan Sheet via Akamai's HackerOne Bug Bounty program.
Resources
https://github.com/linode/terraform-provider-linode/releases/tag/v3.9.0 https://github.com/linode/terraform-provider-linode/pull/2269 https://github.com/linode/terraform-provider-linode/commit/43a925d826b999f0355de3dc7330c55f496824c0
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/linode/terraform-provider-linode/v3"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.0"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/linode/terraform-provider-linode/v2"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "2.41.2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/linode/terraform-provider-linode"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "1.30.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-27900"
],
"database_specific": {
"cwe_ids": [
"CWE-532"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-26T20:00:12Z",
"nvd_published_at": "2026-02-26T02:16:20Z",
"severity": "MODERATE"
},
"details": "### Impact\nThe Terraform Provider for Linode versions prior to v3.9.0 logged sensitive information including some passwords, StackScript content, object storage data, and NodeBalancer TLS keys in debug logs without redaction.\n\n**Important:** Provider debug logging is **not enabled by default**. \nThis issue is exposed when debug/provider logs are explicitly enabled (for example in local troubleshooting, CI/CD jobs, or centralized log collection). If enabled, sensitive values may be written to logs and then retained, shared, or exported beyond the original execution environment.\n\nSpecifically:\n- Instance creation operations logged the full InstanceCreateOptions struct containing RootPass and StackScriptData\n- Instance disk creation logged InstanceDiskCreateOptions containing RootPass and StackscriptData\n- StackScript update operations logged the complete script content via StackscriptUpdateOptions.Script\n- Image share group member creation logged tokens in ImageShareGroupAddMemberOptions.Token\n- Object storage operations logged full PutObjectInput structures containing user data\n- NodeBalancer config create and update operations logged NodeBalancerConfigCreateOptions and NodeBalancerConfigUpdateOptions containing the SSLKey (TLS private key)\n\nAn authenticated user with access to provider debug logs (through log aggregation systems, CI/CD pipelines, or debug output) would thus be able to extract these sensitive credentials.\n\n### Patches\nUpdate to version v3.9.0 or later, which sanitizes debug logs by logging only non-sensitive metadata such as labels, regions, and resource IDs while redacting credentials, tokens, keys, scripts, and other sensitive content.\n\n### Workarounds and Mitigations\n- Disable Terraform/provider debug logging or set it to `WARN` level or above\n - To disable the logging, you can unset `TF_LOG_PROVIDER` and `TF_LOG` environment variables\n - Or you can set them to `WARN` or `ERROR` levels to avoid sensitive information logged in `INFO` and `DEBUG` levels.\n - See Terraform docs for details: https://developer.hashicorp.com/terraform/internals/debugging\n- Restrict access to existing and historical logs\n- Purge/retention-trim logs that may contain sensitive values\n- Rotate potentially exposed secrets/credentials, including:\n - Root passwords\n - Image share group tokens\n - TLS private keys/certificates used in NodeBalancer configs\n - StackScript content/secrets if embedded\n\n### Credits\nThis issue was reported to Terraform by Hasan Sheet via [Akamai\u0027s HackerOne Bug Bounty program](https://hackerone.com/akamai).\n\n### Resources\nhttps://github.com/linode/terraform-provider-linode/releases/tag/v3.9.0\nhttps://github.com/linode/terraform-provider-linode/pull/2269\nhttps://github.com/linode/terraform-provider-linode/commit/43a925d826b999f0355de3dc7330c55f496824c0",
"id": "GHSA-5rc7-2jj6-mp64",
"modified": "2026-02-26T20:00:12Z",
"published": "2026-02-26T20:00:12Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/linode/terraform-provider-linode/security/advisories/GHSA-5rc7-2jj6-mp64"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-27900"
},
{
"type": "WEB",
"url": "https://github.com/linode/terraform-provider-linode/pull/2269"
},
{
"type": "WEB",
"url": "https://github.com/linode/terraform-provider-linode/commit/43a925d826b999f0355de3dc7330c55f496824c0"
},
{
"type": "PACKAGE",
"url": "https://github.com/linode/terraform-provider-linode"
},
{
"type": "WEB",
"url": "https://github.com/linode/terraform-provider-linode/releases/tag/v3.9.0"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2026/02/26/2"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "Terraform Provider for Linode Debug Logs Vulnerable to Sensitive Information Exposure"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.