Jaycee Chan, who like his father is a singer and actor, was detained last week after police found more than 100 grams of cannabis at his home in Beijing, according to Chinese state-run media.
The charges were a potential embarrassment for kung fu star Jackie Chan, who has a high profile in China where he was appointed as a government-backed "anti-drug ambassador" in 2009.
The "Rush Hour" star said in a post on China's Twitter-like Sina Weibo service that he is "extremely angry and extremely shocked" over his 31-year-old son's detention.
"As a public figure, I am ashamed. As a father I feel terrible," he added.
"I have failed to educate my son. I must also take responsibility, and in my son's name take a deep bow and apologise to the public."
Consuming and supplying cannabis are both illegal in China.
Jaycee Chan was detained "on suspicion of accommodating suspected drug users", China's official Xinhua news agency reported this week.
He was held in a swoop which also saw a well-known Taiwanese actor known as Kai Ko detained on drug charges.
China launches periodic crackdowns on illegal drug use, which in the past have involved arresting celebrities.
At least 10 locally-known stars have been detained on drug-related charges this year, state-run media have said.
The younger Chan was shown on state TV late Monday with his face blanked out as a plain-clothed investigator pulled small boxes of drugs from a cabinet in his Beijing home.
He has featured in several films but has not so far won the acclaim earned by his father, one of Asia's best known actors with a string of Hollywood hits to his name.
In his message on Wednesday, Chan addressed his son directly, saying: "If you do something wrong, you need to bear the consequences. As your father, I am willing to face the future with you together."