Millions caught in South Africa's 'worst data breach'