Before we dig into the security implications raised by putting a Java VM on a smart card, we need to address the issue of basic smart card platform security.
Smart cards are funny things.
Depending on how they're used, smart cards can sometimes be meant to keep secrets from the very people who carry them around and use them. Consider, for example, a smart card that stores monetary value in an internal register. Smart cards like this make tempting targets for bad guys. Because smart cards are often used in security-critical situations, they have undergone a fair amount of scrutiny from security researchers. The Terminal Problem Smart cards need a way to interact with their users.