The European Union's executive said on Tuesday it was launching legal action against Cyprus and Malta over their investor citizenship programmes, also known as "golden passport" schemes.
The schemes allow wealthy foreigners to buy citizenship in exchange for an investment of around 1 million euros ($1.2 million) in Malta and 2 million euros in Cyprus.
The European Commission said the decision was taken because the two member states granted nationality – and thereby EU citizenship – without requiring "a genuine link with the country", as passport holders were not obliged to reside there.
"There cannot be a weak link in EU efforts to curb corruption and money laundering," Values and Transparency Commissioner Vera Jourova said.
The commission has refrained from launching legal actions against EU states that sell residence permits, also known as "golden visa schemes", without requiring investors to stay in the country for a meaningful period, despite a European Parliament resolution urging such a move.
In a 2019 report the commission acknowledged golden visa and golden passport schemes posed similar money-laundering and organised crime risks.
Portugal, Greece and Bulgaria currently offer golden visa schemes under these lax conditions, a practice of which Latvia was pioneer in Europe.
Cyprus said last week it was suspending its citizenship-for- investment programme, ditching a scheme the government had acknowledged was open to abuse after an investigation by Al Jazeera, a media outlet.
The commission said it would need concrete actions to stop the practice.
The EU cannot ban such schemes, but it can force countries to require "effective residence", meaning physical presence for a regular and extended period in the territory of the state concerned.
Both states circumvented those rules, the commission said.
The Cypriot and Maltese governments have two months to take action. Without meaningful changes, the commission could refer them to the bloc's Court of Justice and ultimately it can ask the court to impose penalties.
($1 = 0.8467 euros)