← Toutes les règles
SOCLE-CLD-MOD-013// Kernel modulesfaibleruntime effectif

Désactiver le montage de jffs2

Garantit que le module noyau du système de fichiers flash jffs2 ne peut pas être chargé, rendant indisponible le pilote de flash embarqué.

Vérifié sur l’état résolu en cours d’exécution (ex. sshd -T, sysctl, systemctl show), attrape les drop-ins et Include qu’une lecture de fichier raterait. Réserve : runtime ≠ persistance ; une valeur correcte maintenant peut ne pas survivre à un redémarrage.

Un PASS prouve✓ actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04
Un seul check, mappé sur 2 normes

Pavois vérifie la configuration effective, l’état résolu et réellement appliqué, pas un fichier. Les scanners basés fichier (OVAL/SCAP, Lynis) ratent les Include, drop-ins et défauts runtime ; ce check voit ce qui est réellement en vigueur.

Un mapping est une référence croisée vers l’endroit où chaque norme situe cette exigence, ancrée et recoupée, pas une affirmation d’équivalence. Un check réussi est une preuve vers ces références, comment le lire.

Pourquoi cette règle

jffs2 est un système de fichiers journalisé pour mémoire flash brute (NOR/NAND), utilisé sur les équipements embarqués et presque jamais sur les serveurs. Chaque pilote de système de fichiers chargeable ajoute de la surface d'attaque : l'analyse d'images flash non fiables a historiquement causé des bogues de corruption mémoire du noyau. Un attaquant capable de présenter une image forgée pourrait exploiter des failles de ce pilote rarement utilisé pour faire planter le noyau ou exécuter du code. Le désactiver supprime cette exposition sur les systèmes dépourvus de stockage JFFS2.

Ce que vérifie Pavois

Pavois utilise la ressource InSpec kernel_module('jffs2') pour confirmer que le module n'est pas chargé et qu'il est désactivé (blacklist plus une redirection install ... /bin/true). Cela reflète l'état effectif du noyau via lsmod et modprobe --showconfig, et non un grep statique de /etc/modprobe.d/. Un drop-in réactivant le chargement est détecté même quand un fichier de configuration semble correct.

describe kernel_module('jffs2') do
  it { should_not be_loaded }
  it { should be_disabled }
end

Comment vérifier qu’elle est appliquée

Exécutez modprobe -n -v jffs2, la sortie doit afficher install /bin/true. Vérifiez qu'il n'est pas chargé avec lsmod | grep jffs2 (aucune sortie attendue). modprobe --showconfig | grep jffs2 doit afficher une ligne blacklist jffs2 et une ligne install jffs2 /bin/true.

Inspecter et investiguer

Les tentatives de chargement apparaissent dans le tampon noyau : dmesg | grep jffs2 ou journalctl -k | grep jffs2. La politique modprobe effective est affichée par modprobe --showconfig | grep jffs2.

Remédiation

pavois harden apply utilise la ressource kernel_module pour mettre jffs2 en blacklist : il écrit un drop-in sous /etc/modprobe.d/ avec blacklist jffs2 et install jffs2 /bin/true, et décharge le module s'il est chargé. Comme le pilote peut être présent dans le noyau en cours d'exécution ou dans l'initramfs, reboot_required est vrai pour garantir qu'il n'est pas actif.

Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :

actionblacklist
namejffs2
reboot_requiredtrue
resourcekernel_module
pavois harden plan local

où la cible est local, un alias SSH user@hôte, ou un conteneur , Docs

Impact & précautions

Risque en l'absence d'application : un pilote de système de fichiers flash chargeable reste exploitable via une image forgée.

  • Avant d'appliquer, vérifiez que l'hôte n'a pas de stockage flash brut (NOR/NAND) utilisant JFFS2, pratiquement jamais le cas sur les serveurs et VM standard.
  • Non perturbateur sur les déploiements classiques ; seuls les systèmes embarqués/appliances reposant sur JFFS2 sont affectés.
  • Un redémarrage est requis pour un effet complet, planifiez-le dans une fenêtre de maintenance.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS1.1.1.5directper OS, see the benchmark tablehaute
NIST3.4.6, CM-6(a), CM-7(a), CM-7(b)support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne

Chaque référence est une référence croisée ancrée dans le benchmark amont et recoupée avec le SCAP Security Guide et ansible-lockdown, pas une affirmation d’équivalence. Direct = une exigence prescriptive au niveau de la ligne ; support = une famille de contrôle abstraite (NIST) vers laquelle le check apporte une preuve. Comment lire un mapping.

Sources & références