Covariance and contravariance are concepts that relate to declared types of arguments and return values. For example, method arguments are contravariant if the types of the arguments in subclass methods can specify a more general type than the types in the superclass.
Smalltalk has no static type declarations. You can apply the concepts of covariance and contravariance but since the language allows you to send any message to any object, it won't enforce any rules that covariance and contravariance may entail.
So, yes, Smalltalk supports covariance and contravariance in the sense that it allows you to use those concepts and no in the sense that it just doesn't care one way or the other.