DF-4135 / verdict.json
{ "finding_id": "DF-4135", "status": "untested", "reproduced": 0, "impact": "none", "confidence": "certain", "verdict": "Missing break after the readpol inner switch (vinumconfig.c:1550-1556) is certain from source; any volume configured with readpol silently gains VF_CONFIG_SETUPSTATE, which skips invalidate_subdisks() in give_plex_to_volume (:202-204) and enables the setupstate forceup-all path (vinumstate.c:540). Data-integrity impact (mirror plex not invalidated; possible stale-data resurrection via forceup) requires specific plex processing orders. Live data-corruption test skipped as out of proportion to severity.", "exploit_chain": "", "evidence": "README.md analysis with code excerpts", "kernel_refs": ["sys/dev/raid/vinum/vinumconfig.c:1527", "sys/dev/raid/vinum/vinumconfig.c:1556", "sys/dev/raid/vinum/vinumconfig.c:202", "sys/dev/raid/vinum/vinumstate.c:540"], "poc_changes": "n/a - analysis only", "attempts": 0, "guest_uname": "n/a", "runtime_sec": 0, "guest_dirty": 0, "notes": "Ordinary documented config keyword (readpol) triggers the flag.", "recommended_fix": "Add break after the inner readpol switch.", "fix_status": "not_applicable" } |