El diumenge, 20 de desembre de 2020, a les 13:36:42 CET, Eloi va escriure:
Doncs bé, he fet l'exercici de consultar el codi font de l'script a [1] i l'he 
encertat de ple: 
com es pot veure a la funció shell, definida a partir de la línia 424, tant $1 
com $2 no estan 
degudament protegits. 
El fet que un espai en blanc trenqui la creació de còpies de seguretat, per si 
sol, entenc 
que mereix que el bug tingui una severitat major que normal. Ara bé, que $1 
tampoc 
estigui protegit i el paràmetre correspongui a una dada facilitada per 
l'usuari, el nom de la 
base de dades, em fa témer que podria arribar a explotar-se com a 
vulnerabilitat per a la 
injecció de comandes. Per exemple: una configuració que fes còpia d'una base de 
dades 
"foo; dropdb foo" (en el cas de treballar amb Postgres, on tinc experiència) 
podria, segons 
els permisos, destruir la base de dades, el que ho faria un bug crític [2]. Ara 
bé, no he 
comprovat fins a quin punt és explotable, però és quelcom que fa saltar totes 
les meves 
alarmes. 
També, com s'apunta correctament, si l'apòstrof no fos tipogràfic i es tractés 
d'una 
"cometa simple", causaria error i no completaria el backup. 
L'altre tema és el d'anomenar els backups en funció del locale, que està bé per 
a humans 
però és terrible per a gestió automàtica per a màquines. Si jo fes anar 
l'script (i, pel que he 
vist fins ara, el deixaria de fer servir immediatament) obriria dos bug 
reports: el primer, 
més greu, amb el problema d'escapament dels paràmetres de la funció dbdump; i 
el 
segon, com a wishlist, per parametritzar si la còpia s'ha d'anomenar de forma 
humana 
(com fins ara) o mecànica (en un format YYYY-MM-DD o similar però respectant 
l'ordre 
any-mes-dia i 4-2-2 dígits). 
No em sento còmode obrint-los jo per tractar-se d'una eina que no uso, doncs no 
podria 
donar respostes a preguntes addicionals del desenvolupador o de l'empaquetador, 
però 
puc ajudar a qui l'obri.


[1] 
<https://salsa.debian.org/zigo/automysqlbackup/-/blob/debian/automysqlbackup>[1]
 
cf. <https://tracker.debian.org/pkg/automysqlbackup>[2] 
[2] https://xkcd.com/327/[3]

Ostres, *moltes* gràcies a tots els qui heu respost aportant el vostre punt de 
vista. Ja em 
semblava que la cosa tenia més suc i transcendència del que hom podia pensar a 
primera 
vista, i el resultat no m'ha decebut gens :-)

Atès que sóc jo qui ha iniciat el fil veig que em tocarà a mi d'obrir el bug 
contra 
l'automysqlbackup. Passa que vaig una mica atrafegat amb el final de curs i no 
sé ben bé 
quan podré fer-ho. A més, tampoc no sóc gens expert en els temes de locale, 
libc, bash i 
demés. Vull dir que obrir el bug m'hi veig en cor, però proposar solucions més 
enllà de les 
que heu comentat (protegir les variables amb cometes, etc.) ja no tant.

En tot cas ho provo i si el desenvolupador demana més coses, aleshores ja us 
demanaré 
consell a vosaltres.

-- 
Cordialment,
Orestes Mas

--------
[1] https://salsa.debian.org/zigo/automysqlbackup/-/blob/debian/automysqlbackup
[2] https://tracker.debian.org/pkg/automysqlbackup
[3] https://xkcd.com/327/

Respondre per correu electrònic a