Skip to content
Heist/ feed
Back to feed
Critical

Security advisory

Type: advisorySources: OSVCVE: CVE-2020-1959

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2020-1959
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 06:21 UTC · Revision 1

Source evidence

CVE-2020-1959

core-osv · Original source

Published 4 May 2020, 13:15 UTC

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.

osv:CVE-2020-1959
Complete source record
{
  "id": "607f2cc1df155afb5e88cc44922761ce287a89944826e0cac79c36fdad10c84a",
  "url": "https://osv.dev/vulnerability/CVE-2020-1959",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2020-1959",
    "summary": "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.",
    "evidence": "osv:CVE-2020-1959",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2020-1959",
      "aliases": [
        "CVE-2020-1959",
        "GHSA-vjqw-r3ww-wj2w"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/apache/syncope",
              "type": "GIT",
              "events": [
                {
                  "introduced": "49c2e53ba6baf1423a89b5ab9a24aa665a5780ad"
                },
                {
                  "fixed": "a1200e18daccb3deebcdaaf91c965596df10cab7"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:apache:syncope:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.1.0"
                      },
                      {
                        "fixed": "2.1.6"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "syncope-2.1.5",
            "syncope-2.1.4",
            "syncope-2.1.3",
            "syncope-2.1.2",
            "syncope-2.1.1",
            "syncope-2.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-1959.json"
          }
        }
      ],
      "modified": "2026-10-24T10:30:38.376032546Z",
      "provider": "osv",
      "references": [],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2020-1959",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 434440,
  "published_at": "2020-05-04T13:15:13.533+00:00"
}