Well-definedness of the pullback on covectors. Basic definitions in question:
Let $M,N$ be smooth manifolds, and consider a smooth map $\phi : M \rightarrow N$. 
The push-forward map is the map: 
$$\begin{align}
\phi_* : & \ TM \rightarrow TN \\
& \ X \mapsto \phi_*(X)
\end{align}$$
$$\text{with} \ \phi_*(X)f = X(f\circ \phi) \ \forall f\in C^{\infty}(N)$$ 
The pull-back map is the map:
$$\begin{align}
\phi^* : & \ T^*N \rightarrow T^*M \\
& \ \omega \mapsto \phi^*(\omega)
\end{align}$$
$$\text{with} \ \phi^*(\omega)(X) = \omega(\phi_*(X)), \ X \in TM$$

Easy to see that the image of a fibre over $p$, $T_pM$, of the tangent bundle $TM$ under the push-forward $\phi_*$ is contained in the fibre over $\phi(p)$ in the corresponding tangent bundle $TN$: 
$$\phi_*(T_pM) \subseteq T_{\phi(p)}N.$$
However, it was also claimed that the pull-back of a generic covector $\omega \in T_{\phi(p)}^*N$ will be a covector $\phi^*(\omega) \in T^*_pM$, where I particularly emphasise the $p$ in $T^*_pM$.

The question:
Given that $\phi$ is not known to be injective, isn't it impossible for this definition to guarantee that a covector $\omega$ defined at $x=\phi(p)\in N$ will necessarily be pulled back to a covector at the point $p$ of $M$? Patently, if $\phi$ is not injective, there could exist $q\not=p$ with $x=\phi(p)=\phi(q)$ -- so would the pullback of $\omega$ lie in $T^*_pM$ or $T^*_qM$? Worse still, what does one do with covectors defined at points in $N$ that don't lie in the image of $\phi$?
But, if injectivity/surjectivity of $\phi$ is indeed the minimal requirement to have a well-defined pullback of this type, this would consequently impose constraints on the dimensions of $M,N$. This was certainly not discussed (although I can see this working better in the case of embedding a lower dimensional manifold in one of higher dimension, for example).
It's more a question of, what am I missing here? I note that this is a map between cotangent bundles as opposed to the spaces of sections of the cotangent bundles. Perhaps, this is an acceptable definition when acting on forms/covector fields? I stumbled upon this (Definition of pullback.), which states "This situation with forms is different. For differential forms the pull-back is well-defined even if the function is not injective." in the top answer.
 A: After some thought, I think this is the result of a muddling of two related notions of "pullback" -- one for pulling covectors back between fibres of the cotangent bundles and another for pulling covector fields between the spaces of smooth sections of the two cotangent bundles.
Generally speaking, $\phi^* : T^*N \rightarrow T^*M$ above is ill-defined as a map taking covectors to covectors without further restrictions on $\phi:M \rightarrow N$. 
This is easily seen by taking a non-onto $\phi$, and considering $\phi^*((q,\omega_q))$, where $q\in N, \ q\not\in \phi(M)$ and $\omega_q \in T^*_q N$. Clearly, $\text{preim}_{\phi}(q) = \emptyset$ so there's no point $p\in M$ with $\phi^*((q,\omega_q)) = (p, \omega_p)$. Further issues of ill-definedness arise when $\phi$ is not injective, if we consider the pullback of a point-covector pair where the preimage of the "point" under $\phi$ contains at least two distinct points in $M$.

On the other hand, one can always select a point $p\in M$ and have a well-defined, smooth pointwise pullback map on cotangent spaces in the fashion defined above:
$$\begin{align}
\phi^*_p : & \ T^*_{\phi(p)}N \rightarrow T^*_pM;\\
& \ \omega_{\phi(p)} \mapsto \phi^*_p(\omega_{\phi(p)})\\
\end{align}$$
$$\text{with} \ \phi^*_p(\omega_{\phi(p)})(X_p) = \omega_{\phi(p)} (\phi_{*p}(X_p))\ \forall X_p\in T_pM.$$
where I have been very explicit with the point-based dependence of all the objects concerned. From this, one can define a smooth and well-defined pullback taking covector fields (i.e. smooth sections of the cotangent bundle) on $N$ to covector fields on $M$.
Namely, let $\omega : N \rightarrow T^*N$ be a covector field on $N$. One can define a covector field on M using the pointwise pullback above:
$$\begin{align}
\phi^*\omega : & \ M \rightarrow T^*M\\
& \ p \mapsto \phi^*_p(\omega_{\phi(p)})
\end{align}$$
Note, this map:
$$\begin{align}
\phi^* : & \ \Gamma(T^*N) \rightarrow \Gamma(T^*M)\\
& \ \omega \mapsto \phi^*(\omega) = \phi^* \omega 
\end{align}$$
$$\text{with} \ (\phi^*\omega)(p) = \phi^*_p(\omega_{\phi(p)}) \ \forall p\in M$$
is a pullback between $C^{\infty}(M)-$ and $C^{\infty}(N)-$modules, but crucially not a pullback between the cotangent bundles $T^*M$ and $T^*N$ themselves.
Sidenote: Very cool that we can actually pull-back smooth covector fields. We have precisely the opposite issue when we consider the push-forward of smooth vector fields, where we have a smooth push-forward map between the tangent bundles but no smooth push-forward between vector fields. Is this the pay off for not having a smooth pullback between the bundles? 
A: Observe that, from the linear algebra's point of view for any linear map $l:V\to W$ between vector spaces and a linear functional $f:W\to\mathbb R$, it makes sense to pullback it as $f\circ l:V\to\mathbb R$ without any other consideration.
