Leggendo i dettagli di CVE-2009-4487 (che riguarda il pericolo di sequenze di escape nei file di registro) sono un po 'sorpreso.
Per citare CVE-2009-4487 :
nginx 0.7.64 scrive i dati in un file di registro senza disinfettare i caratteri non stampabili, il che potrebbe consentire agli aggressori remoti di modificare il titolo di una finestra o eventualmente eseguire comandi arbitrari o sovrascrivere i file, tramite una richiesta HTTP contenente una sequenza di escape per un emulatore di terminale.
Chiaramente, non si tratta in realtà di una falla di sicurezza in nginx, ma negli emulatori di terminale.
Certo, forse l' cat
immissione di un file di registro nel terminale avviene solo per caso, ma grep
l'inging un file di registro è abbastanza comune. less
forse disinfetta le sequenze di escape, ma chissà quali comandi della shell non cambiano le sequenze di escape ...
Tendo ad essere d'accordo con la risposta della vernice :
La saggezza delle fughe terminali di risposta in generale è stata messa in discussione a intervalli regolari, ma nessuno dei principali programmi di emulazione terminale ha ritenuto opportuno scartare queste sequenze, probabilmente in un tentativo errato di compatibilità con la tecnologia degli anni '70 non più utilizzata. [..] Invece di incolpare tutti i programmi che scrivono file di log, sarebbe molto più produttivo, dal punto di vista della sicurezza, far sì che i programmi di emulazione terminale smettano di fare cose stupide e quindi risolvere questo e altri problemi di sicurezza una volta e per tutti.
Quindi le mie domande:
Come posso proteggere il mio xterm, in modo tale che non sia più possibile eseguire comandi o sovrascrivere i file tramite sequenze di escape?
Quali emulatori di terminale per X sono protetti da questo attacco?