The suspension will be announced Thursday.
It was not immediately clear what Castillo will be suspended for, but the source said it was not for a steroid.
"For me, those are just, at this particular moment, rumors," White Sox manager Rick Renteria said after Wednesday's 11-1 win over the Baltimore Orioles. "MLB is the one that's in charge of all that type of stuff, and until they release something officially, I can't really comment."
Castillo, a 31-year-old from the Dominican Republic, is hitting .270 with six home runs and 15 RBIs for the White Sox this season. He was behind the plate Wednesday and went 1-for-5 at the plate.
It's the second notable MLB drug violation this month. Seattle Mariners second baseman Robinson Cano received an 80-game ban after testing positive for Furosemide, a diuretic that is not a performance-enhancing drug but is viewed as a masking agent and is on MLB's banned substance list.
Dominican journalist Americo Celado first reported news of Castillo's suspension.