Zero-knowledge problem of Pinocchio (verifiable computation)
It is true that the verification procedure needs the values of the input wires, but "input wires" refers only to the wires of $u$, the value provided by the client.  The wires for $w$ are considered "middle wires", and are included in the computation of $v_{mid}$, $w_{mid}$, and $y_{mid}$ (i.e., their indices are included in $I_{mid}$).

On a higher level, the protocol does this:

The client sends (to the worker) values for some (not necessarily all, and possibly even zero) wires.  The wires for which a value is provided by the client are called the "input wires".

The worker sends (to the client) two things:


Values for some wires of the circuit whose values have not been provided by the client.  The wires for which a value is provided by the worker are called "output wires".  All wires that are not input or output wires are called "middle wires".
A proof of the following statement: It is possible to assign values to all the middle wires of the circuit so that "everything works", meaning that the input and output wires for every gate of the circuit are correct for the operation that the gate is supposed to perform, and moreover, the worker knows some such values.  This proof can be zero-knowledge; in that case it reveals nothing about the values of the middle wires.


The case where "input wires" (resp. "output wires") in the above sense correspond to the input and output wires of the circuit in the usual sense is actually just a special case, which corresponds to the "non-ZK" case discussed in the paper.  In the ZK case discussed in the paper, the "input wires" in the above sense correspond to only some of the input wires of the circuit: the wires for $u$. The wires for $w$ are "middle wires", so that the worker proves, in zero-knowlege, that it knows appropriate values for those wires.