{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-30796","assignerOrgId":"2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe","state":"PUBLISHED","assignerShortName":"VULSec","dateReserved":"2026-03-05T14:13:37.203Z","datePublished":"2026-03-05T15:30:39.605Z","dateUpdated":"2026-06-22T13:17:31.551Z"},"containers":{"cna":{"providerMetadata":{"orgId":"2fdefc65-d750-4b8d-96ee-6e2c0c42dbfe","shortName":"VULSec","dateUpdated":"2026-06-22T13:17:31.551Z"},"title":"RustDesk Client Transmits Preset Address Book Password Verbatim in Heartbeat Sync","datePublic":"2026-03-05T13:45:00.000Z","problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-522","description":"CWE-522 Insufficiently Protected Credentials","type":"CWE"}]}],"impacts":[{"capecId":"CAPEC-157","descriptions":[{"lang":"en","value":"CAPEC-157 Sniffing Attacks"}]}],"affected":[{"vendor":"rustdesk-client","product":"RustDesk Client","platforms":["Windows","MacOS","Linux","iOS","Android"],"collectionURL":"https://github.com/rustdesk/rustdesk/releases","packageName":"rustdesk-client","repo":"https://github.com/rustdesk/rustdesk,https://github.com/rustdesk/hbb_common","modules":["Address book sync","Heartbeat sync loop"],"programFiles":["src/hbbs_http/sync.rs"],"programRoutines":[{"name":"heartbeat sync body builder (emits preset-address-book-password verbatim)"}],"versions":[{"status":"affected","version":"0","lessThanOrEqual":"1.4.8","changes":[{"at":"Server Pro","status":"affected"}],"versionType":"custom"}],"defaultStatus":"affected"}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:a:rustdesk-client:rustdesk_client:*:*:windows:*:*:*:*:*","versionEndIncluding":"1.4.8","versionStartIncluding":"0","vulnerable":true},{"criteria":"cpe:2.3:a:rustdesk-client:rustdesk_client:*:*:macos:*:*:*:*:*","versionEndIncluding":"1.4.8","versionStartIncluding":"0","vulnerable":true},{"criteria":"cpe:2.3:a:rustdesk-client:rustdesk_client:*:*:linux:*:*:*:*:*","versionEndIncluding":"1.4.8","versionStartIncluding":"0","vulnerable":true},{"criteria":"cpe:2.3:a:rustdesk-client:rustdesk_client:*:*:ios:*:*:*:*:*","versionEndIncluding":"1.4.8","versionStartIncluding":"0","vulnerable":true},{"criteria":"cpe:2.3:a:rustdesk-client:rustdesk_client:*:*:android:*:*:*:*:*","versionEndIncluding":"1.4.8","versionStartIncluding":"0","vulnerable":true}],"negate":false,"operator":"OR"}],"operator":"OR"}],"descriptions":[{"lang":"en","value":"Cleartext Transmission of Sensitive Information, Insufficiently Protected Credentials vulnerability in rustdesk-client RustDesk Client rustdesk-client on Windows, MacOS, Linux, iOS, Android (Address book sync, Heartbeat sync loop modules) allows Sniffing Attacks.\n\nThe client places the preset address-book password verbatim into the heartbeat sync JSON body (src/hbbs_http/sync.rs). Over an intact HTTPS session it is not exposed in transit, but it is a reusable shared secret rather than a zero-knowledge proof, so it is recovered by any party that becomes the API endpoint - under the automatic invalid-certificate TLS downgrade (CVE-2026-30794) or a re-homed/rogue API server (CVE-2026-30797) - and the leaked credential then authorizes the server-side address book.\n\nThis vulnerability is associated with program files src/hbbs_http/sync.rs and program routines heartbeat sync body builder (emits preset-address-book-password).\n\nThis issue affects RustDesk Client: through 1.4.8.","supportingMedia":[{"type":"text/html","base64":false,"value":"Cleartext Transmission of Sensitive Information, Insufficiently Protected Credentials vulnerability in rustdesk-client RustDesk Client rustdesk-client on Windows, MacOS, Linux, iOS, Android (Address book sync, Heartbeat sync loop modules) allows Sniffing Attacks.<br><br>The client places the preset address-book password verbatim into the heartbeat sync JSON body (src/hbbs_http/sync.rs). Over an intact HTTPS session it is not exposed in transit, but it is a reusable shared secret rather than a zero-knowledge proof, so it is recovered by any party that becomes the API endpoint - under the automatic invalid-certificate TLS downgrade (CVE-2026-30794) or a re-homed/rogue API server (CVE-2026-30797) - and the leaked credential then authorizes the server-side address book.<br><br>This vulnerability is associated with program files src/hbbs_http/sync.rs and program routines heartbeat sync body builder (emits preset-address-book-password).<br><br>This issue affects RustDesk Client: through 1.4.8."}]}],"references":[{"url":"https://rustdesk.com/docs/en/","tags":["technical-description","x_--config documentation"]},{"url":"https://docs.google.com/document/d/e/2PACX-1vSds6jjpd38oO_yIAyd1HYtKNUuea-I-ozAPpGhYI7QgAU-QGJ7D8a4rOZVj1vmiUXV1EcdRHf9aZAW/pub","tags":["third-party-advisory","exploit"]},{"url":"https://www.vulsec.org/","tags":["vdb-entry","third-party-advisory"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"MEDIUM","baseScore":6.9,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N"}}],"configurations":[{"lang":"en","value":"Client with a preset address book password configured","supportingMedia":[{"type":"text/html","base64":false,"value":"Client with a preset address book password configured"}]}],"workarounds":[{"lang":"en","value":"Avoid setting address book passwords; use account-based access only","supportingMedia":[{"type":"text/html","base64":false,"value":"Avoid setting address book passwords; use account-based access only"}]}],"solutions":[{"lang":"en","value":"Transition Address Book API to SRP (Secure Remote Password)","supportingMedia":[{"type":"text/html","base64":false,"value":"Transition Address Book API to SRP (Secure Remote Password)"}]}],"exploits":[{"lang":"en","value":"PoC available. Trivially exploitable.","supportingMedia":[{"type":"text/html","base64":false,"value":"PoC available. Trivially exploitable.<br>"}]}],"credits":[{"lang":"en","value":"Erez Kalman","type":"finder"},{"lang":"en","value":"Erez Kalman","type":"reporter"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.5.0"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-03-17T14:31:35.721954Z","id":"CVE-2026-30796","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-03-17T14:31:39.098Z"}}]}}