Start with the sheaf of relative differentials, $\Omega_{C/S}$. Next consider the Fitting ideal $\mathcal{I}$ of $\Omega_{C/S}$ (measuring the deviation from being locally free of rank $1$). Consider the closed subscheme $C_{\text{sing},p}$ of $C$ associated to $\mathcal{I}$. By hypothesis, the projection morphism $p':C_{\text{sing},p}\to S$ is finite. Denote by $C_{\text{non-odp},p} \subset C_{\text{sing},p}$ the closed subscheme on which $p'$ fails to be unramified, i.e., the closed support of the sheaf of relative differentials of $p$. This is a closed subscheme of $C$. Since $p:C\to S$ is proper, the image of $C_{\text{non-odp},p}$ in $S$ is a closed subscheme of $S$. The open complement is the maximal open subscheme of $S$ over which $p$ has at worst ordinary double points as singularities.

**Edit.** The OP asks for further details.
The claim is that a point of $C_{\text{sing},p}$ is an ordinary double point if and only if it is not in $C_{\text{non-odp},p}$. This claim is compatible
with arbitrary base change on $S$. Thus assume that $S$ equals $\text{Spec}(k)$ for an algebraically closed field $k$, and let $x$ be a $k$-point of $C_{\text{sing},p}$. The original claim is equivalent to the claim that the Fitting ideal in $\mathcal{O}_{C,x}$ of the stalk $(\Omega_{C/S})_x$ equals the maximal ideal $\mathfrak{m}_x$ if and only if $x$ is an ordinary double point of $C$. This claim is compatible with passage to the completion of $\mathcal{O}_{C,x}$.

If $x$ is an ordinary double point of $C$, then the completion $\widehat{\mathcal{O}}_{C,x}$ is isomorphic to $k[[s,t]]/\langle st \rangle$. In this case, it is a straightforward computation that the Fitting ideal is generated by $s$ and $t$, i.e., the Fitting ideal equals the maximal ideal. So one direction of the claim is verified. It remains to prove that the Fitting ideal is strictly contained in the maximal ideal in every case that $C$ does not have an ordinary double point at $x$.

Denote by $e$ the embedding dimension, $\text{dim}_k(\mathfrak{m}_x/\mathfrak{m}_x^2)$.
Up to choosing elements in $\mathfrak{m}_x$ that map to a basis of $(\mathfrak{m}_x/\mathfrak{m}_x^2)$, there is a surjection $$q:(\mathfrak{m}_x/\mathfrak{m}_x^2)\otimes_k \mathcal{O}_{C,x} \to (\Omega_{C/S})_x.$$
Since $\mathfrak{O}_{C,x}$ is Noetherian, the kernel of $q$ is finitely generated. Let $$r:\mathcal{O}_{C,x}^{\oplus d} \to (\mathfrak{m}_x/\mathfrak{m}_x^2)\otimes_k \mathcal{O}_{C,x}$$ be an $\mathcal{O}_{C,x}$-module homomorphism whose image equals $\text{Ker}(q)$. Thus there is an exact sequence of $\mathcal{O}_{C,x}$-modules, $$\mathcal{O}_{C,x}^{\oplus d} \to (\mathfrak{m}_x/\mathfrak{m}_x^2)\otimes_k \mathcal{O}_{C,x} \to (\Omega_{C/S})_x \to 0.$$
Since tensoring with $\mathcal{O}_{C,x}/\mathfrak{m}_x$ is right exact, this gives rise to an exact sequence of $k$-vector spaces,
$$ k^{\oplus d} \to (\mathfrak{m}_x/\mathfrak{m}_x^2) \to \Omega_{C/S}|_x \to 0.$$
But, of course, the last map is an isomorphism. Thus the first map is the zero map. Thus it follows that $r$ lands in $\mathfrak{m}_x$ times the target module. In particular, choosing free bases for the domain and target of $r$, every entry of the $d\times e$ matrix representative is in $\mathfrak{m}_x$. The (stalk at $x$ of the) Fitting ideal of $\Omega_{C/S}$ is generated by the $(e-1)\times(e-1)$-minors of this matrix representative. Each of these minors is an element in $\mathfrak{m}_x^{e-1}$.

Thus, if $e\geq 3$, then the generators of the Fitting ideal are contained in $\mathfrak{m}_x^2$. By Krull's Intersection Theorem (or many other arguments), elements in $\mathfrak{m}_x^2$ cannot generate $\mathfrak{m}_x$.

Therefore assume that $e$ equals $2$. Then, using the hypothesis that the geometric fibers of $p$ are reduced and purely $1$-dimensional, it follows that the completion $\widehat{\mathcal{O}}_{C,x}$ is isomorphic to $k[[s,t]]/\langle f \rangle$, where $f\in \langle s,t \rangle^2$ is a nonzero element. Of course the Fitting ideal is generated by the images (modulo $f$) of $\partial f/\partial s$ and $\partial f/\partial t$. Thus, as above, if $f\in \langle s,t\rangle^3$, then the partial derivatives are in $\mathfrak{m}_x^2$, so that the
Fitting ideal is strictly contained in $\mathfrak{m}_x$.

A bit more precisely, if we write $f=as^2 + bst+ct^2 + g$, where $g\in \langle s,t \rangle^3$, then the image of the partials in $\mathfrak{m}_x/\mathfrak{m}_x^2$ is precisely given by the two partials of $as^2+bst+ct^2$. Via Nakayama's Lemma, the Fitting ideal equals $\mathfrak{m}_x$ if and only if these two images give a $k$-spaning set for the $2$-dimensional $k$-vector space $\mathfrak{m}_x/\mathfrak{m}_x^2$. Via the Rank-Nullity Theorem, these images are $k$-spanning if and only if they are linearly independent.
Using the standard basis $\overline{s}$ and $\overline{t}$ for this $2$-dimensional vector space, the determinant associated to these two partial derivatives is precisely the discriminant $4ac-b^2$. Thus, the Fitting ideal equals $\mathfrak{m}_x$ if and only if the discriminant $4ac-b^2$ is nonzero (as an element in $k$). This is precisely the condition that, up to a linear change of coordinates, $f=st + g$, i.e., $C$ has an ordinary double point at $x$.

In some form this argument should be available in references that study "ordinary double points", e.g., probably most references on Morse theory.

Introduction to singularities and deformations, Corollary 1.17 page 239. $\endgroup$ – Francesco Polizzi Aug 6 '13 at 8:33