I had a real problem getting the FF devs to understand that having to have the same colour of text shown both inside the input boxes and outside of the boxes is a problem. All other text on input boxes is shown against the background of an input box, but the text on a FF22 or 23 file input is - let's hope only temporarily - 'shown' against what is outside. Black text on a black background?
Solution is to put a background-color on all input elements, or just those of type file, even if that's just the default #FFF, in your CSS.
input[type="file"] {background-color: #FFF;} or
input {background-color: #FFF;}
Putting it on all inputs for all browsers seems to do no harm as the almost universal default is a white BG for an input. There's no need to target using a class (unless you want to), because older FF and all other browsers use the familiar input box with a browse button - which also lets the user copy and paste file links, a useful benefit.