← Back to CVE Explorer

CVE-2026-19716

Full vulnerability record from the local CVENow database.

Description

Stored Cross-site Scripting (CWE-79) in the user management component in maalfer Pentestify before 1.1.1 allows an authenticated attacker to execute arbitrary JavaScript in the browser of another authenticated user via a crafted username, because the frontend escapes the username with escapeHTML() before interpolating it into the onclick attribute of the account deletion button, but the browser HTML-decodes attribute values before the JavaScript engine parses the handler, allowing an encoded single quote (') to break out of the string literal and inject arbitrary JavaScript that executes when the victim clicks the delete button for that account.

Severity
MEDIUM
CVSS score
5.1 (v4.0)
Vulnerability status
Deferred
Source identifier
4daa8cea-433a-44bd-9456-53b127fc289a
Published
2026-08-13 14:16:55.583000
Last modified
2026-10-23 18:10:00.167000
View original CVE JSON
{
  "id": "CVE-2026-19716",
  "sourceIdentifier": "4daa8cea-433a-44bd-9456-53b127fc289a",
  "published": "2026-08-13T14:16:55.583",
  "lastModified": "2026-10-23T18:10:00.167",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Stored Cross-site Scripting (CWE-79) in the user management component in maalfer Pentestify before 1.1.1 allows an authenticated attacker to execute arbitrary JavaScript in the browser of another authenticated user via a crafted username, because the frontend escapes the username with escapeHTML() before interpolating it into the onclick attribute of the account deletion button, but the browser HTML-decodes attribute values before the JavaScript engine parses the handler, allowing an encoded single quote (') to break out of the string literal and inject arbitrary JavaScript that executes when the victim clicks the delete button for that account."
    },
    {
      "lang": "es",
      "value": "Cross-site scripting almacenado (CWE-79) en el componente de gestión de usuarios en maalfer Pentestify antes de 1.1.1 permite a un atacante autenticado ejecutar JavaScript arbitrario en el navegador de otro usuario autenticado a través de un nombre de usuario manipulado, porque el frontend escapa el nombre de usuario con escapeHTML() antes de interpolarlo en el atributo onclick del botón de eliminación de cuenta, pero el navegador descodifica HTML los valores de los atributos antes de que el motor JavaScript analice el gestor, permitiendo que una comilla simple codificada (’) escape del literal de cadena e inyecte JavaScript arbitrario que se ejecuta cuando la víctima hace clic en el botón de eliminar para esa cuenta."
    }
  ],
  "affected": [
    {
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a",
      "affectedData": [
        {
          "vendor": "maalfer",
          "product": "Pentestify",
          "defaultStatus": "unaffected",
          "modules": [
            "User management"
          ],
          "programFiles": [
            "js/app.js",
            "backend/main.py",
            "backend/schemas.py"
          ],
          "repo": "https://github.com/ccyl13/Pentestify",
          "versions": [
            {
              "version": "0",
              "lessThan": "1.1.1",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV40": [
      {
        "source": "4daa8cea-433a-44bd-9456-53b127fc289a",
        "type": "Secondary",
        "cvssData": {
          "version": "4.0",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
          "baseScore": 5.1,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "privilegesRequired": "LOW",
          "userInteraction": "PASSIVE",
          "vulnConfidentialityImpact": "NONE",
          "vulnIntegrityImpact": "LOW",
          "vulnAvailabilityImpact": "NONE",
          "subConfidentialityImpact": "NONE",
          "subIntegrityImpact": "LOW",
          "subAvailabilityImpact": "NONE",
          "exploitMaturity": "NOT_DEFINED",
          "confidentialityRequirement": "NOT_DEFINED",
          "integrityRequirement": "NOT_DEFINED",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "Automatable": "NOT_DEFINED",
          "Recovery": "NOT_DEFINED",
          "valueDensity": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED"
        }
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-13T15:50:41.132383Z",
          "id": "CVE-2026-19716",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-79"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/ccyl13/Pentestify/commit/714e05ef7cfaf4d822193b8d18eacafbd89f5019",
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a"
    },
    {
      "url": "https://github.com/ccyl13/Pentestify/releases/tag/v1.1.1",
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a"
    },
    {
      "url": "https://secur0.com/en/cna/cve-list/cve-2026-19716-stored-xss-in-pentestify-user-account-deletion-via-unescaped-username",
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a"
    }
  ]
}