CVE-2020-1959 Expression Language Injection in Apache Syncope
Unauthenticated attackers can achieve remote code execution in Apache Syncope by injecting Java EL expressions into custom constraint violation error messages.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2020-1959?
CVE-2020-1959 is a critical code injection vulnerability in Apache Syncope, published on 4 May 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A Server-Side Template Injection was identified in Apache Syncope prior to 2.1.6 enabling attackers to inject arbitrary Java EL expressions, leading to an unauthenticated Remote Code Execution (RCE) vulnerability. Apache Syncope uses Java Bean Validation (JSR 380) custom constraint validators. When building custom constraint violation error messages, they support different types of interpolation, including Java EL expressions. Therefore, if an attacker can inject arbitrary data in the error message template being passed, they will be able to run arbitrary Java code.
Weakness: CWE-917
Which versions are affected by CVE-2020-1959?
2 open source packages ship an affected version, including org.apache.syncope:syncope-core. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
org.apache.syncope:syncope-core Maven | All versions | 2.1.6 |
org.apache.syncope:syncope-core Maven | All versions | 2.1.6 |
Products include Apache Syncope.
How do I fix CVE-2020-1959?
Upgrade org.apache.syncope:syncope-core to 2.1.6 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2020-1959 being exploited?
There is no known exploitation of CVE-2020-1959 in the wild and no public exploit code.
Other vulnerabilities in Apache Syncope
- CVE-2026-53405 Apache Syncope: Remote Code Execution via Flowable BPMN Groovy ScriptTask
- CVE-2026-53421 Apache Syncope: Remote Code Execution via Scripted Connector
- CVE-2026-57308 Apache Syncope: SQL injection vulnerability in Audit Events search
- CVE-2026-62183 Apache Syncope: User self-service privilege escalation
- CVE-2026-63071 Apache Syncope: RCE via Groovy Sandbox bypass
Sources
Also known as GHSA-vjqw-r3ww-wj2w.