No, at least no documented languages have only front vowels. The general explanation for this is given by various theories for vowel dispersion.
Schwartz, Boë, and Abry (1997) summarise one of these theories pretty well. Basically, there is a strong tendency for languages to spread their vowels evenly. Most theorise that this is because of learnability, others because of articulatory economy (Lindblom, 1975), others because they think systems self-organise in nature (de Boer, 2000).
In 3 vowel systems, the most common vowels are /a/ /i/ /u/ with lots of speaker variation. In 5 vowel systems it tends to add in /e/ and /o/, 6 vowel systems most often add in a mid vowel like schwa.
7 or higher start getting rounding contrasts.
There are languages with asymmetric vowel inventories. Many dialects of Danish have a highly asymmetric vowel inventory, with about twice as many front vowels as back vowels.
Australian English also has a slightly asymmetric vowel inventory, with only 3 back vowels out of 11 monophongal minimal pairs.
One language I speak, Polish, has a fairly asymmetric vowel inventory despite having only 9* vowel phonemes (if you count the nasal diphthongs as vowels, that is)
/ɛ/ /ɛ̃ w/ /ɔ/ /ɔ̃ w/
(The vowel [e] occurs as an allophone before /j/ or a palatalised consonant, the and /ɔ/ occurs as [o] before /w/ or /l/)
There are two high front vowels, and the default tends to be +lax/-tense, rather than +tense/-lax (which is fairly unexpected).
So there are languages with asymmetric vowel inventories, but none as extreme as only having front vowels.
There are many reasons why this wouldn't happen, or would be highly improbable. For example, there is a tendency for languages to end up with an asymmetric inventory if [u] shifts forward to [y] or [ʉ], and sometimes to even shift forward to [y] and then un-round to [i].
Usually, what happens though, is the vowel does not shift forward before [k] [x] or another velar consonant, and then they wind up in allophonic variation, or over time, even in phonemic variation.
Another tendency is for [o] to raise and fill the place of where [u] used to be.
So let's say a 5 vowel inventory language has:
Then, a few generations later we have:
/i//y/ /u/ (o shifted up)
/i//y/ /u/ (the vowel became contrastive)
*There is debate on even this in Polish, sadly. The controversy is over the front vowels, and whether the contrastive vowel is [ɪ] or [ɨ].
In many Slavic languages, such as Russian, there are two vowels in allophonic distribution: one occurs after palatalised consonants and /k/ [i], the other after non-palatalised consonants [ɨ].
Sanders (2003) identified the Polish vowel as [ɪ], at least in Warsaw Polish.
In Polish, the only consonants with a palatalisation contrast are the bilabials, and before a back vowel. Some Slavicists like to transcribe the bilabials before /i/ as being something like [mʲ] instead of [m].
If you don't do this for pure consistency-with-other-Slavic-languages concerns, it is fairly obvious that /ɪ/ and /i/ are minimal pairs:
/bitɕ/ 'to beat'
/bɪtɕ/ 'to be'
They are phonemic at least in the environment of bilabials.
De Boer, B. (2000). Self-organization in vowel systems. Journal of phonetics, 28(4), 441-465.
Lindblom, B. (1986). Phonetic universals in vowel systems. Experimental phonology, 13-44.
Sanders, R. N. (2003). Opacity and sound change in the Polish lexicon (Doctoral dissertation, UNIVERSITY OF CALIFORNIA SANTA CRUZ).
Schwartz, J. L., Boë, L. J., Vallée, N., & Abry, C. (1997). The dispersion-focalization theory of vowel systems. Journal of phonetics, 25(3), 255-286.