/

CVE-2026-39460

Severity:

HIGH RISK

(8.1)

Plaintext Credentials (CWE-522) in Device Configuration

CVE-2026-39460

Awaiting Analysis

Vulnerability type

Category:

Insufficiently Protected Credentials

CWE:

CWE-522

Impact:

Credential Disclosure and Unauthorized Access

Severity:

HIGH RISK

(8.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

The device stores usernames and passwords, including default factory credentials, in plaintext within its configuration file. An attacker who can trigger an unauthenticated SNMP-initiated TFTP export, or an administrator who can view the configuration through the CLI or web interface, may obtain credentials and use them to access the device or related systems.

The device stores usernames and passwords, including default factory credentials, in plaintext within its configuration file. An attacker who can trigger an unauthenticated SNMP-initiated TFTP export, or an administrator who can view the configuration through the CLI or web interface, may obtain credentials and use them to access the device or related systems.

Affected context

This issue may occur on devices that:

  • Store authentication credentials directly in configuration files
  • Allow administrators to view configuration data through the CLI
  • Support configuration export through TFTP from the web interface
  • Permit TFTP transfers to be initiated through SNMP without authentication

Exposure depends on network reachability, enabled management services, access controls, and whether default credentials remain active.

This issue may occur on devices that:

  • Store authentication credentials directly in configuration files
  • Allow administrators to view configuration data through the CLI
  • Support configuration export through TFTP from the web interface
  • Permit TFTP transfers to be initiated through SNMP without authentication

Exposure depends on network reachability, enabled management services, access controls, and whether default credentials remain active.

Exploit preconditions

  • Attack surface: Device management interfaces, including SNMP, the web interface, CLI, and TFTP
  • Required access: Network access to an exposed management service may be sufficient when unauthenticated SNMP can initiate a transfer; administrative access is required for direct CLI viewing
  • Trigger point: Configuration viewing or export through the CLI, web interface, or TFTP workflow
  • Why exploitation is possible: Credentials are stored in recoverable plaintext rather than protected using appropriate secret-handling controls, allowing configuration contents to reveal usable authentication material
  • Attack surface: Device management interfaces, including SNMP, the web interface, CLI, and TFTP
  • Required access: Network access to an exposed management service may be sufficient when unauthenticated SNMP can initiate a transfer; administrative access is required for direct CLI viewing
  • Trigger point: Configuration viewing or export through the CLI, web interface, or TFTP workflow
  • Why exploitation is possible: Credentials are stored in recoverable plaintext rather than protected using appropriate secret-handling controls, allowing configuration contents to reveal usable authentication material

Why this happens

The underlying weakness is storing credentials in plaintext within a configuration artifact that can be viewed or exported. This maps to CWE-522: Insufficiently Protected Credentials, because sensitive authentication data is not adequately protected at rest or during configuration handling.

The risk is increased when management operations expose the configuration through multiple interfaces and when an unauthenticated control path can initiate a transfer. Retaining default factory credentials further increases the likelihood that disclosed values can be reused.

The underlying weakness is storing credentials in plaintext within a configuration artifact that can be viewed or exported. This maps to CWE-522: Insufficiently Protected Credentials, because sensitive authentication data is not adequately protected at rest or during configuration handling.

The risk is increased when management operations expose the configuration through multiple interfaces and when an unauthenticated control path can initiate a transfer. Retaining default factory credentials further increases the likelihood that disclosed values can be reused.

Potential impact

  • Attackers may obtain usernames and passwords for the device
  • Compromised credentials could enable unauthorized administrative access
  • Exposed passwords may be reused against other devices or services
  • An attacker could modify device configuration or disrupt operations
  • Credential disclosure could support lateral movement within a management network
  • Attackers may obtain usernames and passwords for the device
  • Compromised credentials could enable unauthorized administrative access
  • Exposed passwords may be reused against other devices or services
  • An attacker could modify device configuration or disrupt operations
  • Credential disclosure could support lateral movement within a management network

General mitigation guidance

Mitigation generally focuses on reducing credential exposure and limiting configuration-transfer capabilities.

Common defensive patterns include:

  • Avoiding plaintext storage of passwords and using protected secret references or one-way verifiers where operationally appropriate
  • Requiring authentication and authorization for every configuration-view and export operation
  • Disabling unnecessary SNMP write or control capabilities and restricting management services to trusted networks
  • Replacing default factory credentials with unique, managed credentials during deployment
  • Limiting TFTP use, preferring authenticated and encrypted transfer mechanisms where supported
  • Applying least privilege to device-management accounts and separating read-only access from configuration administration
  • Protecting exported configuration files with strict access controls and secure handling procedures

Mitigation generally focuses on reducing credential exposure and limiting configuration-transfer capabilities.

Common defensive patterns include:

  • Avoiding plaintext storage of passwords and using protected secret references or one-way verifiers where operationally appropriate
  • Requiring authentication and authorization for every configuration-view and export operation
  • Disabling unnecessary SNMP write or control capabilities and restricting management services to trusted networks
  • Replacing default factory credentials with unique, managed credentials during deployment
  • Limiting TFTP use, preferring authenticated and encrypted transfer mechanisms where supported
  • Applying least privilege to device-management accounts and separating read-only access from configuration administration
  • Protecting exported configuration files with strict access controls and secure handling procedures

How teams detect issues like this

Organizations can look for this weakness through:

  • Static and configuration analysis that flags password fields stored in cleartext
  • Code and firmware review signals involving direct serialization of credential values
  • Tests that verify configuration exports redact or exclude secrets
  • Network monitoring for unexpected SNMP-initiated TFTP activity
  • Policy enforcement requiring authenticated management operations and prohibiting default credentials
  • Credential-scanning tools applied to device configuration backups, with appropriate safeguards for sensitive data

Organizations can look for this weakness through:

  • Static and configuration analysis that flags password fields stored in cleartext
  • Code and firmware review signals involving direct serialization of credential values
  • Tests that verify configuration exports redact or exclude secrets
  • Network monitoring for unexpected SNMP-initiated TFTP activity
  • Policy enforcement requiring authenticated management operations and prohibiting default credentials
  • Credential-scanning tools applied to device configuration backups, with appropriate safeguards for sensitive data

Sources

SourceLink
github.comgithub.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-281-01.json
cisa.govcisa.gov/news-events/ics-advisories/icsa-26-281-01
hms-networks.comhms-networks.com/
hms-networks.comhms-networks.com/cybersecurity

Frequently asked

questions

It may be remotely exploitable when management services are network-accessible and unauthenticated SNMP can initiate a configuration transfer. Direct configuration viewing generally requires administrator access.

Not necessarily. The described SNMP transfer path does not require authentication, although network reachability and enabled service settings remain important conditions.

Do not store recoverable passwords in exported configuration files. Require authenticated, authorized management operations and use protected secret-handling mechanisms with secure transfer protocols.

Remove default credentials, restrict management-plane exposure, monitor configuration exports, and enforce security testing and policy checks that detect plaintext secrets before deployment.

It may be remotely exploitable when management services are network-accessible and unauthenticated SNMP can initiate a configuration transfer. Direct configuration viewing generally requires administrator access.

Not necessarily. The described SNMP transfer path does not require authentication, although network reachability and enabled service settings remain important conditions.

Do not store recoverable passwords in exported configuration files. Require authenticated, authorized management operations and use protected secret-handling mechanisms with secure transfer protocols.

Remove default credentials, restrict management-plane exposure, monitor configuration exports, and enforce security testing and policy checks that detect plaintext secrets before deployment.

Find out what's already
exploitable in your codebase.