certbot/letsencrypt-auto-source/tests
Adrien Ferrand 78cf8ec4de Protect certbot-auto against automated downgrades (#6448)
With current code, the certbot-auto self-upgrade process can make it actually to downgrade itself, because the comparison done is an equality test between local certbot-auto version and the remote one. This is a flaw for attackers, that could make certbot-auto break itself by falsely advertising it about an old version as the latest one available.

A function is added to make a more advanced comparison between version. Certbot-auto will upgrade itself only if the local version is strictly inferior to the latest one available. For instance, a version 0.28.0 will not upgrade itself if the latest one available on internet is 0.27.1. Similarly, non-official versions like 0.28.0.dev0 will never trigger a self-upgrade, to help development workflows.

This implementation relies only on the Python distribution installed by certbot-auto (supporting 2.7+) and basic shell operations, to be compatible with any UNIX-based system.

* Check version with protection again downgrade

* Create a stable version of letsencrypt-auto to use correctly self-upgrade functionality

* Update letsencrypt-auto-source/letsencrypt-auto.template
2018-11-19 14:28:59 -08:00
..
certs Rename letsencrypt_auto dir to match other dirs. 2016-01-08 16:26:25 -05:00
fake-letsencrypt Remove errant DS_Store. Ick. 2016-01-19 16:10:39 -05:00
__init__.py Explicitly add six as a dependency in letsencrypt-auto-source dockerfiles (#5808) 2018-03-29 15:34:38 -07:00
auto_test.py Protect certbot-auto against automated downgrades (#6448) 2018-11-19 14:28:59 -08:00
centos6_tests.sh Fix --no-bootstrap on CentOS/RHEL 6 (#5476) 2018-01-24 22:23:20 -08:00
signing.key Rename letsencrypt_auto dir to match other dirs. 2016-01-08 16:26:25 -05:00