I would say this is journalese but not at all ungrammatical. I don't, personally, like the style, but I wouldn't say it is "unsauber".
Strictly speaking, I suppose the sentence is syntactically ambiguous, because needing could – theoretically – be parsed as a present participle.
This ambiguity would, perhaps, be avoided by the traditionalists' – here rather unusual and clumsy – use of a possessive before the gerund (gun sellers' needing a licence).
We are not dealing with a present participle phrase (needing a licence) modifying gun sellers but with a non-finite clause that also contains a subject (gun sellers needing a licence). This may be a bit difficult for a German speaker because a German non-finite clause (Infinitivsatz) cannot contain a subject; you might think of it as equivalent to a finite clause with dass (dass Waffenverkäufer eine Lizenz benötigen) or a nominal phrase (die Notwendigkeit einer Lizenz für Waffenverkäufer).
The sentence may be referring to de facto weapons dealers and their need to possess (rather than obtain) a licence to carry on that business, which would normally require the dealer to carry out background checks.