Page MenuHomeFreeBSD

Don't indirect user pointers directly in two 802.11s ioctls.
ClosedPublic

Authored by jhb on Apr 24 2020, 8:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jan 10, 8:26 AM
Unknown Object (File)
Dec 9 2024, 7:44 AM
Unknown Object (File)
Dec 7 2024, 12:04 AM
Unknown Object (File)
Dec 5 2024, 7:45 PM
Unknown Object (File)
Nov 13 2024, 6:09 PM
Unknown Object (File)
Nov 1 2024, 2:05 AM
Unknown Object (File)
Oct 29 2024, 8:11 PM
Unknown Object (File)
Oct 24 2024, 4:02 AM
Subscribers

Details

Summary

IEEE80211_MESH_RTCMD_ADD was invoking memcmp() to validate the
supplied address directly on the user pointer rather than first doing
a copyin() and validating the copied value.

IEEE80211_MESH_RTCMD_DELETE was passing the user pointer directly to
ieee80211_mesh_rt_del() rather than copying the user buffer into a
temporary kernel buffer.

Test Plan
  • found in CheriBSD where user pointers and kernel pointers are different types currently
  • compile tested only, no run-time testing

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Apr 24 2020, 8:41 PM

These should have been reported by SMAP, but apparently nobody uses mesh ?

sys/net80211/ieee80211_mesh.c
3580 ↗(On Diff #70959)

error != 0

In D24562#540481, @kib wrote:

These should have been reported by SMAP, but apparently nobody uses mesh ?

I suspect that no one uses it, yes.

jhb marked an inline comment as done.Apr 24 2020, 10:10 PM