If a functor between categories of modules preserves injectivity and surjectivity, must it be exact? Let $A$ and $B$ be commutative rings. Let $F$ be a functor from the category of $A$ modules to the category of $B$ modules. Suppose that $F$ preserves injectivity and surjectivity: whenever $f : X\rightarrow Y$ is an injective map of $A$-modules, we have that $F(f) : F(X)\rightarrow F(Y)$ is an injective map of $B$ modules, and similarly for a surjective map. In other words, $F$ is both left and right exact. Is $F$ necessarily exact, in the sense that it takes short exact sequences to short exact sequences? 
It seems like all of the examples of non-exact functors one usually sees ($Hom$, $\otimes$, etc.) fail to preserve either injectivity or surjectivity, so I am wondering if there are any examples which preserve both. 
 A: To amplify, let me point out that it is not even true that an additive functor that preserves epimorphisms/surjections also preserves cokernels. For example, let $\mathcal{C}$ be the full subcategory of $\textbf{Ab}$ spanned by the torsion-free abelian groups. This category, perhaps unexpectedly, is an additive category with kernels and cokernels – but is not an abelian category. Indeed, in $\mathcal{C}$, the cokernel of $2 \cdot {-} : \mathbb{Z} \to \mathbb{Z}$ is $0$, so the inclusion $\mathcal{C} \hookrightarrow \textbf{Ab}$ is an additive functor that preserves surjections but not cokernels (or even epimorphisms in general!). In fact, $\mathcal{C} \hookrightarrow \textbf{Ab}$ is even a right adjoint, and so is left exact in particular. (When I say left/right exact, I always mean a functor that preserves finite limits/colimits.) 
However, what is true is that a left exact functor $F : \mathcal{A} \to \mathcal{B}$ that preserves (normal) epimorphisms will be exact, provided $\mathcal{A}$ and $\mathcal{B}$ are both abelian. Indeed, since $\mathcal{A}$ and $\mathcal{B}$ are additive, to show that $F$ is right exact it is enough to show that it is additive and preserves cokernels. Now, it is known that a functor $\mathcal{A} \to \mathcal{B}$ that preserves finite products is automatically additive; but a left exact functor preserves finite products, so is an additive functor in particular. Consider a sequence of morphisms
$$0 \longrightarrow A' \longrightarrow A \longrightarrow A'' \longrightarrow 0$$
in $\mathcal{A}$, and suppose $A' \to A$ is kernel of $A \to A''$ and $A \to A''$ is the cokernel of $A' \to A$. Since $F$ preserves kernels, we get an exact sequence
$$0 \longrightarrow F A' \longrightarrow F A \longrightarrow F A''$$
in $\mathcal{B}$, and since $A \to A''$ is a (normal) epimorphism, we can extend the above to a short exact sequence in $\mathcal{B}$:
$$0 \longrightarrow F A' \longrightarrow F A \longrightarrow F A'' \longrightarrow 0$$
Thus, $F$ preserves cokernels of normal monomorphisms. In general, if we have a morphism $X \to A$ in $\mathcal{A}$, we can factor it as $X \to A' \to A$ where $X \to A'$ is the cokernel of the kernel of $X \to A$, and it is not hard to show that the cokernel of $A' \to A$ is also the cokernel of $X \to A$. Since $F$ preserves all kernels and also cokernels of (normal) monomorphisms, $F$ preserves this factorisation, and therefore the cokernel of $F A' \to F A$ is also the cokernel of $F X \to F A$. However, because $\mathcal{A}$ is an abelian category, $A' \to A$ itself is a (normal) monomorphism, so $F$ preserves its cokernel. Thus $F$ actually preserves all cokernels and is therefore right exact.
Dually, of course, a right exact functor between abelian categories is exact if and only if it preserves (normal) monomorphisms. This explains the classical fact that $M$ is flat if and only if $- \otimes_R M$ preserves injective homomorphisms: $- \otimes_R M$ is a left adjoint and so right exact in particular.
A: No. For example, the symmetric square functor $S^2(-) : \text{Vect} \to \text{Vect}$ preserves both injective and surjective maps, but it is not exact. 
Your assertion that $F$ is left exact if $F$ preserves injective maps is false without the additional assumption that $F$ is additive (edit: and now that I think about it may be false even with this assumption...?). It is true that if $F$ is an additive functor which is both left and right exact, then $F$ is exact. But there are several equivalent definitions of left exactness for an additive functor (between abelian categories) which are no longer equivalent if $F$ is not additive. 
