Another possible cause is that your tires are old. If they’ve got at least 10,000 miles on them, the rubber may be starting to separate from the inner tread. This can also be caused by driving over something sharp or running them over- or underinflated.
Additional causes to check:
- Tires are out-of-round
- Rim bent or damaged
- Driveshaft out of alignment
- Loose U-joints
- Control arm bushings/ball joints worn
- CV jointsworn