/

CVE-2026-94540

Severity:

HIGH RISK

(7.7)

Missing Authentication (CWE-306) in DesktopSMS Service

CVE-2026-94540

Deferred

Vulnerability type

Category:

Missing Authentication

CWE:

CWE-306

Impact:

Unauthorized SMS access and messaging

Severity:

HIGH RISK

(7.7)

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

DesktopSMS exposes a local service that does not properly authenticate or confirm pairing requests before performing privileged SMS operations. A local attacker able to interact with the same-device loopback service may send SMS messages, retrieve SMS-derived content, and persist an attacker- selected paired identity using the application's permissions.

Affected context

The vulnerability occurs in DesktopSMS deployments where the application's local service accepts requests through the same-device loopback interface without requiring authentication or explicit user confirmation. Risk is greatest when another local process, user account, or malicious application can connect to that service and invoke SMS-related operations.

Exploit preconditions

  • Attack surface: The application's local loopback service - Required access: Local access to the device or the ability to run a

process that can connect to the service

  • Trigger point: Unauthenticated requests to SMS and pairing-related service

operations

  • Why exploitation is possible: The service trusts local callers and does

not enforce authentication or pairing confirmation before using the

victim application's permissions

Why this happens

The underlying flaw is missing authentication for a security-sensitive local service. Requests received through loopback are treated as trusted solely because they originate on the same device, allowing an unverified caller to invoke privileged functionality. This maps to CWE-306, which covers missing authentication for critical functionality.

Potential impact

  • An attacker may transmit unauthorized SMS messages.
  • An attacker could retrieve content derived from received SMS messages.
  • An attacker may persist an identity as a paired client without user approval.
  • The application's SMS permissions could be misused by other local software.
  • Message-based workflows or account-recovery processes could be disrupted.

General mitigation guidance

Mitigation generally focuses on authenticating every security-sensitive request and treating local clients as untrusted by default. Secure patterns may include explicit, user-approved pairing; short-lived, capability-limited credentials; protection against replay and unauthorized identity persistence; and clear separation between read, send, and administrative operations. Input trust should be reduced through request validation, while application permissions and service capabilities should follow least privilege. Where feasible, the service can be disabled when not required and exposed only through narrowly controlled communication mechanisms.

How teams detect issues like this

Detection approaches may include static analysis and code review for local IPC or HTTP service handlers that lack authentication checks, pairing confirmation, authorization gates, or capability separation. Runtime testing can inspect whether unauthenticated loopback requests can invoke SMS or identity-management operations. Logging and policy enforcement can flag unexpected local clients, repeated pairing attempts, unauthorized message actions, and persistence of new identities. Automated security review tools may help identify service endpoints that rely on loopback origin as their only trust signal.

Sources

SourceLink
github.comgithub.com/actuator/net.mrpear.apps.desktopsmslite
vulncheck.comvulncheck.com/advisories/desktopsms-unauthorized-access-via-local-service

Frequently asked

questions

It is primarily a local vulnerability. Exploitation generally requires a

process or user on the same device to reach the application's loopback

service, although another vulnerability could potentially provide that local

foothold.

No user interaction or pairing confirmation is required by the vulnerable

service behavior, which is why an untrusted local caller may persist an

attacker-selected identity.

Require authentication and explicit user-approved pairing for every

security-sensitive service operation, then enforce authorization according

to the requested capability.

Treat loopback clients as untrusted, apply least privilege, use short-lived

scoped credentials, test negative authorization cases, and monitor local

service activity for unexpected callers and operations.

Find out what's already
exploitable in your codebase.