Hola! El gemspec pinea savon con ~> 2.15.0:
https://github.com/eeng/afipws/blob/master/afipws.gemspec
s.add_dependency "savon", '~> 2.15.0'
Como ~> 2.15.0 resuelve a >= 2.15.0, < 2.16, las aplicaciones que usan afipws quedan clavadas en savon 2.15.x y no pueden aplicar el parche de CVE-2026-53510 (Savon::Model evalúa nombres de operaciones del WSDL como código Ruby vía module_eval), que salió en savon 2.17.2.
En nuestro caso la alerta no es explotable, y me parece que para afipws tampoco: la gema usa solo el cliente normal en lib/afipws/client.rb
@savon = Savon.client savon_options.reverse_merge(soap_version: 2, ssl_version: :TLSv1_2)
y no aparecen Savon::Model ni .all_operations, que es la superficie afectada. Aun así, el pin hace que Dependabot marque la alerta en todos los proyectos que dependen de afipws y no deja resolverla con un bundle update, así que la única salida hoy es hacer dismiss o mantener un fork.
¿Les parece aflojar el pin a algo como ~> 2.15 (o >= 2.15, < 3) para permitir 2.17.x? El uso de la API de savon dentro de la gema es acotado (Savon.client, call, y el rescue de Savon::SOAPFault / Savon::HTTPError), así que no debería haber incompatibilidades.
Con gusto mando un PR si les sirve.
Gracias por la gema!
Hola! El gemspec pinea
savoncon~> 2.15.0:https://github.com/eeng/afipws/blob/master/afipws.gemspec
Como
~> 2.15.0resuelve a>= 2.15.0, < 2.16, las aplicaciones que usan afipws quedan clavadas en savon 2.15.x y no pueden aplicar el parche de CVE-2026-53510 (Savon::Modelevalúa nombres de operaciones del WSDL como código Ruby víamodule_eval), que salió en savon 2.17.2.En nuestro caso la alerta no es explotable, y me parece que para afipws tampoco: la gema usa solo el cliente normal en
lib/afipws/client.rby no aparecen
Savon::Modelni.all_operations, que es la superficie afectada. Aun así, el pin hace que Dependabot marque la alerta en todos los proyectos que dependen de afipws y no deja resolverla con unbundle update, así que la única salida hoy es hacer dismiss o mantener un fork.¿Les parece aflojar el pin a algo como
~> 2.15(o>= 2.15, < 3) para permitir 2.17.x? El uso de la API de savon dentro de la gema es acotado (Savon.client,call, y el rescue deSavon::SOAPFault/Savon::HTTPError), así que no debería haber incompatibilidades.Con gusto mando un PR si les sirve.
Gracias por la gema!