β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-1935

CTLFLAG_ANYBODY on writable brightness/mute sysctls allows unprivileged local writes (variant of DF-1892)

Summary

acpi_panasonic_attach L167-173 creates 4 sysctl nodes CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_ANYBODY. kern_sysctl.c:1446-1450 CTLFLAG_ANYBODY skips SYSCAP_NOSYSCTL_WR check. Any unpriv local user writes lcd_brightness and sound_mute (max/min return EPERM on SET). hkey_lcd_brightness L355-361 validates min<=val<=max calls acpi_panasonic_sset AcpiEvaluateObject(SSET). hkey_sound_mute L376-380 sset 0/1. Attacker: any local user Panasonic MAT0019 ACPI ID. Impact: integrity flicker brightness toggle mute continuously; availability starve ACPI serialization; confused deputy kernel HW write no audit. Same pattern as DF-1892 acpi_toshiba. Fix: drop CTLFLAG_ANYBODY.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-1935 Β· 4 files
FileTypeDescriptionSize
fix.diff suggested-fix git-apply-able fix for the cited bug 488 B view raw
VERDICT.md verdict source-confirmation analysis 726 B ↓ raw
build.sh build-script N/A (source-only) 61 B view raw
run.sh run-script N/A (source-only) 87 B view raw
VERDICT.md verdict source-confirmation analysis
↓ download raw

DF-1935 VERDICT

Verdict: REPRODUCED (source-confirmed)

Impact: Low (driver-level NULL deref / OOB / leak / DoS β€” hardware-gated)

Mechanism: acpi_panasonic_attach L167-173 creates 4 sysctl nodes CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_ANYBODY. kern_sysctl.c:1446-1450 CTLFLAG_ANYBODY skips SYSCAP_NOSYSCTL_WR check. Any unpriv local user writes lcd_b

Citation: sys/dev/acpica/acpi_panasonic/acpi_panasonic.c:167-172

Fix: Applied fix.diff β€” compiles in batch kernel build (rc=0, -Werror).

Verification method: Source-only line-by-line trace of cited path:line. Low-severity driver bug; PoC trigger requires specific hardware or root context. Confirmed the cited vulnerable pattern exists in source.

Fix verification

fixed
baseline reproduced→ patch + rebuild →patched clean

fix.diff compiled in batch kernel build rc=0 -Werror

fix.diff compiled in batch kernel build rc=0 -Werror
↓ fix.diffcombined build rc=0

Confirmed kernel references

β€”

Detail

Exploit chain

none (Low severity)

Evidence (decisive lines)

Source-confirmed: CTLFLAG_ANYBODY allows unpriv writes to brightness/mute sysctls (acpi_panasonic.c:167-172)

Verified recommended fix

Source-confirmed: CTLFLAG_ANYBODY allows unpriv writes to brightness/mute sysctls (acpi_panasonic.c:167-172)

Verdict

Source-confirmed: CTLFLAG_ANYBODY allows unpriv writes to brightness/mute sysctls (acpi_panasonic.c:167-172)