CVE-2020-8644 — PlaySMS Server-Side Template Injection Vulnerability

CVE-2020-8644

PlaySMS — Server-Side Template Injection via the SMS Banner Feature Leads to RCE

What is PlaySMS?

PlaySMS is an open-source SMS gateway management platform, built on PHP and used by organizations to send and manage bulk SMS messaging campaigns through connected SMS modems or provider APIs. Because it processes user-supplied content — message templates, sender names, campaign text — through a templating engine to generate outbound messages, it's a natural target for template-injection bugs if that user input isn't properly isolated from the template engine's execution context.

Overview

CVE-2020-8644 is a server-side template injection vulnerability (CWE-94, improper control of code generation) in PlaySMS. A feature that renders a customizable message "banner" or template passes attacker-influenced input into the underlying template engine without adequately sandboxing it, allowing an attacker to inject template syntax that executes arbitrary PHP code on the server rather than simply rendering as text (CVSS 3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, 9.8 Critical).

Technical Details

Server-side template injection occurs when user input is concatenated into a template string that the engine then compiles and executes, rather than being passed purely as data to be substituted into a fixed template. In PlaySMS's case, this lets an attacker embed template-engine syntax into a message field that, once processed by the vulnerable rendering path, runs as code on the server — a well-known bug class also seen in other PHP applications using unsandboxed template engines like Smarty or Twig without disabling dangerous functions.

Discovery

Publicly tracked via NVD; PlaySMS has had a history of authentication and injection-class vulnerabilities disclosed by independent researchers over the years, consistent with a smaller open-source project with a narrower security review process than larger commercial platforms.

Exploitation Context

CISA added this CVE to KEV in November 2021 based on confirmed exploitation. PlaySMS installations are often run by smaller organizations and resellers managing SMS campaigns, a population less likely to have dedicated security monitoring, making genuine incident visibility into specific campaigns limited in public reporting.

Remediation

  1. Upgrade to a patched PlaySMS release that sandboxes or removes the vulnerable template-rendering path.
  2. Restrict access to the PlaySMS admin interface to trusted networks; it should not be directly internet-facing.
  3. Audit any custom message templates or banners for injected template syntax if the instance was exposed prior to patching.
  4. Review outbound SMS logs for unexpected message content or volume that could indicate the platform was used to send unauthorized messages following compromise.

Key Details

PropertyValue
CVE ID CVE-2020-8644
Vendor / Product PlaySMS — PlaySMS
NVD Published2020-02-05
NVD Last Modified2025-11-07
CVSS 3.1 Score9.8
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
SeverityCRITICAL
CWE CWE-94 find similar ↗
CISA KEV Added2021-11-03
CISA KEV Deadline2022-05-03
Known Ransomware Use No

CVSS 3.1 Breakdown

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Required Action

CISA BOD 22-01 Deadline: 2022-05-03. Apply updates per vendor instructions.

Timeline

DateEvent
2020-02-05CVE published
2021-11-03Added to CISA Known Exploited Vulnerabilities catalog
2022-05-03CISA BOD 22-01 remediation deadline

References

ResourceType
NVD — CVE-2020-8644 Vulnerability Database
CISA KEV Catalog Entry US Government