{
  "schema_version": "1.6.0",
  "id": "CLR-2026-3027",
  "modified": "2026-07-10T18:00:00Z",
  "published": "2026-07-10T18:00:00Z",
  "summary": "Unauthenticated SQL Injection in the WordPress plugin asAffili (1.1.1)",
  "details": "asAffili (WordPress.org, version 1.1.1) The WordPress plugin asAffili (1.1.1) registers a public, unauthenticated admin-ajax.php action whose handler builds a SQL query by string concatenation. A request parameter is passed only through sanitize_text_field() — which strips tags but does not escape SQL — so an unauthenticated visitor can inject SQL and read arbitrary database contents (WordPress user password hashes, secrets). A second authenticated (Subscriber+) variant with no nonce or capability check exists in the same file, along with several further unparameterised queries. The plugin has been unmaintained since January 2020; no fixed release exists — remove it.",
  "affected": [
    {
      "package": {
        "ecosystem": "WordPress",
        "name": "asAffili"
      },
      "versions": [
        "1.1.1"
      ]
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://research.codelake.dev/advisories/clr-2026-3027"
    }
  ],
  "credits": [
    {
      "name": "Sascha Klein, codelake Research",
      "type": "FINDER",
      "contact": [
        "https://research.codelake.dev"
      ]
    }
  ],
  "database_specific": {
    "caseId": "CLR-2026-3027",
    "kind": "vuln",
    "class": "SQL Injection (CWE-89)",
    "severity": "Critical",
    "status": "Disclosed",
    "detail_embargoed_until": "2026-08-24",
    "iocs": {
      "ips": [],
      "hashes": [
        "sha256:70466ae04bab38f891db5f3a8a828c2b4e0d08f34dbc5909e06a66e5e277a0cd"
      ],
      "indicators": [
        "asAffili 1.1.1 (WordPress.org) — wordpress.org/plugins/asaffili",
        "70466ae04bab38f891db5f3a8a828c2b4e0d08f34dbc5909e06a66e5e277a0cd (artifact)",
        "CWE-89 SQL Injection · sanitize_text_field() used as an (ineffective) SQL neutraliser",
        "No authentication required · no nonce · no capability check"
      ]
    }
  }
}