Tayside Police said the 22-year-old was stabbed 11 times, suffering eight wounds to the body and three to the head.
He is in intensive care after the attack at T in the Park in Balado, Kinross-shire, in the early hours of Sunday, but police said he was making good progress.