"The injury looks very serious," Zenit coach Luciano Spalletti told the club's website in reference to the 26-year-old, who was taken off on a stretcher late in Thursday's friendly against Serie A side Siena.
Criscito, who missed several weeks after injuring the same knee in November, later confirmed the bad news.
"Unfortunately, I injured my knee. Now I'll need surgery," he wrote on his Twitter account on Friday.
The Italy international returned to action in last week's Europa League tie against Liverpool after missing almost a month with a calf problem.
The Russian league season restarts next week when Zenit also face Swiss side Basel in a Europa League last 16 tie.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.