Search

Find a vulnerability

Search criteria

    3 vulnerabilities found for WPML Multilingual CMS by WPML

    CVE-2026-76877 (GCVE-0-2026-76877)

    Vulnerability from cvelistv5 – Published: 2026-11-10 06:47 – Updated: 2026-11-10 06:47
    VLAI
    Title
    WPML Multilingual CMS <= 4.9.7 - Unauthenticated Authentication Bypass in Language-per-Domain SSO via 'wpml_sso_token_domain' Parameter
    Summary
    The WPML Multilingual CMS plugin for WordPress is vulnerable to Authentication Bypass via Race Condition in versions up to, and including, 4.9.7. This is due to the `process_iframe_request` function's language-per-domain SSO handler generating the cross-domain sign-in token via `wp_create_nonce('wpml_sso')` on the logout landing page, where the browser has already discarded its authentication cookies — so `wp_get_session_token()` returns an empty string and the token collapses to the shared anonymous nonce for the current 12-hour tick rather than a user-bound secret — and then storing it in the `wpml_sso_user_<token>_<sha256('wpml_sso'.$domain)>` transient mapped to the victim's `user_id` with no binding to the specific sign-out action or requesting client. Because an unauthenticated attacker can independently derive the identical token by triggering the logout confirmation flow on `wp-login.php?action=logout`, and because the `is_iframe_request()` gate conditions (the per-domain SSO `started` transient and domain-hash derived from the public constant `SSO_NONCE`) are fully computable within the 60-second `SSO_TIMEOUT` window, an unauthenticated attacker can submit the forged `wpml_sso_token_domain` parameter with a `wpml_user_signed_in` status to a secondary language-domain endpoint before the legitimate `wpml_user_signed_out` iframe fires, causing WordPress authentication cookies to be issued for the victim. This makes it possible for unauthenticated attackers to gain access to accounts of users — including administrators — who are actively in the process of logging out during the race window.
    CWE
    • CWE-287 - Improper Authentication
    Assigner
    Wordfence CNA
    Impacted products
    Vendor Product Version
    WPML WPML Multilingual CMS Affected: 0 , ≤ 4.9.7 (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "WPML Multilingual CMS",
              "vendor": "WPML",
              "versions": [
                {
                  "lessThanOrEqual": "4.9.7",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Yuto Hyakumoto"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "The WPML Multilingual CMS plugin for WordPress is vulnerable to Authentication Bypass via Race Condition in versions up to, and including, 4.9.7. This is due to the `process_iframe_request` function\u0027s language-per-domain SSO handler generating the cross-domain sign-in token via `wp_create_nonce(\u0027wpml_sso\u0027)` on the logout landing page, where the browser has already discarded its authentication cookies \u2014 so `wp_get_session_token()` returns an empty string and the token collapses to the shared anonymous nonce for the current 12-hour tick rather than a user-bound secret \u2014 and then storing it in the `wpml_sso_user_\u003ctoken\u003e_\u003csha256(\u0027wpml_sso\u0027.$domain)\u003e` transient mapped to the victim\u0027s `user_id` with no binding to the specific sign-out action or requesting client. Because an unauthenticated attacker can independently derive the identical token by triggering the logout confirmation flow on `wp-login.php?action=logout`, and because the `is_iframe_request()` gate conditions (the per-domain SSO `started` transient and domain-hash derived from the public constant `SSO_NONCE`) are fully computable within the 60-second `SSO_TIMEOUT` window, an unauthenticated attacker can submit the forged `wpml_sso_token_domain` parameter with a `wpml_user_signed_in` status to a secondary language-domain endpoint before the legitimate `wpml_user_signed_out` iframe fires, causing WordPress authentication cookies to be issued for the victim. This makes it possible for unauthenticated attackers to gain access to accounts of users \u2014 including administrators \u2014 who are actively in the process of logging out during the race window."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-287",
                  "description": "CWE-287 Improper Authentication",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T06:47:00.496Z",
            "orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
            "shortName": "Wordfence"
          },
          "references": [
            {
              "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/006d1fcd-77b4-4214-be71-b6d71afad072?source=cve"
            },
            {
              "url": "https://wpml.org/"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-08-19T22:33:04.000Z",
              "value": "Vendor Notified"
            },
            {
              "lang": "en",
              "time": "2026-11-09T18:29:57.000Z",
              "value": "Disclosed"
            }
          ],
          "title": "WPML Multilingual CMS \u003c= 4.9.7 - Unauthenticated Authentication Bypass in Language-per-Domain SSO via \u0027wpml_sso_token_domain\u0027 Parameter"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
        "assignerShortName": "Wordfence",
        "cveId": "CVE-2026-76877",
        "datePublished": "2026-11-10T06:47:00.496Z",
        "dateReserved": "2026-08-19T22:01:11.520Z",
        "dateUpdated": "2026-11-10T06:47:00.496Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-17509 (GCVE-0-2026-17509)

    Vulnerability from cvelistv5 – Published: 2026-09-08 11:30 – Updated: 2026-09-08 12:18
    VLAI
    Title
    WPML Multilingual CMS <= 4.9.5 - Incorrect Authorization to Authenticated (Subscriber+) SQL Injection via ‘elementIds’
    Summary
    The WPML Multilingual CMS plugin for WordPress is vulnerable to time-based SQL Injection via the ‘elementIds’ parameter in all versions up to, and including, 4.9.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with Subscriber-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This vulnerability is exploitable due to an authorization bypass where the registered authorization callback fails to execute, allowing any authenticated user regardless of role to access administrative translation functionalities.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-08 12:17 UTC
    CWE
    • CWE-89 - Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
    Assigner
    Wordfence CNA
    Impacted products
    Vendor Product Version
    WPML WPML Multilingual CMS Affected: 0 , ≤ 4.9.5 (semver)
    Create a notification for this product.
    Credits
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-17509",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-08T12:17:50.626443Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-08T12:18:11.912Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "WPML Multilingual CMS",
              "vendor": "WPML",
              "versions": [
                {
                  "lessThanOrEqual": "4.9.5",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "h0xilo"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "The WPML Multilingual CMS plugin for WordPress is vulnerable to time-based SQL Injection via the \u2018elementIds\u2019 parameter in all versions up to, and including, 4.9.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query.  This makes it possible for authenticated attackers, with Subscriber-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This vulnerability is exploitable due to an authorization bypass where the registered authorization callback fails to execute, allowing any authenticated user regardless of role to access administrative translation functionalities."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-89",
                  "description": "CWE-89 Improper Neutralization of Special Elements used in an SQL Command (\u0027SQL Injection\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-08T11:30:00.178Z",
            "orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
            "shortName": "Wordfence"
          },
          "references": [
            {
              "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/8e7e7d78-de2f-4bdf-b04a-373463bd4d9c?source=cve"
            },
            {
              "url": "https://wpml.org/category/changelog/"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-07-27T00:17:59.000Z",
              "value": "Vendor Notified"
            },
            {
              "lang": "en",
              "time": "2026-09-07T00:00:00.000Z",
              "value": "Disclosed"
            }
          ],
          "title": "WPML Multilingual CMS \u003c= 4.9.5 -  Incorrect Authorization to Authenticated (Subscriber+) SQL Injection via \u2018elementIds\u2019"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
        "assignerShortName": "Wordfence",
        "cveId": "CVE-2026-17509",
        "datePublished": "2026-09-08T11:30:00.178Z",
        "dateReserved": "2026-07-27T00:02:31.321Z",
        "dateUpdated": "2026-09-08T12:18:11.912Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-12248 (GCVE-0-2026-12248)

    Vulnerability from cvelistv5 – Published: 2026-08-15 11:27 – Updated: 2026-08-18 19:28
    VLAI
    Title
    WPML Multilingual CMS <= 4.9.5 - Authenticated (Translator+) SQL Injection via 'sorting' Parameter
    Summary
    The WPML Multilingual CMS plugin for WordPress is vulnerable to SQL Injection via the 'sorting' parameter in all versions up to, and including, 4.9.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with translator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-18 19:28 UTC
    CWE
    • CWE-89 - Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
    Assigner
    Wordfence CNA
    Impacted products
    Vendor Product Version
    WPML WPML Multilingual CMS Affected: 0 , ≤ 4.9.5 (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-12248",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-18T19:28:40.687819Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-18T19:28:48.526Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "WPML Multilingual CMS",
              "vendor": "WPML",
              "versions": [
                {
                  "lessThanOrEqual": "4.9.5",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "momopon1415"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "The WPML Multilingual CMS plugin for WordPress is vulnerable to SQL Injection via the \u0027sorting\u0027 parameter in all versions up to, and including, 4.9.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with translator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-89",
                  "description": "CWE-89 Improper Neutralization of Special Elements used in an SQL Command (\u0027SQL Injection\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-15T11:27:35.789Z",
            "orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
            "shortName": "Wordfence"
          },
          "references": [
            {
              "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/781b00cd-3af9-432a-876b-bff482106ab0?source=cve"
            },
            {
              "url": "https://plugins.trac.wordpress.org/browser/sitepress-multilingual-cms/trunk/classes/jobs/query/OrderQueryHelper.php#L34"
            },
            {
              "url": "https://plugins.trac.wordpress.org/browser/sitepress-multilingual-cms/tags/4.9.2/classes/jobs/query/OrderQueryHelper.php#L34"
            },
            {
              "url": "https://plugins.trac.wordpress.org/browser/sitepress-multilingual-cms/trunk/classes/API/REST/class-wpml-tm-rest-jobs.php#L144"
            },
            {
              "url": "https://plugins.trac.wordpress.org/browser/sitepress-multilingual-cms/tags/4.9.2/classes/API/REST/class-wpml-tm-rest-jobs.php#L144"
            },
            {
              "url": "https://wpml.org/category/changelog/"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-07-10T20:51:50.000Z",
              "value": "Vendor Notified"
            },
            {
              "lang": "en",
              "time": "2026-08-14T00:00:00.000Z",
              "value": "Disclosed"
            }
          ],
          "title": "WPML Multilingual CMS \u003c= 4.9.5 - Authenticated (Translator+) SQL Injection via \u0027sorting\u0027 Parameter"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
        "assignerShortName": "Wordfence",
        "cveId": "CVE-2026-12248",
        "datePublished": "2026-08-15T11:27:35.103Z",
        "dateReserved": "2026-06-15T07:03:31.087Z",
        "dateUpdated": "2026-08-18T19:28:48.526Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }