Database/table corruption can be caused by a variety of things, including hardware problems, the mysql server crashing or being shut down unexpectedly, and various others.

Since it looks like you had multiple tables crashed this would commonly point to the mysql server unexpectedly being shutdown. Not sure what type of server you have or if you have access to information on how long the server and/or mysql has been running. If the server or mysql have only been running for a few hours (since about the time of the crashed tables) then that could be the case.

The CACHED_PERMISSIONS table is a fairly active table so that one is more apt to corrupt. The USERS table isn't as active, normally only changing when a new user is added, someone logs in, etc.

Any idea what version of mysql you are currently using?