
Automazione del rilevamento e della correzione delle vulnerabilità delle UI Macro di ServiceNow (CVE-2025-11449, CVE-2025-11450) tramite codifica dei parametri sysparm_ per prevenire attacchi XSS.
Questo script rileva e corregge automaticamente le vulnerabilità di sicurezza CVE-2025-11449 e CVE-2025-11450 nei UI Macros di ServiceNow. Queste vulnerabilità potrebbero consentire l'esecuzione di codice arbitrario nei browser degli utenti tramite link appositamente creati, se i parametri sysparm_ controllati dall'utente non vengono adeguatamente sanificati.
$pwd_verify_email$pwd_verify_personal_data_uiLo script esegue due correzioni di sicurezza fondamentali:
<g:evaluate>Sostituisce i pattern vulnerabili con versioni codificate correttamente:
${sysparm_<XYZ>} → ${JS,HTML:sysparm_<XYZ>}${HTML:sysparm_<XYZ>} → ${JS,HTML:sysparm_<XYZ>}${JS:sysparm_<XYZ>} → ${JS,HTML:sysparm_<XYZ>}<g:evaluate>: Usa riferimenti a variabili JellySostituisce l'interpolazione di stringhe con riferimenti sicuri a oggetti Jelly:
"${sysparm_<XYZ>}" → jelly.sysparm_<XYZ> (rimuove le virgolette!)${HTML:sysparm_<XYZ>} → jelly.sysparm_<XYZ>${JS,HTML:sysparm_<XYZ>} → jelly.sysparm_<XYZ> (ancora non sicuro dentro <g:evaluate>)Fai un Backup Prima!
// Esporta i tuoi UI Macros correnti prima di eseguire questo script
// Vai a: System UI > UI Macros
// Esporta: $pwd_verify_email e $pwd_verify_personal_data_ui
Esegui lo Script di Rilevamento
CVE_2025_11449_fix.jsEsamina l'Output
Applica la Correzione
Testa Approfonditamente
AFFECTED Macro: $pwd_verify_personal_data_ui (sys_id: abc123...) [ACTIVE - HIGH PRIORITY]
Found 8 vulnerable sysparm_ pattern(s) outside <g:evaluate>:
- ${HTML:sysparm_verification_id}
- ${HTML:sysparm_verification_id}
- ${HTML:sysparm_verification_id}
- ${HTML:sysparm_verification_id}
- ${HTML:sysparm_verification_id}
... and 3 more
Found 1 vulnerable sysparm_ pattern(s) inside <g:evaluate>:
- "${sysparm_verification_id}"
Suggested Cured XML:
[Fixed XML output here]
---
Per controllare UI Macros aggiuntivi, modifica la riga 3:
var macrosToCheck = ['$pwd_verify_email', '$pwd_verify_personal_data_ui', 'your_custom_macro'];
CRITICO: Queste vulnerabilità consentono attacchi Cross-Site Scripting (XSS) che potrebbero:
Hai trovato un problema o hai un miglioramento? Per favore:
Licenza MIT - Sentiti libero di usare, modificare e distribuire.
Usalo a tuo rischio! Sempre:
Questo script è fornito così com'è, senza garanzia. L'autore non è responsabile per eventuali danni o problemi causati dal suo utilizzo.
Lo script è stato generato da ServiceNow Helper di Daniel Aagren Seehartrai Madsen
Creato per aiutare la community ServiceNow ad affrontare vulnerabilità di sicurezza critiche in modo rapido e sicuro.