Package: src:dpkg
Version: 1.23.7
This is a version construction, where the prefix before the plus sign is
taken from the version of a binary package, and the suffix is derived
from another source package (i.e. a source package building using the
source packaged as a binary).
$ dpkg --compare-versions 2.47-2+1 lt 2.47-2ubuntu1+1; echo $?
1
Apparently, the -2 and -2ubuntu1 should be parsed as belonging to the
prefix. Is this a known thing, and working as designed, or is this
something that should/could be fixed?