Karunaratne, the 26-year-old allrounder, was also fined US$5000 after pleading guilty to the charges.
"Considering the seriousness of the violations committed by Mr. Karunaratne, the Inquiry Panel by its report has recommended to the Executive Committee of the SLC to strongly warn the player to refrain from further violations and to impose a punishment that will not have an impact on his cricketing career," an SLC media statement said.
Since the ban is a suspended one, Karunaratne is allowed to play internationally, but is set to be dropped from Sri Lanka's ODI squad for their upcoming home series against Afghanistan anyway. That squad, however, is yet to be made public, as it is awaiting ratification from Sri Lanka's sports minister, who has questioned the reasoning behind Karunaratne's axing.
It is understood that Karunaratne's poor recent record, primarily in the T20I format, is the main reason for his likely omission. In 21 innings this year, he has scored 169 runs at a strike rate of 98.25, while with the ball he has 14 wickets at 39.14 over 22 innings. He has fared better in ODIs, however, most notably winning two Player-of-the-Match awards during Australia's tour of Sri Lanka earlier this year.