162 lines
3.8 KiB
Markdown
162 lines
3.8 KiB
Markdown
---
|
|
date: 2021-07-26T08:08:39+02:00
|
|
description: "Correctifs OpenBSD: bgpd, relayd (6.9 : toutes architectures) et libc (6.8, 6.9 : mips64)"
|
|
title: "Syspatch : bgpd, relayd, libc (2021/07/25)"
|
|
---
|
|
|
|
## Correctif de fiabilité : bgpd
|
|
|
|
Lors de rechargements de la configuration de bgpd, des préfixes de mauvaises
|
|
familles d'adresses pouvaient fuir vers des pairs, entraînant des réinitialisations
|
|
de sessions.
|
|
|
|
- Architectures ciblées : toutes celles supportées par le projet OpenBSD 6.9
|
|
|
|
## Correctifs de sécurité
|
|
|
|
1/ relayd
|
|
|
|
Lors de l'utilisation de la directive de filtrage strip ou de l'expansion
|
|
de macro du protocole http, les processus formatent les chaînes de caractères.
|
|
|
|
- Architectures ciblées : toutes celles supportées par le projet OpenBSD 6.9
|
|
|
|
|
|
2/ libc
|
|
|
|
Les fonctions strchr/index/strrchr/rindex dans la libc géraient de manière incorrecte les caractères signés.
|
|
|
|
- Architectures ciblées : mips64 pour OpenBSD 6.8 et 6.9
|
|
|
|
---
|
|
|
|
Pour toutes les architectures supportées :
|
|
- amd64, arm64, i386 par `syspatch`
|
|
- armv7, hppa, landisk, loongson, luna88k, macppc, sparc64 par [recompilation](#recompilation)
|
|
|
|
---
|
|
|
|
## Syspatch
|
|
|
|
Cette étape ne concerne que les architectures amd64, arm64, i386 !
|
|
|
|
```ksh
|
|
# syspatch
|
|
```
|
|
|
|
Ensuite, préférez [redémarrer](#restart) le service.
|
|
|
|
## Recompilation
|
|
|
|
Voici les étapes de recompilation nécessaires :
|
|
|
|
Après avoir téléchargé le correctif, vérifiez-le, et appliquez-le :
|
|
|
|
⇒ pour bgpd
|
|
|
|
```ksh
|
|
# wget https://ftp.openbsd.org/pub/OpenBSD/patches/6.9/common/009_bgpd.patch.sig
|
|
# signify -Vep /etc/signify/openbsd-69-base.pub -x 009_bgpd.patch.sig \
|
|
-m - | (cd /usr/src && patch -p0)
|
|
```
|
|
|
|
⇒ La phase de recompilation :
|
|
|
|
```ksh
|
|
$ cd /usr/src/usr.sbin/bgpd
|
|
# make obj
|
|
# make
|
|
# make install
|
|
```
|
|
|
|
Ensuite, préférez [redémarrer](#restart) le service.
|
|
|
|
---
|
|
|
|
⇒ pour relayd
|
|
|
|
```ksh
|
|
# wget https://ftp.openbsd.org/pub/OpenBSD/patches/6.9/common/010_relayd.patch.sig
|
|
# signify -Vep /etc/signify/openbsd-69-base.pub -x 010_relayd.patch.sig \
|
|
-m - | (cd /usr/src && patch -p0)
|
|
```
|
|
|
|
⇒ La phase de recompilation :
|
|
|
|
```ksh
|
|
$ cd /usr/src/usr.sbin/relayd
|
|
# make obj
|
|
# make
|
|
# make install
|
|
```
|
|
|
|
Ensuite, préférez [redémarrer](#restart) le service.
|
|
|
|
---
|
|
|
|
⇒ pour la libc :
|
|
|
|
- sur 6.8 :
|
|
|
|
```ksh
|
|
# wget https://ftp.openbsd.org/pub/OpenBSD/patches/6.8/common/026_strchr.patch.sig
|
|
# signify -Vep /etc/signify/openbsd-68-base.pub -x 026_strchr.patch.sig \
|
|
-m - | (cd /usr/src && patch -p0)
|
|
```
|
|
|
|
- sur 6.9 :
|
|
|
|
```ksh
|
|
# wget https://ftp.openbsd.org/pub/OpenBSD/patches/6.9/common/011_strchr.patch.sig
|
|
# signify -Vep /etc/signify/openbsd-69-base.pub -x 011_strchr.patch.sig \
|
|
-m - | (cd /usr/src && patch -p0)
|
|
```
|
|
|
|
⇒ La phase de recompilation :
|
|
|
|
```ksh
|
|
$ cd /usr/src/lib/libc
|
|
# make obj && make && make install
|
|
$ cd /usr/src/bin
|
|
# make obj && make && make install
|
|
$ cd /usr/src/sbin
|
|
# make obj && make && make install
|
|
$ cd /usr/src/usr.bin/kdump
|
|
# make obj && make && make install
|
|
$ cd /usr/src/usr.bin/ktrace
|
|
# make obj && make && make install
|
|
$ cd /usr/src/usr.sbin/chroot
|
|
# make obj && make && make install
|
|
$ cd /usr/src/usr.sbin/installboot
|
|
# make obj && make && make install
|
|
$ cd /usr/src/usr.sbin/watchdogd
|
|
# make obj && make && make install
|
|
```
|
|
|
|
Ensuite, préférez redémarrer la machine.
|
|
|
|
## Restart
|
|
|
|
```ksh
|
|
# rcctl restart bgpd
|
|
# rcctl restart relayd
|
|
```
|
|
|
|
---
|
|
|
|
## Documentations
|
|
|
|
- [man bgpd](https://man.openbsd.org/bgpd.8)(8)
|
|
- [man relayd.conf](https://man.openbsd.org/relayd.conf.5)(5), [man relayd](https://man.openbsd.org/relayd.8)(8)
|
|
|
|
Plus d'informations sur les pages d'Errata [6.9][1] et [6.8][2]…
|
|
et leurs versions FR respectives : [6.9 FR][3] et [6.8 FR][4].
|
|
|
|
---
|
|
|
|
[1]: https://openbsd.org/errata69.html
|
|
[2]: https://openbsd.org/errata68.html
|
|
[3]: https://wiki.openbsd.fr.eu.org/doku.php/openbsd.org/errata69
|
|
[4]: https://wiki.openbsd.fr.eu.org/doku.php/openbsd.org/errata68
|
|
|