C'est cool, je sais aussi faire une recherche de CVE rank 10, mais quand tu vois que par exemple pour la CVE-2017-18017 il faut "presence of xt_TCPMSS in an iptables action", on peut pas dire que ça soit la configuration classique...
Faux. C'est une configuration très classique. Google "TCP MSS Clamping".
Surtout que les correctifs de toutes les CVE remontées sont assez triviaux : le git diff fait pas plus d'une page. Donc pas besoin avoir une 5.17.4
pour se sentir en sécurité, les backports peuvent se faire facilement (et c'est pas comme si j'en avait pas fait dans ma "jeunesse" sur un kernel concurrent).
Encore faux. Quand les API concernées ont changé d'une version à l'autre, il peut devenir très difficile voir quasiment impossible de backporter certains fixes. Ou alors avec le risque d'introduire d'autres bugs quand une adaptation trop importante est faite sans contrôle.
Après, un routeur qui laisserait entrer de l'UDP non sollicité (pour la CVE-2016-10229) c'est clair qu'il doit finir à la poubelle.
Oui parce que c'est bien connu, la plupart des configs par défaut des routeurs commerciaux sont toujours bien ficelées
Et bon, généralement suite à ce genre de CVE, tu as quand même des mises à jours chez certains constructeurs. Il y a 807 patchs sur le Kernel 3.12 utilisé sur un Archer AX50 par exemple, avec des noms très explicites. D’ailleurs il y a du code openwtr aussi dedans
Oui. Certains constructeurs patchent ce qu'ils peuvent, quand ils le veulent bien (quand ils le veulent pas, l'utilisateur final l'a dans l'os). Le 3.12 a été maintenu à jour 1 an de plus que le 3.4 mentionné par bolemo.
Mais curieusement, j'ai plus tendance à faire confiance à un OS complètement opensource avec une équipe dédiée qui suit les alertes de sécurité de près et publie les patchs rapidement et en communiquant correctement dessus, qu'à un OS tenu à bout de bras par un gars tout seul dans son coin. Je dois être biaisé
De ce que je comprends, le EOL du kernel n'est pas à cause des CVE, mais à cause des nouvelles fonctionnalités dans les noyaux suivants… (bref, c'est logique qu'à un moment, de son ancienneté un noyau ne soit plus supporté).
C'est exactement ça, et c'est exactement ce qui rend la maintenance des vieux kernels difficile. L'ajout de "nouvelles fonctionnalités", ça peut être aussi des changements d'API, des modifications dans la structure du code, qui font qu'un fix qui fonctionne sur un kernel récent peut ne pas être applicable ou ne pas fonctionner sur un vieux kernel. Donc au bout d'un moment, les mainteneurs estiment qu'il est temps de passer à autre chose, ce qui est logique.
Le noyau du firmware n'est pas le kernel 3.4.103 d'origine, mais une version modifiée et supportée par QCA avec des correctifs apportés par QCA jusqu'à au moins 2019.
Donc plus mis à jour depuis bientôt 3 ans. Securitas maximus. Et qui te dit que QCA a pu traiter toutes les CVEs si par exemple certaines ne bénéficient pas d'un patch proposé par les devs kernel (les kernels EOL ne reçoivent précisément plus ces patchs)?
Enfin, Voxel m'a confirmé avoir ajouté lui-même les correctifs CVE à sa version (c'est dans son log). Par exemple:
Intéressant. On peut voir le source code de ces correctifs?
Donc ce n'est pas forcément plus vulnérable qu'OpenWRT où le noyau 5.10 est utilisé pour le R7800 (CVEs pour ce noyau 5.10: https://vulmon.com/searchpage?q=linux+linux+kernel+5.10 ).
T'as pas du bien comprendre le concept: le 5.10 utilisé par OpenWRT, il est maintenu par les devs kernel jusqu'en décembre 2026 (décembre 2025 pour le 5.4 sur OpenWRT 21.02), et la version fournie par OpenWRT est une des dernières disponibles au moment de la release: donc le kernel proposé contient tous les fixs disponibles pour toutes les CVEs connues à date de release.
J'ajoute que pour les drivers wifi, ils vont même plus loin puisque typiquement ils backportent les drivers de kernels plus récents pour bénéficier du meilleur support et des meilleures performances possibles ET de la sécurité.
Enfin, comme le précise Ralph, les failles doivent être exploitables, demandant un accès direct au terminal (donc accès telnet ou ssh…), et certaines sont sans effet sur le routeur, comme une vulnérabilité du module x86/x64 pour les instructions AES ou sur un pilote de cd-rom…
Oui je te remercie de donner des exemples absurdes. Les CVE que j'ai listée sont exploitables dès lors qu'il y a un échange réseau quel qu'il soit entre une machine malicieuse et une autre machine. Sur un routeur, certaines failles sont exploitables dès lors que le routeur voit simplement _passer_ ce traffic. Les CVE que j'ai indiquées et celles que tu mentionnes sont dans ce cas.
Après, je n'ai rien contre OpenWRT, mais l'absence d'accélération matérielle est vraiment dommage… C'est pour moi perdre une grosse fonctionnalité du routeur.
ça dépend ce que tu as comme lien derrière, et ça dépend du routeur. Une nanopi R2S n'a pas besoin d'accélération matérielle pour saturer un lien giga par exemple. (c'est pas un routeur wifi, mais c'est pour illustrer).
Je ne vais pas critiquer ton choix, que je comprends parfaitement et respecte. On se rejoint sur le fait que la sécurité et un accès au routeur sont importants ; après, il faudrait comparer point par point tous les CVE etc… pour savoir quelle solution est la plus sécuritaire.
La honte, c'est les firmwares officiels, qui eux sont ouvertsaux failles, et sont de loin les plus utilisés…
N'oublions pas enfin que je monitor régulièrement mon routeur (processus, cpu, mémoire, traffic, IRQ, etc…), donc si son comportement venait à changer (botnet), je le vois. L'accès au terminal du routeur est très sécurisé : aucun accès distant depuis internet, même pour moi, aucun accès telnet, seulement SSH avec obligatoirement avec une clé… Mon LAN est protégé aussi, port knockers etc…
C'est en faisant du monitoring justement que j'ai repéré le problème DHCPv6 d'ailleurs… L'activité SoftIRQ et CPU du routeur étaient un peu plus élevés… J'ai du coup vérifié aussi le monitoring de mon ONT (que je check aussi régulièrement de toute façon) et j'ai vu cette charge anormale de paquets multicast… Un tcpdump sur le routeur m'a montré le problème.
C'est très bien. Tu es un poweruser et tu fais attention. Mais quand tu encourages des utilisateurs lambda à utiliser du matériel et un firmware "bof bof" pour le dire poliment (accessoirement utiliser un firmware maintenu par un seul gugus - a priori sans peer review en plus? - c'est pas franchement une solution très robuste si le gugus passe à autre chose pour X raison) tu ne pars j'espère pas du principe qu'ils vont passer autant de temps que toi à surveiller leur routeur comme le lait sur le feu?
Pour info moi j'aime bien quand je branche, ça tourne et je l'oublie. La vie est trop courte pour se farcir un monitoring quotidien d'un truc aussi simple et sans intérêt qu'un routeur ;P
EDIT (ajout) :
Après avoir échangé avec Voxel, il m'indique (assez logiquement) que les vulnérabilités du noyau les plus dangereuses sont celles où l'attaquant peut attaquer via le port WAN sans besoin d'être connecté au terminal du routeur : buffer overflow, DDoS… Et d'autant qu'il le sache toutes ces failles ont été fixées dans ses firmwares.
"D'autant qu'il sache". Nous voila bien rassurés
Il rappel que la règle d'or est de ne pas autoriser d'accès au routeur via HTTPS, de ne pas activer ReadyCLOUD, ni miniupndp, et si besoin d'accès à distance de n'utiliser que SSH depuis le WAN.
Again, les CVEs mentionnées plus haut affectent n'importe quel noyau qui fait du
traffic réseau de base. Pas besoin de port ouvert!
Aller, j'en reste là, j'ai exposé mes arguments, libre à chacun de faire ce qu'il veut. Bisous.
PS: pour le contexte: je suis actuellement contributeur OpenWRT, et j'ai été pendant pas mal d'années contributeur du noyau Linux (même si je suis moins actif, il y a encore pas mal de code à moi dedans, drivers, support d'architectures exotiques, etc). Juste pour dire que j'ai une petite idée de quoi je parle quand j'en parle