Can exons be located outside of the coding sequence? I have a gff file like this (I edited the name):

scaffold_x  source  exon    2987526 2987805 .   -   .   name "foobar";transcriptId 68892
scaffold_x  source  CDS     2987526 2987805 .   -   1   name "foobar";proteinId 68892;exonNumber 5
scaffold_x  source  exon    2988610 2988745 .   -   .   name "foobar";transcriptId 68892
scaffold_x  source  CDS     2988610 2988745 .   -   2   name "foobar";proteinId 68892;exonNumber 4
scaffold_x  source  exon    2989157 2989645 .   -   .   name "foobar";transcriptId 68892
scaffold_x  source  CDS     2989157 2989645 .   -   2   name "foobar";proteinId 68892;exonNumber 3
scaffold_x  source  exon    2990903 2991541 .   -   .   name "foobar";transcriptId 68892
scaffold_x  source  CDS     2990903 2991541 .   -   2   name "foobar";proteinId 68892;exonNumber 2
scaffold_x  source  stop_codon  2990903 2990905 .   -   0   name "foobar"
scaffold_x  source  exon    2991587 2992430 .   -   .   name "foobar";transcriptId 68892
scaffold_x  source  CDS     2991587 2992430 .   -   0   name "foobar";proteinId 68892;exonNumber 1
scaffold_x  source  start_codon 2992428 2992430 .   -   0   name "foobar"


So the start_codon is 2992428    2992430 and the stop_codon is 2990903   2990905; I would therefore expect all the exons within this range, however, e.g. exon 5 is found in 2987526   2987805 which is clearly outside this range.

Is there something wrong with the gff file itself or is there a plausible explanation for that?

EDIT:

In the corresponding protein fasta I do find an amino acid sequence associated with this prtein ID and name:

&gt;68892|foobar
MHTGD...
Yes, of course. Exons are not limited to the protein coding regions. Many UTRs are in exons. In fact, you even have various cases of UTRs being multiple exons, and being spliced. 

What is strange in your file is not so much that you have exons beyond the stop codon, but that you also have them marked as CDS (coding sequence). That isn't possible, no. While there can indeed be exons in the UTRs, those are not coding and shouldn't be called CDS. That's probably just a minor nomenclature issue though and what you are looking at is a spliced UTR. 

So, the exons (or the parts of the exons) that fall between the start and stop codons will be translated, while those that fall outside that regions will not be (UTRs). 

For example, this is the exonic structure shown for ENST00000617185, one of the transcripts of the human P53 gene:



The boxes are exons and the lines are introns. The colored boxes are protein coding exons, while the empty ones are UTR exons. Note how they are also spliced and that this particular transcript has 3 non-coding exons on the 5' end and one on the 3' end.