Pressure has mounted on Italy after the UN and the European Commission called on Rome to end its stand-off with a migrant rescue boat.
The Sea-Watch 3 reached the Italian island of Lampedusa on Wednesday with 42 rescued migrants.
But charity Sea-Watch says authorities have prevented it from docking and no other country has come forward to help.
It comes as Italy's ruling parties attempt to clamp down on migrant rescue boats entering Italian waters.
"It is really regrettable that it came to this," said UNHCR spokesperson Charlie Yaxley.
"Rescue at sea is a centuries-old tradition, it is an obligation under international maritime law and NGOs' search and rescue vessels have saved thousands of lives on the central Mediterranean in recent years," he added.
In a statement, EU Migration Commissioner Dimitris Avramopoulos said a solution would only be possible once those on board had disembarked.
Commission spokeswoman Natasha Bertaud added that "the duty to rescue is clear", but noted that "there is no obligation for countries to accept disembarkation for incidents from outside their rescue area."
The vessel, operated by Sea-Watch, a German charity, rescued 53 migrants off the coast of Libya on 12 June. Italian authorities have already taken in 13 of them for health reasons.
Ship captain Carola Rackete said Sea-Watch had tried to co-operate with the authorities, engaging with Italy, Germany, Malta and France and opening contacts with the European Commission.
However, after two weeks in limbo, Sea-Watch said the boat was forced to enter Italian waters since there was no other option left to ensure the migrants' safety.
"We're caught up in a political game," charity spokesperson Haidi Sadik told the BBC. "This should be comparable to being in an ambulance and taken to hospital."
Aid groups and the UN have said it is not safe to take migrants back to war-torn Libya.
Several Italian opposition politicians have also boarded the vessel and have refused to leave until the dispute is resolved.
But Italy's Interior Minister Matteo Salvini has threatened legal action against Sea-Watch for their decision.
"I hope that in the coming hours there will be a judge to say that there are outlaws on board this vessel," Mr Salvini told Italian radio on Thursday.
The decree will levy fines of between €10,000 (£8,900; $11,300) and €50,000 on ships entering Italian waters without permission.
Mr Salvini has said the migrants can only disembark if they head straight to the Netherlands, where the Sea-Watch 3 is registered, or to Germany.
In January, the Sea-Watch 3 was stranded at sea for 18 days in a similar dispute. The 32 migrants on board were later allowed to disembark in Malta following a distribution deal between several European countries.