A Human Rights Watch report said visits to detention centres and interviews with refugees had revealed migrants were being denied access to lawyers and contacts with family, and subjected to beatings, harassment and other maltreatment.
It blamed a lack of funds, inadequate legislation and a failure by Ukrainian authorities to enforce regulations.
"This is a matter that the Ukrainian government needs to address. It is also a matter for the EU to address," London Human Rights Watch director Steve Crawshaw told a news conference.
"It cannot simply wash its hands of the matter. At the moment, there is too great a readiness to say this is a problem that Ukraine must deal with and there it ends."
Kiev authorities had to "intervene and send a clear signal of what is and what is not acceptable. Sending that signal strongly is one of the important changes we are looking for."
Human Rights Watch issued its report to coincide with Thursday's summit between the EU and Ukraine's liberal administration elected after last year's "Orange Revolution" protests.
The report said EU expansion to Ukraine's borders last year had put additional pressure on Kiev and put at 500,000 the estimated number of migrants in the country.
Migrants were pouring in from Iran, Iraq, Palestinian territories and elsewhere in addition to earlier arrivals from troubled parts of former Soviet states.
Some had fled persecution and were unable to claim asylum, while others were trying to reach EU states.
The report's author, Romanita Iordache, said the ordeal of 150 refugees interviewed during the investigation "are not isolated cases. We documented a pattern".
"We documented abuses and problems created not only because of a lack of funding but because Ukrainian legislation is not being implemented or does not comply ... with international standards."
More resources, she said, were needed to improve conditions. "But in order to observe Ukrainian legislation and treat people decently there is no need for resources," she said. "There's no need for a bigger budget if you don't want to beat detainees."
Iordache said Human Rights Watch hoped the Ukrainian government would acknowledge the extent of the problem.