apache / apache/cloudstack

ACL with multiple CIDRs does not honor rule id

Ouverte
#12,668 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
component:virtual-router status:needs-reproducing
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.