The 34-year-old joined the Premier League club on a free transfer in the summer, but has failed to hold down a first-team spot at the Stadium of Light.
"As of today, we have told Louis he is free to speak to other clubs and to leave if he can fix himself up somewhere," O'Neill told the Shields Gazette.
"We have come to an agreement whereby we will cancel the remainder of his contract, shake hands and go our separate ways. That said, we are still a bit short in terms of numbers, and Louis may stay with us until the end of the month until such time as hopefully we have strengthened the squad a little more.
"But we agreed that he could go as early as today, if he wishes to. I have heard that there is some interest in South Africa for Louis, and it might be of some interest to him."
Saha has not started a single Premier League game for Sunderland.