Yes, this is a classic Duplicate Content situation: more than one URL that returns the same content. Why do you have to insert the product search "route" into the URL?
You don't.
Use www.example.com/product1234 as the URL for the product itself.
Hold the category and subcategory data in your database to build the navigation on the page.
.
No problem to have pages like:
www.example.com/products/blue/left-handed/spherical/
and
www.example.com/products/left-handed/blue/
which then list those products, but the URL for the product page itself does *not* have to contain the names of the categories that were traversed to get there.