Poison is only considered morally wrong because morality (conveniently) has always favoured the methods of war preferred by the economically advantaged.

In Ancient Greece the honourable method of combat was lines of shield men banging into each other until someone won. The side who could afford to field more shield men usually won.

In Medieval times knightly combat was honourable and crossbows were dishonourable, because knights could afford to spend their lives practising fighting and equip themselves in fancy armour, and then get killed by someone with a crossbow and minimal training.