virtualdj / pun_sensor

Prezzi PUN del mese - Home Assistant Integration
MIT License
78 stars 13 forks source link

possibile vulnerabilita' parser xml #43

Closed moddroid94 closed 2 months ago

moddroid94 commented 2 months ago

Ciao @virtualdj , Sistemando in giro ho notato che il linter mi dava un errore strano e ho scoperto che il parsing degli xml e' soggetto ad alcune vulnerabilita', particolarmente quello di default, tecnicamente anche il wrapper, ma molto meno, e in ogni caso non e' detto che il codice da' te scritto ne sia soggetto, andrebbe approfondita un attimo. qua sotto la pagina con le info: Ref: https://docs.python.org/3/library/xml.html Questo e' il wrapper, anche qua trovi informazioni un po' piu' distillate e concise. https://github.com/tiran/defusedxml/tree/main

Scaricando il file xml dal sito GME non dovremmo considerarlo "non affidabile", anche se la sicurezza di quel sito e' da vedere, ma considerato che per mitigare una buona parte di exploit basta un semplice wrapper del modulo base, che e' gia integrato in homeassistant, ti ho aperto un issue qua cosi' da avere un record del fix e volendo puoi gia' implementarlo prima del merge.

La linea da modificare e' questa: https://github.com/virtualdj/pun_sensor/blame/c0d4cacc3d8d876ff58a2f2a0f2462991f00539c/custom_components/pun_sensor/__init__.py#L7

basta sostituirla con import defusedxml.ElementTree as et e non c'e' bisogno di cambiare nient'altro.

qua c'e la commit testata nel mio fork: https://github.com/moddroid94/pun_sensor/commit/2b1bfc7c17df8e829d428041e76c32d608b8f110

motivo edit: fix link alle info sulle vulnerabilita'

virtualdj commented 2 months ago

Impressionante! Vista la semplicità di risoluzione, direi di restare sul sicuro. Applico immediatamente la fix suggerita, grazie!

moddroid94 commented 2 months ago

scusa ho notato ora che i link rimandano a una pagina di github se cliccati, devo aver invertito nome e link, correggo

Comunque di niente! grazie a te della velocita' di fix 👍

virtualdj commented 2 months ago

i link rimandano a una pagina di github se cliccati

Sì avevo visto e poi mi sono scordato di fartelo notare, comunque avevo letto lo stesso selezionando il testo.

grazie a te della velocita

Grazie a te della segnalazione, invece! 🤗