Selena Gomez says she is receiving chemotherapy after being diagnosed with the autoimmune disease lupus.
Concerns about the 23-year-old's health were first raised in 2013, when she cancelled a tour of Asia and Australia.
She later sought treatment at the Dawn at the Meadows rehab facility, with her representatives denying she was dealing with substance abuse.
But the singer has revealed her break was "really about" her lupus diagnosis, adding: "I could have had a stroke."
Speaking to Billboard magazine, the pop star was scathing about the gossip websites who suggested she was addicted to drugs.
"I wanted so badly to say: 'You guys have no idea. I'm in chemotherapy. You're assholes'."
"I locked myself away until I was confident and comfortable again."
Gomez went on to criticise the tabloid press, who have spent years picking apart her relationship with ex-boyfriend Justin Bieber, as "vile".
"I've been working since I was seven. I've been a Unicef ambassador since I was 17. It's so disappointing that I've become a tabloid story," she said.
Lupus is a chronic autoimmune disease where the body's immune system becomes hyperactive and attacks normal tissue.
This process can lead to destruction of the kidney, heart, brain, spine, and lung tissue.
It can affect almost any system in the body but its exact cause is unknown.
Symptoms can include fever, a "butterfly" shaped rash on the face, hair loss, fatigue and painful joints.
The disease is currently treated by drugs, and by chemotherapy designed to suppress the action of the immune system.
Gomez, who began her career as a child star on programmes like Barney and Friends and Wizards of Waverley Place, is currently promoting her new album Revival, and appears in the US number one film Hotel Transylvania 2.