ACL with multiple CIDRs does not honor rule id
- Langage dominant
- Java
- Étoiles
- 3.1k
- Forks
- 1.4k
- Merge moyen
- 6 j 19 h
- PR mergées (30 j)
- 32
Description
### problem
If you have a CIDR list like:
rule 1: [ "1.2.3.4/32", "2.3.4.5/32"] tcp allow port 22
rule 65535: [ "0.0.0.0/0"] deny port any
What you end up with when inspecting the VR is:
```
-A ACL_OUTBOUND_eth12 -d 1.2.3.4/32 -p tcp -m tcp --dport 22 -j ACCEPT
-A ACL_OUTBOUND_eth12 -j DROP
-A ACL_OUTBOUND_eth12 -d 2.3.4.5/32 -p tcp -m tcp --dport 22 -j ACCEPT
```
This is clearly not the desired behavior.
### versions
Cloudstack 4.22.0
### The steps to reproduce the bug
See description
### What to do about it?
Don't use more than one CIDR per rule
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Reproduisez le problème en utilisant les deux règles ACL du rapport, puis inspectez la chaîne ACL_OUTBOUND_eth12 générée dans le routeur virtuel. Suivez l’ordre de plusieurs CIDRs dans une même règle et vérifiez que le DROP de la règle ne précède pas la correspondance CIDR restante ; c’est terminé lorsque tous les CIDRs de la règle d’autorisation sont évalués avant la règle suivante.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Domaine
- authorization, networking, security
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100